Cliq Bots - Get notifications about any action on an application with the incoming webhook handler!

Cliq Bots - Get notifications about any action on an application with the incoming webhook handler!

Webhooks can be used to get notified about events happening in other applications inside Cliq. All bots in Cliq have their own incoming webhook endpoint. This makes it simple to post messages to the bot from external applications. Unlike the send message (/message) REST API, here any data can be posted to the endpoint which is further processed in the incoming handler before notifying in Cliq.

The incoming webhook allows third-party applications to send notifications/alerts using the incoming webhook URL. These responses mostly received as a JSON can be then customized using Cliq's message card templates. The incoming webhook URL of the bot should be configured with the application's outgoing webhook. 

Incoming webhook handler workflow 

The bot's incoming webhook URL will receive the request response from the third party application's URL. The response of the request will be obtained in the body attribute. Take a look at all the attributes passed when a bot's incoming webhook handler is executed in our help page

A pictorial comparison between how Rest APIs and incoming webhooks work is shown below!
Now that we've got the concept of webhooks cleared, let's start off by creating a simple bot's webhook handler. Take a look at the sample scenario given below.

Sample Scenario 

Your support team uses Zendesk to take care of customer queries and keep track of tickets. The team also uses Cliq for internal team communication. So how can you make sure all support reps are notified in Cliq when a new ticket with a high priority has been created? Here's what you can do - create a Support Bot! 

Before we start, this is an integration by parts. Which means that you have to configure the webhook in Zendesk and format your response in Cliq. 

Cliq's part in the integration:  

Creating a bot in Cliq is just a three-step process. All you've to do is, 
  1. Click ' Settings ' in Cliq's top nav bar. 
  2. Select ' Integrations '.
  3. Once you're on the Integrations page, click ' Create Bot ' and give your bot a name, description, status, access level and image! 
Now, to set up the incoming webhook handler of your bot :
  1. Saving the bot will take you to the ' Edit Handlers ' page. Or you can navigate to the edit handlers page from the bot's preview.
  2. Click ' Edit Code ' under the bot incoming webhook handler. 
  3. Write your code in the deluge editor (once you set up the JSON body in Zendesk), click save and done! Take a look at the sample code snippet given below:
  1. // Incoming Webhook Handler Code Snippet 
  2. response = Map();
  3. title = body.get("title");
  4. priority = body.get("priority");
  5. description = body.get("description");
  6. url = body.get("url");
  7. id = body.get("id");
  8. status = body.get("status");
  9. assignee = body.get("assigned_to");
  10. response = {"text": "A new ticket has been created. The ticket details are given below: \n Ticket Name: " + title + " \n Description:" +description+   "\n Priority: `" + priority+ "` \n Ticket ID:" +id+ "\n [Ticket URL](https://" +url+ ") \n Status: " +status+ " \n Assigned To: " +assignee };
  11. return response;
To be done in Zendesk

Create a Target: 
  1. Create an extension. To do so, click 'Extensions' under 'Settings' 
  2. Click 'Add Target' under the targets tab. 
  3. Click 'HTTP target' and give a name, URL, method. 
  4. Give your bot's incoming webhook URL along with the zapikey parameter. Take a look at how to create a zapikey  here
  5. Set your HTTP method as POST. 
  6. Select 'Create Target' and click Submit. 
Sample Bot Incoming Webhook URL:

That's it! Your extension has been created.

Create a Trigger:

The next action is to create a trigger. Triggers are automated rules that work based on predefined conditions. 
  1. Navigate to the Triggers tab and click ' Add Trigger '
  2. Give the trigger a name, description and set a condition. Take a look at the sample condition used for the example shown below. 
  3. Under Actions, select ' Notify Target ' and select your target name. 
  4. The JSON body will contain the ticket details. Modify this to suit your team's requirements. Here's a sample code snippet for the JSON body.
  5. Click Save! 
Sample Trigger Code Snippet:

  1. {"title":"{{ticket.title}}", 
  2. "description" : "{{ticket.description}}", 
  3. "priority":"{{ticket.priority}}",
  4. "url": "{{ticket.url}}",
  5. "id":"{{ticket.id}}",
  6. "status":"{{ticket.status}}",
  7. "assigned_to":"{{ticket.assignee.name}}"
  8. }
Now creating a ticket with a priority set as Urgent  will notify all the support reps in Cliq via the Support Bot!

Take a look at how the Zendesk Ticket will be notified in Cliq via the Support Bot : 

Ticket in Zendesk 




Support Bot notifying in Cliq



And that's how easy it is to configure a bot's incoming webhook handler. Comments and suggestions are welcome. 

Few useful links:




Best,
Manasa
Cliq




    • Sticky Posts

    • Automating Employee Birthday Notifications in Zoho Cliq

      Have you ever missed a birthday and felt like the office Grinch? Fear not, the Cliq Developer Platform has got your back! With Zoho Cliq's Schedulers, you can be the office party-cipant who never forgets a single cake, balloon, or awkward rendition of
    • Convert a message on Cliq into a task on Zoho Connect

      Message actions in Cliq are a great way to transform messages in a conversation into actionable work items. In this post, we'll see how to build a custom message action that'll let you add a message as a task to board on Zoho Connect. If you haven't created
    • Cliq Bots - Post message to a bot using the command line!

      If you had read our post on how to post a message to a channel in a simple one-line command, then this sure is a piece of cake for you guys! For those of you, who are reading this for the first time, don't worry! Just read on. This post is all about how
    • Cliq Bots - How to make a bot respond to your messages?

      Bots are just like your buddies with whom you can interact. They carry out your tasks, keep you notified about your to-dos and come in handy when you need constant updates from a third party application.  So, how can you make your bot respond to a message? The bot message handler is a piece of code triggered when a message is sent to the bot. Message handlers help you customise your bot responses to make it look conversational. The message input from the user can be either a string or an option selected
    • Cliq Bots - Get notifications about any action on an application with the incoming webhook handler!

      Webhooks can be used to get notified about events happening in other applications inside Cliq. All bots in Cliq have their own incoming webhook endpoint. This makes it simple to post messages to the bot from external applications. Unlike the send message
    • Recent Topics

    • Automatic Sitemap Generation

      Guys are all right? Doesn't make sense for me to have to generate a map site and upload it... because it's not automatically generated just as it is done in WIX? where the customer doesn’t have to worry about this.
    • SEO improvements with ZIA

      Are you okay? I would like to bring an idea that would be amazing to improve the product that is the possibility of being able to improve the SEO of the pages (this of each page or each article on the blog) through ZIA so that it could create page Summary
    • Automatically updating field(s) of lookup module

      I have a lookup field, which also pulls through the Status field from the linked record. When the lookup is first done, the Status is pulled through - this works perfectly. If that Status is later updated, the lookup field does not update as well. As
    • Initiating a SalesIQ Zobot from a custom button on Zoho Sites

      I have created a Zobot set to initiate on a custom action called "Fast_Answers". On Zoho Sites, I created a code snippet button and set it to on-click run the event called "Fast_Answers". I installed the SalesIQ integration code into the Zoho Sites Page
    • Zoho Desk -> Zoho Analytics : Where is the field for "Layout" ?

      I have many different layouts on my helpdesks and I want to be able to identify the stats for each one, however I can not file the field in the raw data from the Zoho Desk datasource. I thought it might be under "Tickets" but there is nothing. There is
    • Set resolution mandatory field

      Hi,  i have 2 questions:) : - i want to set the resolution field mandatory before close the ticket. Because for now, i can close the ticket without writing how i solve it - how can i setup zoho desk to receive ticket by email(e.g. clients sent email to support@mydomain.com) and it create a ticket in zoho desk
    • Zoho Assist "Agree and Download" Button "Greyed Out" ("Light Blued" Out)

      Anyone else having issue where support clients are unable to click "Agree and Download" to access the client so that we can provide remote support? This is for "on demand" support via accessing the support page and entering the support key and name. This
    • Project Billing with the Staff Hours Method in Zoho Projects

      The Staff Hours Billing Method in Zoho Projects allows you to bill your clients based on the actual time spent by each team member on a project, at the rate set for each user. This is useful for projects where different skill sets are needed and service
    • Creator Subform to CRM Subform

      Hello all, Has anyone successfully written data from a Creator Subform into CRM subform? I have a Creator form that once submitted creates a new Location in the CRM. Inside a Location there is a subform for hours of operation. I collect those hours in
    • custom fields not populating from deluge script into invoice

      Hello, I've created some Deluge script that is meant to take a few inputted invoice custom fields and calculate a few others. I can see when I execute the function that my inputted custom fields are being passed, yet im still ending up with all "null"
    • tax summation function - getting error

      Hello, I'm trying to create a function that adds all of individual tax rates from a few jurisdictions. I'm getting an error on line 9 - Value is empty and 'get' function cannot be applied. I've checked that I have data in each of the required fields,
    • Backstage / Zoho Books integration

      Hello. We have Zoho One and have slowly started using Backstage. Loving it. Problem is, we have ZERO accounting control over what is sold through this product. When will we be able to connect it to our existing Zoho Books tenant? Thank you very much!
    • Getting list of calendar events over api for zoho mail calendar

      Hi, I am using just Zoho mail without using Zoho CRM. I wanted to get all events booked in my zoho mail calendar through an api at regular intervals. I could find such API support for Zoho CRM calendar but not for zoho mail calendar. Can you kindly let
    • Allocate emails to user in a shared mailbox

      Hi, This might be obvious, but I cannot find the answer. I have 3 shared mailboxes so any team member can see the emails. Is there a way of allocating a specific email to a user so that it is their responsibility to deal with it? Thanks in advance.
    • Introducing Zoho Campaigns' own gateway for SMS campaigns

      We are excited to announce the launch of our SMS Gateway to send SMS through Zoho Campaigns. We have also made a few other changes in our current SMS Campaign model to improve your over all user experience. These updates are planned with an aim to expand
    • Update a lookup field in CRM from Creator using deluge

      I have a Creator form that creates a new account. When it creates the new account in the Accounts Module, I need it to also populate the Parent Account, which is a lookup field coming from the Module Parent Accounts, field Parent Account Name. I have
    • SMS Keyword Tracking in Zoho CRM From Zoho Campaigns

      Is there a way to track SMS leads in campaigns by associating them with specific keywords or codes? Additionally, can these leads be pushed to the CRM while retaining the keyword for tracking and reporting purposes?
    • Projects Multiselect API

      Having troubles setting a mutli select field via API. updateMap = map(); updateMap.put("UDF_MULTI1","picklist_id1,picklist_id2"); updateProjectRes = invokeurl [ url :"https://projects.zoho.com/restapi/portal/XXXX/projects/" + projectID + "/" type :POST
    • Bill quantity received / PO quantity

      PO's are raised & often the quantity received is greater than the PO quantity, so when we receive the bill & adjust the quantity on the bill we get.... Quantity recorded cannot be more than quantity ordered. This necessitates the adjustment of the PO
    • ZOHO BOOKS - RECEIVING MORE ITEMS THAN ORDERED

      Hello, When trying to enter a vendor's bill that contains items with bigger quantity than ordered in the PO (it happens quite often) - The system would not let us save the bill and show this error: "Quantity recorded cannot be more than quantity ordered." 
    • Unused items should not count into the available number of custom fields

      Hey, I realized that unused Items reduce the number of available custom fields. I can't see a case where that makes sense. Especially in our case where we have two different layouts in Deals with a lot of different fields, this causes problems.
    • Introducing Bot Filtering for Accurate Email Campaign Analytics

      Dear Marketers, We're excited to announce a new feature designed to enhance the accuracy of your email campaign analytics: bot filtering. This feature helps you filter out bot-generated opens and clicks, ensuring your campaign reports reflect genuine
    • Tip 37: Time Log Restriction in Zoho Projects

      Timesheet in Zoho Projects helps you big time in entering log hours for the tasks and issues and approving them. Now, with the new Time Log Restriction option, you can set daily and weekly log hour limits. You can restrict users from entering extra log hours than the permissible limit. The limits are restricted to 24 hours per day and 168 hours per week by default based on business hours. To customize, navigate to Task & Timesheet settings under Portal Configuration in Zoho Projects setup and enable
    • Chart showing schedule

      I want to be able to create a chart for everyday to check and which of which driver is available on the timeframe. Here's my table Name City Day Start Time End Time Driver1 Medicine Hat Monday 11:45 AM 4:45 PM Driver 2 Medicine Hat Tuesday 11:00 AM 7:00
    • Multiple Vendor SKUs

      One of the big concerns we have with ZOHO Inventory is lack of Vendor Skus like many other inventory software packages offer. Being able to have multiple vendor skus for the same product would be HUGE! It would populate the appropriate vendor Sku for
    • Zoho Payroll in France

      When will Zoho Payroll be available in France ?
    • Blueprint - 'On hold' state with an automatic transition?

      I think I'm missing something here so I'm hoping if I explain what I'm trying to achieve someone might be able to give me a way around it. We sometimes get request far in advance but we don't want to action them unless it is 7 days from when they are
    • HOW TO VIEW INDIVIDUAL COST OF NEWLY PURCHASED GOODS AFTER ALLOCATING LANDED COSTS

      Hello, I have been able to allocate landed costs to the purchase cost of the new products. however, what i need to see now is the actual cost price (original cost plus landed cost), of only my newly purchased products to enable me set a selling price
    • Calculate months and years between 2 dates on subform

      I am looking for a function syntax for an employment candidate to calculate the number of years and months (decimal format. eg 1.2 years) they are employed. I have their start date entered, but if the end date is blank, that tells me they are still employed
    • Combine related grouping values into categories in CRM analytical components

      Hello everyone, Analyzing large datasets can be challenging when dealing with numerous individual data points. It's often difficult to extract meaningful insights when information is scattered and ungrouped. To address this, we're adding options to create
    • How Kiosk Studio can simplify sales for bank employees | Kiosk Studio Session #4

      Hello everyone, Banks can boost revenue by cross-selling to their current customers. For example, they can sell credit cards, personal loans, and more to existing account holders. To do this, bank employees move all around the CRM, open and close records,
    • Tip #19 - Create checkbox tracker in your spreadsheet

      Hello Sheet users! We are here with yet another tip to help you get the most out of Zoho Sheet. Spreadsheets can be used to handle a variety of tasks, but ever tried using checkboxes to track the progress of your action items dynamically? Here's a sample
    • Integrate Oracle with ZOHO CRM

                           Please let me know if its possible to Integrate Oracle with ZOHO CRM. If yes then help me in doing it. 
    • UUIDs

      Has anyone coded a Universal Unique Identifier (UUID) generator in Deluge?
    • Introducing signer groups: Streamline signature collection and make it even faster

      Hello everyone, We're excited to introduce signer groups, a feature designed to make your signing process quicker, more efficient, and collaborative. With signer groups, you can send an envelope to a group of people, and any member of the group can open
    • Calendar - Recurring Event - End of Month and Last Weekday of Month

      How do I set a calendar event to recur on the last day of every month? How do I set a calendar event to recur on the last weekday of the month?
    • Duplicate Zoho Invoices and Sales Receipts

      We have been running into an issue where upon saving an invoice or a sales receipt, we get a duplicate: same information saved twice but with a different invoice id/number and sales receipt id/number. I have logged a ticket but so far no response. It
    • Introducing revamped Zoho Creator Developer Console—a powerful platform for developing and distributing apps

      Hello everyone! We're thrilled to announce the launch of the revamped Zoho Creator Developer Console—a dedicated platform designed specifically for Creator developers and Partners to build, test, and distribute apps to your clients. Developer Console
    • Phone App of CRM doesn't find contacts

      I open the crm to and do a contact search but nothing comes up. If I do a full zia search it will find an old note that is attached to a contact and I can open the contact. BUT I still can't enter notes of calls, set appointments, etc. It requests I go
    • [Product Update] Deprecation of 'Inbound Transport Details' module in Zoho Analytics - Amazon Seller Central integration

      Dear Customers, Please be informed that the Amazon Seller Central will be deprecating the 'Inbound Transport Details' module APIs effective December 20, 2024. As a result, this module will no longer be supported in the Amazon Seller Central - Zoho Analytics
    • Next Page