Extension pointers #10: Define and raise a signal to receive timely notifications in Zoho CRM

Extension pointers #10: Define and raise a signal to receive timely notifications in Zoho CRM

Customer relationship management is a significant factor involved in the success of a business. When interaction with customers at all touch points is properly targeted, customers are satisfied and business flourishes. This makes it a necessity to stay updated about your customer interactions.

The Signals feature in Zoho CRM provides real-time notifications, helping you keep track of all your customer interactions from different channels in a single platform. It supports actionable alerts, so you can respond to notifications instantly and resolve them right away. Signals also enable alerts from integrated third-party apps to simplify the process of handling multiple applications. You can build customized notifications for different events and keep track of them in your Zoho CRM account.

Suppose a Zoho CRM user plans to pull their prospects from Zoho Desk, their customer support solution. Let's consider a possible scenario they might face and look at the solution.

Say that whenever a new customer/contact is added under the type "Prospect" in Zoho Desk, it is pushed into the Leads module of Zoho CRM. Once it's there, the sales rep needs to be notified that there's a new lead to process. The sales rep will also want to be able to visit the lead source page (in this case, the Zoho Desk page where the customer was created) to view the complete lead details.

In order to implement this solution, the Zoho Developer platform provides a feature called Signals. Creating a signal on the platform involves two major steps:
  • Defining a signal
  • Raising a signal
Now let's look at the steps in detail.

Defining a signal

In order to receive Signal notifications in Zoho CRM, it is necessary to create a signal.
  • Log in to Zoho Sigma, then go to the Extension Details page.
  • Expand the Automate options under Build in the left panel of the Zoho Developer console, and choose Signals.
  • Click Define Signal.

  • Enter the name for the signal and choose an icon for it. Click Save.

  • The signal is now defined and a namespace is auto-generated for it.


Registering a webhook request and raising a signal

In our example, Zoho Desk sends an alert to Zoho CRM, so it is necessary to register a webhook. The webhook posts a callback request whenever a new customer with type "Prospect" is added in Zoho Desk. The response from Zoho Desk will be handled via a REST API function. Using the response data, we can push the lead to Zoho CRM and raise a signal. Now, let's see how.

     1. Establishing a connection between Zoho CRM and Zoho Desk
  • Create a connector between the two applications.
  • Add the CreateWebhook API with the parameters specified by Zoho Desk. Learn about connectors.

API Name
Method
URL
CreateWebhook
POST

Refer to the Zoho Desk API documentation for the header and body parameter specifications of the API. 
  • After creating the connector and adding the APIs, publish and associate the connector with the extension. 
     2. Defining a REST API function and raising a signal
A webhook needs to be created to receive real-time notifications from Zoho Desk. But before creating the webhook, you need to define a REST API function that will provide the subscription URL parameter required to construct the CreateWebhook API.
  • Expand the Automate options under Build in the left panel of the Zoho Developer console, and choose Functions.
  • Provide a name for the function and choose Yes for Invoke as REST API. Click Next.
  • Enter the code for the function.

Code snippet
crmAPIRequestMap = crmAPIRequest.toMap();
request_body = crmAPIRequestMap.get("body");
data = Map();
leadsource = "";
for each item in request_body
{
payload = item.get("payload");
firstname = payload.get("firstName");
lastname = payload.get("lastName");
type = payload.get("type");
email = payload.get("email");
title = payload.get("title");
leadsource = payload.get("webUrl"); 
if(type == "Prospect")
{
data.putAll({"First_Name":firstname,"Last_Name":lastname,"Email":email,"Designation":title,"Lead_Source":"Zoho Desk"});
resp = zoho.crm.createRecord("Leads",data);
}
}
signalMap = Map();
signalMap.put("signal_namespace","desksynccrmsignal__testsignal");
signalMap.put("email",data.get("Email"));
signalMap.put("subject","New Notification");
signalMap.put("message","A new lead from Zoho Desk");
actionsList = List();
actionMap = Map();
actionMap.put("type","link");
actionMap.put("display_name","Lead Source");
actionMap.put("url",leadsource);
actionsList.add(actionMap);
signalMap.put("actions",actionsList);
//Raising a signal
sigResp = zoho.crm.invokeConnector("raisesignal",signalMap);
return "";

  • In the code snippet, the response from Zoho Desk is obtained through the input variable of "signalfunction", crmAPIRequest. The required parameters are retrieved from the response and pushed as a new lead into the Lead module if the customer type is "Prospect." A signal map variable is created and the required specifications to raise a signal are assigned to it. In our example, we have also included an actionable item, a lead source URL. When clicked, it will redirect to the Zoho Desk page of the newly created lead, indicating its source and holding its complete details. Finally, the raisesignal task is invoked in order to raise the signal whenever a new lead is created from Zoho Desk.
  • After the code is defined, click Invoke as REST API. The sandbox URL obtained is used for locally testing the functionality in the sandbox environment. Meanwhile, the production URL is used as the subscription URL while creating a webhook.

  • Close the Invoke function dialog box. Click Save & Close to save the function. 
    3. Creating a webhook
Now that we have obtained the subscription URL, let's go ahead and create a webhook. We have chosen to create a webhook during the authorization of the connector.
  • Expand the Install Actions options under Build in the left panel of the Zoho Developer console, and choose Connectors.
  • Enter the code for creating a webhook under the On Authorization tab. Click Save to Connector.

m = {"nameSpace":"xxx.desksynccrmsignal"};
apikeyresp = zoho.crm.invokeConnector("crm.zapikey",m);
zapikey = apikeyresp.get("response");
dynamic_map = Map();
dynamic_map.put("url",subscription_url);
resp = zoho.crm.invokeConnector("desksynccrmsignal.deskconnector.createwebhook",dynamic_map);

  • In the code snippet above, the subscription URL obtained from the REST API function is constructed as a parameter for the CreateWebhook API. The ZAPI key value required for the subscription URL is fetched and passed to the URL. Finally the Create Webhook API is invoked and the webhook is created. 
  • After a new customer is added to Zoho Desk with the type "Prospect," a signal is raised in Zoho CRM and the customer is added as a lead in the Lead module.

  • On clicking the notification symbol, the signal appears, along with the subject. On further clicking the SalesSignal region, the details contained in the signal are displayed along with a link pointing to the lead source.

  • On clicking the lead source link, the user is redirected to the Zoho Desk page.


You can further modify the functionality of the signal based on your business requirements. Hope you found this information useful! For more extension tips, keep following this space.



    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • 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
                                                            • Kaizen #222 - Client Script Support for Notes Related List

                                                              Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                            • Kaizen #217 - Actions APIs : Tasks

                                                              Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                            • Kaizen #216 - Actions APIs : Email Notifications

                                                              Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are
                                                            • Kaizen #152 - Client Script Support for the new Canvas Record Forms

                                                              Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner









                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

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

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Subforms in Stateless Forms

                                                                                                                Stateless Forms are very useful, but we can't build complex data entry pages without Subforms. Can this be implemented? This would make Stateless Forms truly powerful.
                                                                                                              • Custom Function not getting package details when triggered from Workflow Rules.

                                                                                                                I have a custom function for Packages that submits a form in our Creator app that we use to generate custom shipping labels (internal staff complete deliveries so we cannot generate shipping labels straight from Inventory). When the function is executed
                                                                                                              • Billing Preferences per Account

                                                                                                                Hello, We are trying to setup Billing Preferences in Zoho Desk to set up a different pricing per account. We charge different pricing per hour per customer/account. Account A = 100 per hour Account B = 125 per hour In the Billing Preferences in Time Entry
                                                                                                              • Time entry preview for custom time entry templates.

                                                                                                                Our company needed time entries in a specific format to document our client interactions. Since we are using a custom time entry layout, we have lost the "preview" on the time entry tab. Using the default time entry layout, you get a small preview of
                                                                                                              • Able to change project on timelog entries

                                                                                                                Ability to move the timesheet entry from one project to another. When a user adds a wrong entry a manager can change/update the timesheet entry to the correct project.
                                                                                                              • Knowledge base: The nitty-gritty of SEO tags

                                                                                                                A well-optimized knowledge base with great SEO can benefit your company by allowing customers to find help articles and support resources using search engines. This enables customers to quickly and efficiently find the information they need without direct
                                                                                                              • Introducing swipe actions in the Zoho CRM Android app

                                                                                                                Hello everyone, How much time do you spend each day on your list view? Probably quite a lot. Since it's such an important part of your work, wouldn't it be easier if you could take action directly from your list view instead of opening each record one
                                                                                                              • Content Security Policy

                                                                                                                Is there a place in ZOHO CRM to add a Content Security Policy to allow for a call to a google.com map, from inside our current app? Or, how do I resolve the issue below?? jquery.js:1 Refused to load the script 'https://maps.google.com/maps/api/js?v=3.41&libraries=places&sensor=true&key=AIzaSyAyQzKeKSbLci4LwZhn9oXvtCkbUo1Ae4g&callback=map_loader'
                                                                                                              • Option to select location?

                                                                                                                As a business coach, I meet with clients at various public locations. I have two or three pre-determined locations that I meet at. I would like the client to choose the location when booking an appointment. Is there a way to do that with a single service, or is the best way to accomplish this by creating one service for each location offered?
                                                                                                              • Provide a standard structure to your content using article templates

                                                                                                                Hello everyone, When multiple writers work on different documents, maintaining a standard structure can be challenging as each of the writer follows a different writing style. However, when the structure, tone, and format of every document is different,
                                                                                                              • Accessibility Spotlight Series - 1

                                                                                                                Every user interacts with products differently, what feels intuitive to one may be challenging for another. Addressing this, accessibility is built into Zoho Project's design philosophy. This helps users navigate and perform actions with ease irrespective
                                                                                                              • Projects Tasks Not Showing Dependencies

                                                                                                                I'm clicking on tasks and the popup to add dependencies isn't showing. I can't disconnect the nodes either. For some reason when I slide a task backwards it says it cannot go before a predecessor, even though there is not predecessor. Double clicking
                                                                                                              • Deprecation of C4 endpoint URLs

                                                                                                                Note: This post is only for users who are still using the C4 endpoints. Hello everyone, At Zoho Creator, we're committed to continuously enhancing the security, performance, and capabilities of our platform. As part of this ongoing effort, we'll be deprecating
                                                                                                              • Introducing AWS authentication for connections in Deluge

                                                                                                                Hello everyone, We're incredibly excited to announce the all-new AWS authentication for connections in Deluge! This highly anticipated feature simplifies connecting to Amazon Web Services, opening up a world of possibilities and allowing you to seamlessly
                                                                                                              • Customize User Invites with Invitation Templates

                                                                                                                Invitation Templates help streamline the invitation process by allowing users to create customized email formats instead of sending a one-size-fits-all email. Different invitation templates can be created for portal users and client users to align with
                                                                                                              • ListObjects is recognized by VBA

                                                                                                                Sub addNewRow() Dim ws As Worksheet ' Set your worksheet name Set ws = ThisWorkbook.Sheets("Invoice") ' Set your table name (change "Table1" to your actual table name) ws.ListObjects("InvItems").ListRows.Add End Sub I am getting Unknown function: Li
                                                                                                              • KPI Widget dashboard select periods

                                                                                                                I have a problem with selecting periods as a user filter. In the beste scenario I would like to have to have a period filter like Google Analytics has of Datastudio (see attachment). In the KPI widget I "Group by "inquiry_date" on week&Year". It selects
                                                                                                              • Need a way to secure Prefill URLs in Zoho Forms (hide or encrypt prefilled values)

                                                                                                                Hi everyone, I often use Zoho Forms with prefilled URLs to simplify the user experience — for example: https://forms.zohopublic.com/.../form?Name=David&Amount=300 However, the problem is that all prefilled values are visible and editable in the link.
                                                                                                              • Can’t send emails from Zoho CRM after adding a new user — verification codes not received

                                                                                                                Hi everyone, We recently added a new user to our Zoho CRM account and purchased an additional license. Since then, we haven’t been able to send any emails from Zoho CRM. Our Zoho Mail accounts are working perfectly, we can send and receive emails directly
                                                                                                              • CRM for email in Outlook: how to ignore addresses?

                                                                                                                We’re using the "Zoho CRM for email" add-in for Outlook. When opening an email, the add-in displays all email addresses from the message and allows me to add them to the CRM or shows if they’re already contacts. However, sometimes people listed in To
                                                                                                              • Scheduling Calls in CommandCenter / Blueprints

                                                                                                                I would love it if you could add a function to schedule a call in the lead's record for a future date. I know you can add a Task by going to Instant Actions > Task and completing the form: These tasks go into the lead's record under Open Actions. But
                                                                                                              • Quickly send emails and sync conversations with custom email addresses in CRM

                                                                                                                Editions: All editions DCs: All DCs Release plan: This enhancement has been released for customers in all DCs except IN and US. We will be enabling it for IN and US DC customers soon. [Update on 22 May 2024] This enhancement has been released for all
                                                                                                              • Zoho製品と生成AIツールの活用について

                                                                                                                いつもありがとうございます。 弊社では、Zoho Oneを契約し、CRMを軸として、見込み客の管理から商談、その後の受注や請求の管理、サポート業務(Desk)、業務データのレポーティング(Analytics)などを行っております。 Zohoサービス自体には、Ziaというツールが搭載されているかと存じますが、それ以外の外部の生成AIツールと連携した活用などもできるのでしょうか?具体的には、CopilotなどがZohoに登録されているデータや情報を見て、対話型で必要なデータを提示してくれたり、商談や蓄積されたメモなどを分析してユーザが知見を得られるような活用ができないか、と考えております。
                                                                                                              • Work with Contacts who use multiple Emails / Manage obsolete Email addresses without loosing Emails in Context

                                                                                                                Hello List Work with Contacts who use multiple Emails Only after 1 week in using Zoho CRM productively we have contacts which randomly use 2 different email addresses. From the concept I've understood that Zoho CRM offers two email fields which are recognized
                                                                                                              • New Field in CRM Product Module Not Visible in Zoho Creator for Mapping

                                                                                                                I created a new single-line field in the Products module in Zoho CRM. Zoho CRM and Zoho Creator are integrated, but the newly created field in CRM is not visible in Zoho Creator when I try to map fields.
                                                                                                              • I want to subscribe 1 professional user but the email only 250 per day?

                                                                                                                When I subscribe 1 professional user, I am only able to send 250 email per day? So less? Or is it typo, 2500 rather than 250? Any sale agent or friends can clear my doubt? Thank You
                                                                                                              • How to add a % Growth column for year-over-year comparison (2024 vs 2025)

                                                                                                                Hello, I am trying to build a monthly revenue comparison between 2024 and 2025 in Zoho CRM Analytics. My current setup is: Module: Deals (Affaires) Filter: Stage = Closed Won Date field: Closing Date Grouping: By Month Metrics: Sum of Amount for 2024,
                                                                                                              • How do you map a user picklist field to another user picklist field.

                                                                                                                In Zoho Projects, I'm trying to map a custom field (user picklist) in Task Details to a field (user picklist) in the Project Details. How do you get the two to map to each other? This is what I currently have that works for my other fields but doesn't
                                                                                                              • Explore Competitive 3D Scanner Prices at Protomont Technologies

                                                                                                                The genesis of Protomont Technologies emerged from the collaborative efforts of the founders in 2019, both the founders shoulder an enormous experience in the world of 3D Printing. Protomont Technology aims to craft your vision with creativity, empowering
                                                                                                              • New and improved API resources for Zoho Sign Developers

                                                                                                                Hello, Developers community! We know that for you, an API's real value depends on how quickly, easily, and reliably you can integrate the it with your application. That's why we're excited to talk about the recent improvements to our developer resources,
                                                                                                              • Project Approval Process Workflow

                                                                                                                Issue: When a new Project is created, there is lack of process/workflow that provides their manager a process to approve or review. Suggestion/Idea: Similar to “Workflow”, we need “Workflow” ability at Project level, where based on the criteria of the
                                                                                                              • Why can I not choose Unearned Revenue as an account on items?

                                                                                                                Hello, I do not understand why we don't have the ability to code an item to unearned revenue. It is not an uncommon situation to have in business. I understand that there is the Retainer invoice as an option, however that doesn't really work for us. Our
                                                                                                              • Rules not working properly

                                                                                                                I created a rule to display certain fields on certain states. But it seems to be not working. It hides the fields even when I selected California, (which is a state that should show the fields when selected)
                                                                                                              • Notebook font size issue

                                                                                                                If I copy something from somewhere and paste it in my notebook, the font size becomes smaller.
                                                                                                              • Sign in process is beyond stupid. I'd rather plug my phone into USB and copy files than sign in to this POS.

                                                                                                                792 clicks and fields to fill in just to get into a 3rd rate app is too stupid for me.
                                                                                                              • cant use mail API

                                                                                                                I have generate Auth token from https://accounts.zoho.com/apiauthtoken/nb/create?SCOPE=ZohoMail/ZohoMailApi&EMAIL_ID=Zoho Mail Username or Email ID&PASSWORD=Your Zoho Mail Password and get the token but when i use that token on http://mail.zoho.com/api/organization/
                                                                                                              • Ampersand in URL parameter // EncodeURL does not work

                                                                                                                Hi Zoho, I have a url link with a parameter. The parameter is including ampersand in some cases (Can be "H&M" or "P&I") When trying to use %26 instead of "&"  (the result I get using EncodeURL()) I get H%26M instead of H&M in the parameter field. How can I solve this? Thanks! Ravid
                                                                                                              • how can we create in zoho crm a new contact when the looup does not find a similar existing one

                                                                                                                In forms/integrations/zoho crm / ne w record tab, contact name is to be mapped with my form contact name. When I go in biew edit/lookup configuration, I don t get the options (help dedicated page simply repeat the same info you get in the app) and does
                                                                                                              • Directory Websites

                                                                                                                Directories are a good website category to gain search engine traffic. Directories for a professional service category as an example can help their members in search results over their individual website. It would be nice to have a directory template
                                                                                                              • Manage Task on Mobile

                                                                                                                How do we manage our task on mobile devices? It seems that there should be a standalone mobile app to handle the new task features. The new features released in regards to Task management are great by the way! Now we need to bring that all together in
                                                                                                              • Next Page