Choose where you’d like to start

Posting to Zoho Cliq

Description

The examples listed below illustrate the different types of content that can be posted to chat, channel, and bot in Zoho Cliq. This section also includes an example to change the username and profile picture of the message sender.

Text Message

The following script posts the message Hello in the chat window of the intended recipient.

response = zoho.cliq.postToChat("2230642502700000000","Hello");
                

(or)

response = zoho.cliq.postToChat("2230642502700000000",{"text":"Hello"});
                

where,

response
is a KEY-VALUE that represents the response message returned by Zoho Cliq
"2230642502700000000"
is a TEXT that represents the chat ID of the recipient
"text"
is the key of TEXT data type which represents the message to be posted
"Hello"
is the TEXT message to be posted

The response of the above script is as follows:

 Message Formats

The following script displays the message, Hello in the channel - DelugeChannel in bold format.

response = zoho.cliq.postToChannel("DelugeChannel","*Hello*");
                

 

The following table displays the syntax for different formats.

FormatExample
Bold
response = zoho.cliq.postToChannel("DelugeChannel","*Hello*");
                            
Italics
response = zoho.cliq.postToChannel("DelugeChannel","_Hello_");
                            
Strike
response = zoho.cliq.postToChannel("DelugeChannel","~Hello~");
                            
Quote
response = zoho.cliq.postToChannel("DelugeChannel","`Hello`");
                            
Blockquote
response = zoho.cliq.postToChannel("DelugeChannel","!Hello");
                            
Large Heading
response = zoho.cliq.postToChannel("DelugeChannel","#Hello");
                            
Small Heading
response = zoho.cliq.postToChannel("DelugeChannel","###Hello");
                            
Insert link
response = zoho.cliq.postToChannel("DelugeChannel","refer [this link](https://www.zoho.com/deluge/help/)");
                            
Horizontal line
response = zoho.cliq.postToChannel("DelugeChannel","---");
                            
Send text inside a box
response = zoho.cliq.postToChannel("DelugeChannel","```Hello```");
                            

where,

response
is a KEY-VALUE that represents the response message returned by Zoho Cliq
"DelugeChannel"
is a TEXT that represents the name of the channel in which the message will be posted
"Hello"
is a TEXT value which specifies the required message to be posted

Attachments

The various types of attachment content that can be posted are:

  1. Post a Table:

    The following script posts a message with a table to the chat window of the intended recipient.

     table_data = {
                                           "text":"New interns will be joining these teams from July",
                                           "slides":
                                           [{
                                           "type":"table",
                                           "title":"Details",
                                           "data":{
                                           "headers":["Name","Team"],
                                           "rows":[{"Name":"John","Team":"Marketing"},
                                                   {"Name":"Charlie","Team":"Sales"}
                                                  ]
                                                  }
                                             }]
                                           };
                             response = zoho.cliq.postToChat("2230642502700000000",table_data);

     

    Let us now break down the above example. To define a table, it requires you to create a nested collection.

    table_data:

    It is a KEY-VALUE variable which holds the content (a text and a table) to be posted. The below table, lists the keys and its associated values.

    KeyData TypeValue
    textTEXTholds the message to be posted. This field is mandatory.
    slidesLIST of KEY-VALUEholds the attachment content

    slides:

    Attaching contents of various types can be done using the slides key.

    KeyData TypeValue
    typeTEXTinforms the type of data to be attached. In our case, the type of data is table.
    titleTEXTspecifies the title of the data to be attached. This field is optional.
    dataKEY-VALUEholds the content of the attachment table

    data:

    KeyData TypeValue
    headersLISTcontains the headers of the table
    rowsKEY-VALUEspecifies the data to be added in the attachment table. The elements of the headers field are the keys for every KEY-VALUE element of the rows field.

    For instance, in our example, Name and Team are the elements of the headers field which acts as the keys for rows.

    The response of the above script is as follows:

  2. Post an Image:

    The following script posts a message with the text Image and an image to the channel - DelugeChannel.

     image_data = {
                                          "text":"Image",
                                          "slides":
                                          [{
                                          "type":"images",
                                          "data":[("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSz4pZuwLofV4goZVT0e2R3K5bElhWk3oMDuUgP3XT9p9d4_Tkv4g")]
                                          }]
                                         };
                             response = zoho.cliq.postToChannel("DelugeChannel",image_data);

     

    The nested collection defined for attaching an image is quite similar to that of attaching a table, except for the value of the slides key.

    slides

    KeyData TypeValue
    typeTEXTtype of data, in our case is images.
    dataLISTspecifies the address of the image to be attached

    The response of the above script is as follows:

  3. Post a List:

     

    The following example posts a message with a list of items in the channel - DelugeChannel.

     list_data = {
                                         "text":"New interns will be joining from July",
                                         "slides":
                                         [{
                                         "type":"list",
                                         "title":"Names",
                                         "data":["John","Peter","Kate","James","Hanna"]
                                         }]
                                        };
                             response = zoho.cliq.postToChannelAsAdmin("DelugeChannel",list_data);

     

    Here, the slides key is altered as follows.

    slides

    KeyData TypeValue
    typeTEXTtype of data, in our case is list.
    titleTEXTis the title of the attachment image. This field is optional.
    dataLISTholds the elements of the list to be attached

    The response of the above script is as follows:

  4. Post a labelled content:

    The following example posts a message with labelled content in the Bot - Bookaholics.

     label_data = {
                                          "text":"Books",
                                          "slides":
                                          [{
                                            "type":"label",
                                            "data":[
                                            {"Artemis Fowl": "[Artemis Fowl - PDF](https://www.readingstudios.com/uploads/5/2/4/6/52467441/artemis_fowl.pdf)"},
                             
                                            {"Charlie and the chocolate factory":"[Charlie and the chocolate factory - PDF](https://www.readingstudios.com/uploads/5/2/4/6/52467441/charlie_and_the_chocolate_factory.pdf)"},
                             
                                            {"The Book Thief": "[The Book Thief - PDF](https://www.readingstudios.com/uploads/5/2/4/6/52467441/grade9gt--thebookthiefmarkuszusak.pdf)"}]
                             
                                          }]
                                         };
                             response = zoho.cliq.postToBot("Bookaholics",label_data);

     

    Here, the value of the slides key is altered as follows.

    slides

    KeyData TypeValue
    typeTEXTtype of data, in our case is label.
    dataLISTholds a collection of KEY-VALUE, each key representing a label and value representing its attached link

    The response of the above script is as follows:

Files

The following script posts a file in the Bot - Bookaholics.

 file_object = invokeUrl
                 [
                 url: "https://www.readingstudios.com/uploads/5/2/4/6/52467441/artemis_fowl.pdf"
                 type: GET
                 ];
                 response = zoho.cliq.postToBot("Bookaholics",file_object);

 

where,

invokeUrl
fetches the file from cloud storage
file_object
is the variable that holds the file object to be posted

Note: Click here to know more about the invokeUrl task.

The response of the above script is as follows:

Buttons

The following script posts three buttons with three different functions in the chat window of the recipient - charlie@zylker.com.

buttons_data = {
                                "text":"Buttons",
                                "card":{"theme":"modern-inline"},
                           
                                "buttons":[
                           
                                { 
                                "label":"Built-in functions", 
                                "type":"+", 
                                "action":
                                {"type":"open.url","data":{"web":"https://www.zoho.com/creator/help/"} }
                                },
                                { 
                                "label":"Invoke Function", 
                                "type":"+", 
                                "action":
                                {"type":"invoke.function","data":{"name":"TicketStatus","owner":"shawn@zylker.com"} }
                                },
                                { 
                                "label":"Click here to chat", 
                                "type":"+", 
                                "action":
                                {"type":"system.api","data":{"api":"startchat/123456"} }
                                }
                               ]}; 
                 response = zoho.cliq.postToUser("charlie@zylker.com",buttons_data);

 

where,

message:

KeyData TypeValue
textTEXTholds the message to be posted
cardKEY-VALUEis a themed message that can be customized. Refer this to know more about message cards.
buttonsLIST of KEY-VALUEcontains the list of buttons to be posted

buttons:

KeyData TypeValue
labelTEXTspecifies the display name of the button
typeTEXTspecifies the color of the button. "+" indicates green and "-" indicates red. This field is optional.
actionKEY-VALUEdecides the action to be performed on button click

action:

There are three types of actions,

typedataaction
open.url{web:<web_address>}opens the page specified by <web_address>
invoke.function{name:<function_name>, owner:<function_owner>}triggers the function <function_name> which is created by <function_owner>
system.api{api:<action/ZUID>}triggers a system api like: audiocall, videocall, startchat, and invite. In our example, it starts a chat.

The response of the above script is as follows:

Customize username and profile picture of message sender

The following script customizes the username and profile picture of the message sender to Greetings and posts the message Good Morning, in the chat window of the recipient whose ZUID is 12345678.

 message = {
                            "text":"Good Morning",
                            "bot":
                            { 
                            "name":"Greetings", 
                            "image":"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSz4pZuwLofV4goZVT0e2R3K5bElhWk3oMDuUgP3XT9p9d4_Tkv4g"
                            } 
                           }; 
                 response = zoho.cliq.postToUser("12345678",message);

 

where,

message:

It is a KEY-VALUE variable that holds the content to be posted.

KeyData TypeValue
textTEXTholds the message to be posted.
botKEY-VALUEholds the new sender name and profile photo

bot:

KeyData TypeValue
nameTEXTspecifies the new sender name
imageTEXTspecifies the new profile photo

The response of the above script is as follows:

Related Links

Get Started Now

Execute