Cards & Functions: An inside view into how Cliq's custom buttons work!

Cards & Functions: An inside view into how Cliq's custom buttons work!

Message cards are simple templates which can be used to customise messages. In other words, responses on triggering an integration component (commands/ bots/ message actions) can be customised as a message easily with the templates. A message card can be styled with a title, image, buttons, table and so on! Adding a button helps in making the message more interactive and also provides a call to action. 

So where does a function fit here? 

A button can be triggered to perform an action on click, only when a function is associated with it. A function is a piece of code invoked when a button action is performed. The list of attributes triggered when a function is invoked, is explained in our functions handler help page. 

Sample use case scenario: Triggering functions on /issues command execution

Tracking issues is a great way to record bugs reported in a module of a product. The /issues command for instance will get a list of issues reported under the user's name. Each issue will have a button, on clicking which more information about the issue will be displayed. 

Pro Tip: Cliq offers a variety of message cards. Check them out here . You can also try building one using our message builder

/issues command workflow 

When a user executes the /issues command, the below given workflow is triggered
  1. Command suggestion handler is triggered and shows the user a list of portals
  2. Upon selection, the suggestion handler is triggered again to show a list of projects for the user to choose from
  3. Once the portal and project is selected, the command execution handler is invoked to get the list of issues for which the user is responsible for!
  4. Clicking on a button associated with each issue will get more details about the issue and display it as a separate card for the user to see. 
Watch this tutorial video on what functions are and how the /issues command execution and response works



Sample Functions Execution Code 

  1. response = Map();
  2. if(target.get("name") == ":bug: Info")
  3. {
  4. apiid = arguments.get("key").toList("-");
  5. portal = apiid.get(0);
  6. project = apiid.get(1);
  7. ID = apiid.get(2);
  8. bugdetails = invokeurl
  9. [
  10. url :"https://projects.zoho.com/restapi/portal/" + portal + "/projects/" + project + "/bugs/" + ID + "/"
  11. type :GET
  12. connection:" insert_your_connection_name "
  13. ];
  14. response = {"text":"Details about " + bugdetails.get("bugs").toMap().get("title"),"card":{"theme":"modern-inline"},"slides":{{"type":"label","data":{{"Reported By":bugdetails.get("bugs").toMap().get("reported_person")},{"Issue Status":bugdetails.get("bugs").toMap().get("status").toMap().get("type")}}}}};
  15. info response;
  16. }
  17. else if(target.get("name") == "All Open Issues")
  18. {
  19. info arguments;
  20. apiid = arguments.get("key").toList("-");
  21. portal = apiid.get(0);
  22. project = apiid.get(1);
  23. bugdetails = invokeurl
  24. [
  25. url :"https://projects.zoho.com/restapi/portal/" + portal + "/projects/" + project + "/bugs/?statustype=open"
  26. type :GET
  27. connection:" insert_your_connection_name "
  28. ];
  29. info bugdetails;
  30. bugs = bugdetails.toMap().get("bugs");
  31. info bugs.size();
  32. if(bugs.size() > 0)
  33. {
  34. rows = List();
  35. for each  bug in bugs
  36. {
  37. row = Map();
  38. info bug;
  39. row.put("Issue ID",bug.get("key"));
  40. row.put("Assigned To",bug.get("assignee_name"));
  41. row.put("Severity",bug.get("severity").toMap().get("type"));
  42. row.put("Issue Status",bug.get("status").toMap().get("type"));
  43. if(rows.size() <= 5)
  44. {
  45. rows.add(row);
  46. }
  47. }
  48. response = {"text":"Hey " + user.get("first_name") + " !  Recently reported issues!","card":{"theme":"modern-inline","title":"Issue List:"},"slides":{{"type":"table","title":"hello","data":{"headers":{"Issue ID","Assigned To","Severity","Issue Status"},"rows":rows}}}};
  49. }
  50. else
  51. {
  52. response = {"text":"Good news. Looks like there are no open issues in this project! :grinning:"};
  53. }
  54. }
  55. return response;

The /issues command execution and suggestion code is attached as a text file. Hope this has intrigued you to try it out right away.  Comments and suggestions are welcome! 

Best,
Manasa
Cliq


      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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
          • Customer payment alerts in Zoho Cliq

            For businesses that depend on cash flow, payment updates are essential for operational decision-making and go beyond simple accounting entries. The sales team needs to be notified when invoices are cleared so that upcoming orders can be released. In contrast,
          • Accelerate Github code reviews with Zoho Cliq Platform's link handlers

            Code reviews are critical, and they can get buried in conversations or lost when using multiple tools. With the Cliq Platform's link handlers, let's transform shared Github pull request links into interactive, real-time code reviews on channels. Share
          • App Spotlight : PagerDuty for Zoho Cliq

            App Spotlight brings you hand-picked apps to enhance the power of your Zoho apps and tools. Visit the Zoho Marketplace to explore all of our apps, integrations, and extensions. In today's fast-paced world, seizing every moment is essential for operational
          • Automate your status with Cliq Schedulers

            Imagine enjoying your favorite homemade meal during a peaceful lunch break, when suddenly there's a PING! A notification pops up and ruins your moment of zen. Even worse, you might be in a vital product development sprint, only to be derailed by a "quick

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ



                                ご検討中の方

                                  • Recent Topics

                                  • Why Zoho Contracts Prefers Structured Approvals Over Ad-hoc Approvals

                                    Approvals are one of the most important stages in a contract’s lifecycle. They determine whether a contract moves forward, gets revised, or needs further discussion. The approval process also defines accountability within the organization. Zoho Contracts
                                  • Whatsapp Connection Status still "Pending" after migration

                                    Hello, I migrated my WhatsApp API to Zoho from another provider a day ago. So far the connection status is still “Pending”. There is a problem? How long does it usually take?
                                  • Kaizen #226: Using ZRC in Client Script

                                    Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                  • How to use Rollup Summary in a Formula Field?

                                    I created a Rollup Summary (Decimal) field in my module, and it shows values correctly. When I try to reference it in a Formula Field (e.g. ${Deals.Partners_Requested} - ${Deals.Partners_Paid}), I get the error that the field can’t be found. Is it possible
                                  • How to Filter timewise question to check uploaded one month or two months before in these community question ?

                                    i want to find the question that is asked some month or before any particular year, so how can i filter it ?
                                  • Proposal for Creating a Unique "Address" Entity in Zoho FSM

                                    The "Address" entity is one of the most critical components for a service-oriented company. While homeowners may change and servicing companies may vary, the address itself remains constant. This constancy is essential for subsequent services, as it provides
                                  • Workflow Down/Bug

                                    We have a workflow that sends an email to one of our internal departments 10 minutes after a record is created in a custom module. The workflow actually works correctly. However, we have now noticed that on January 8, between 3:55 p.m. and 4:33 p.m.,
                                  • Service Locations: Designed for Shared Sites and Changing Customers

                                    Managing service addresses sounds simple—until it isn’t. Large facilities, shared sites, and frequently changing customers can quickly turn address management into an operational bottleneck. This is where Service Locations deliver clarity and control.
                                  • Can I re-send the Customer Satisfaction Survey after a ticket closure?

                                    Hello, Some customers does not answer the survey right after closure, is it possible to re-send after a few days or weeks? Best Regards!
                                  • Account blocked

                                    Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
                                  • Filter contacts based on selected category in Zoho Desk ticket

                                    Hello community, I’m setting up the Tickets module in Zoho Desk and I need help implementing the following: When a category is selected in a ticket, I want the Contact field to be filtered so that it only displays contacts that are related to that category.
                                  • Mapping a new Ticket in Zoho Desk to an Account or Deal in Zoho CRM manually

                                    Is there any way for me to map an existing ticket in Zoho desk to an account or Deal within Zoho CRM? Sometimes people use different email to put in a ticket than the one that we have in the CRM, but it's still the same person. We would like to be able
                                  • Assign Income to Project Without Invoice

                                    Hello, Fairly new user here so apologies if there is a really obvious solution here that I am just missing... I have hundreds of small deposits into a bank account that I want to assign to a project but do not want to have to create an invoice every time
                                  • Tracking Non-Inventory Items

                                    We have several business locations and currently use zoho inventory to track retail items (sales and purchase orders). We were hoping to use zoho inventory to track our non-inventory items as well (toilet paper, paper towels, etc). I understand that we
                                  • Profile Page View Customization

                                    I need to change the fields, sections from the profile view of an emplyoyee.
                                  • Zoho Desk Android app update: Filter, Sort and Saved filters Enhancements

                                    Hello everyone! We are excited to introduce the below features on the Android version Zoho Desk mobile app: 1. Filter & Sort support has been introduced for the Contacts and Accounts modules. 2. Sort options is now available in Custom Modules as well.
                                  • Accessing shared mailboxes through Trident (Windows)

                                    Hi, I have a created a couple of shared mailboxes. The mailboxes are showing up on the browser based Zoho workplace, but I cannot seem to figure out how to access my shared inboxes through Trident (Windows). Am I missing something or is this feature not
                                  • Feature Request: Ability to set Default Custom Filters and apply them via URL/Deluge

                                    I've discovered a significant gap in how Zoho Creator handles Custom Filters for reports, and I'm hoping the Zoho team can address this in a future update. This limitation has been raised before and continues to be requested, but remains unresolved. The
                                  • Closing the Loop: Why Lookup Asymmetry is Harming Data Integrity in Creator

                                    TL;DR: Lookup fields allow users to add new related records inline via the "+" icon, but there's no equivalent ability to edit an existing related record without navigating away and losing form context. Adding a native "Edit" icon—with automatic User
                                  • filtering lookup field options based on information in another module.

                                    In our CRM system. We have the standard Accounts and Deals modules. We would like to introduce the ability to classify Accounts by Sector. Our desired functionality is to have a global list of all sectors that an Account can select, with the ability to
                                  • Service op locatie organiseren met Zoho FSM: waar lopen organisaties tegenaan?

                                    Bij organisaties met service teams op locatie merken we vaak dat de complexiteit niet zozeer in de planning zelf zit, maar in wat er rond die planning gebeurt. Denk aan opvolging na interventies, consistente servicerapporten, en het bijhouden van installaties
                                  • Introducing Assemblies and Kits in Zoho Inventory

                                    Hello customers, We’re excited to share a major revamp to Zoho Inventory that brings both clarity and flexibility to your inventory management experience! Presenting Assemblies and Kits We’re thrilled to introduce Assemblies and Kits, which replaces the
                                  • Does the ability exist to make tax on the customer profile mandatory?

                                    I am reaching out to inquire about the possibility of making the "Customer Tax" field mandatory when creating a new customer in Zoho. We want to ensure that all customers have their tax information recorded to maintain compliance with our internal processes.
                                  • email association with CRM

                                    Why is it 2024 (almost 2025) and Zoho has not figured out how to integrate email with CRM? It is so inconsistent at associating emails within CRM. I am an attorney. I have clients and work with other attorneys. Attorney John Doe is associated with multiple
                                  • Fix the speed

                                    It takes ages to load on every step even though my dataset is quite small.
                                  • Credit Note for Shipped and Fatoora pushed invoices

                                    We have shipped a Sales Order and created an Invoice. The Invoice is also pushed to Fatoora Now we need to create a credit note for the invoice When we try it, it says we need to create a Sales Return in the Zoho Books, we have already created a Sales
                                  • FSM - Timesheet entires for Internal Work

                                    Hi FSM Team, Several of my clients have asked how they can manage internal timesheets within Zoho FSM. Since their technicians already spend most of their day working in FSM, it would be ideal if they could log all working hours directly in the FSM app.
                                  • Add a way of clearing fields values in Flow actions

                                    It would be great if there was an option to set a field as Null when creating flows. I had an instance today where I just wanted to clear a long integer field in the CRM based on an action in Projects but I had to write a custom function. It would be
                                  • Role Management

                                    I am creating an analytics dashboard for a company that will be utilized by its various departments such as Finance, Marketing, and HR. My goal is to design the dashboard with separate tabs for each department. Additionally, I plan to implement role-based
                                  • Highlight a candidate who is "off limits"

                                    Hello: Is there a way to highlight a candidate who is "off limits"?  I would like to have the ability to make certain candidate and / or Client records highlighted in RED or something like that.   This would be used for example when we may have placed a candidate somewhere and we want everyone in our company to quickly and easily see that they are off limits.  The same would apply when we want to put a client or former client off limits so no one recruits out of there. How can this be done? Cheers,
                                  • Announcing new features in Trident for Windows (v.1.37.5.0)

                                    Hello Community! Trident for Windows just received a major update, with a range of capabilities that strengthen email security and enhance communication. This update focuses on making your mailbox safer and your overall email experience more reliable.
                                  • Early Payment Discount customize Text

                                    Hi, I’m currently using Zoho Books and am trying to customize the standard “Early Payment Discount” message that appears in the PDF invoice template. I’ve reviewed the documentation here: https://www.zoho.com/books/help/invoice/early-payment-discount.html
                                  • Deprecation of SMS-based multi-factor authentication (MFA) mode

                                    Overview of SMS-based OTP MFA mode The SMS-based OTP MFA method involves the delivery of a one-time password to a user's mobile phone via SMS. The user receives the OTP on their mobile phone and enters it to sign into their account. SMS-based OTPs offer
                                  • Zoho Sheet - Desktop App or Offline

                                    Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
                                  • DKIM Now Mandatory - Changes to Zoho Forms Email Policies

                                    Hello Zoho Forms Users, This post is to inform you about an important update regarding the authentication of all email domains in your Zoho Forms account. This year, we are doubling down on our commitment to deliver a secure, seamless, and empowering
                                  • Call description in notes

                                    When completing a call, we type in the result of the call in the description. However, that does not show up under the notes history on the contact. We want to be able to see all the calls that have taken place for a contact wihtout having to go into
                                  • Email Address for Contact not Populating

                                    When I click "Send Mail" from a Contact's page, their email address does not auto populate the "To" field. How do I make this happen?
                                  • New in CRM: Dynamic filters for lookup fields

                                    Last modified on Oct 28, 2024: This feature was initially available only through Early Access upon request. It is now available to all users across all data centers, except for the IN DC. Users in the IN DC can temporarily request access using this form
                                  • Why hybrid project management might be the best fit for you?

                                    Project management techniques are designed to equip teams with proven methods for easy and efficient project execution. While management teams may have apprehensions about adopting the hybrid method of project management, we’ve compiled the top reasons
                                  • Allow all Company Users to view all projects, but only owner/admins can change projects

                                    I was wondering if there was a permission setting I could adjust to allow all our company users to see all projects created. Then, only the project owners and admins with the change permission. Thanks
                                  • Next Page