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

    text

    TEXT

    holds the message to be posted. This field is mandatory.

    slides

    LIST of KEY-VALUE

    holds the attachment content

    slides:

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

    KeyData TypeValue

    type

    TEXT

    informs the type of data to be attached. In our case, the type of data is table.

    title

    TEXT

    specifies the title of the data to be attached. This field is optional.

    data

    KEY-VALUE

    holds the content of the attachment table

    data:

    KeyData TypeValue

    headers

    LIST

    contains the headers of the table

    rows

    KEY-VALUE

    specifies 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

    type

    TEXT

    type of data, in our case is images.

    data

    LIST

    specifies 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

    type

    TEXT

    type of data, in our case is list.

    title

    TEXT

    is the title of the attachment image. This field is optional.

    data

    LIST

    holds 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

    type

    TEXT

    type of data, in our case is label.

    data

    LIST

    holds 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

text

TEXT

holds the message to be posted

card

KEY-VALUE

is a themed message that can be customized. Refer this to know more about message cards.

buttons

LIST of KEY-VALUE

contains the list of buttons to be posted

buttons:

KeyData TypeValue

label

TEXT

specifies the display name of the button

type

TEXT

specifies the color of the button. "+" indicates green and "-" indicates red. This field is optional.

action

KEY-VALUE

decides 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

text

TEXT

holds the message to be posted.

bot

KEY-VALUE

holds the new sender name and profile photo

bot:

KeyData TypeValue

name

TEXT

specifies the new sender name

image

TEXT

specifies the new profile photo

The response of the above script is as follows:

Related Links

Get Started Now

Execute