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 #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
                                                            • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

                                                              Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
                                                            • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

                                                              Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the


                                                            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

                                                                                                              • Mass Update of Lookup Fields not possible

                                                                                                                Hello List I've created a custom field for Leads and Contacts 'Current Campaign'. This is very Handy as I can filter leads and then related them to a campaign. Everything ready, but then I realized that mass update doesn't work for lookup fields... a
                                                                                                              • Zoho CRM Kiosk Upload Files

                                                                                                                Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
                                                                                                              • Double opt-in notifications and customizable confirmation messages for your webforms

                                                                                                                Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
                                                                                                              • Has Anyone successfully integrated Zoho and Sage Intact?

                                                                                                                Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
                                                                                                              • Introducing Image Upload Field

                                                                                                                Hello everyone, In this post we will discuss about the benefits and usage of the Image upload field. The field is available for standard and custom modules.  Usage: This field can be used to upload a gallery of images to a record and share the record with peers or customers. The record can be made accessible to users outside of Zoho CRM via Portals, where they can upload the necessary images. Preview, editing, and deleting images: The uploaded images can be directly edited and saved from the record
                                                                                                              • Trigger a Workflow Function if an Attachment (Related List) has been added

                                                                                                                Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
                                                                                                              • Free webinar alert on November 19 - Email driven strategies - Master personality based styles

                                                                                                                Hello Zoho Community! Want to make email management easier, smarter, and more you? We’ve got just the session for you! Join our interactive, game-based webinar to discover how Zoho Mail adapts to your personality and work style. Learn practical hacks,
                                                                                                              • AI generated meeting notes associated to Account or Deal

                                                                                                                As our organization works to improve efficiency we are looking for a solution to leverage AI to generate meeting notes and then add those notes to a CRM record such as an Account or Deal. I see Zoho has a Notebook AI offering that talks about the ability
                                                                                                              • due date on cheue

                                                                                                                how to handle cheque in zoho books for customers and vendors including due date
                                                                                                              • Zoho CRM Portal Field Level Permission Issue

                                                                                                                Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
                                                                                                              • 'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory

                                                                                                                Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
                                                                                                              • Zoho Projects API 100 requests/2 min. Limit

                                                                                                                Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
                                                                                                              • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

                                                                                                                Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
                                                                                                              • Zoho Projects - Attachments added to Task and Bug emails are not saved

                                                                                                                Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
                                                                                                              • Zoho Inventory's latest shipping integration updates at a glance.

                                                                                                                Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
                                                                                                              • Sorting a list of record acquired from the zoho.crm.searchRecords function.

                                                                                                                This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
                                                                                                              • Zoho Inventory Custom Field Update

                                                                                                                Hello All, In this post I am describing how can we Update the Custom Field Value in Zoho Inventory. // Get Org ID orgid = organization.get("organization_id"); // Field Value resvp = ifnull(item.get("purchase_rate"),null); // Record ID iid = item.get("item_id");
                                                                                                              • Deprecation of the Zoho OAuth connector

                                                                                                                Hello everyone, At Zoho, we continuously evaluate our integrations to ensure they meet the highest standards of security, reliability, and compliance. As part of these ongoing efforts, we've made the decision to deprecate the Zoho OAuth default connector
                                                                                                              • Alphabetically

                                                                                                                How can i arrange alphabetically - (Manage Manufacturer) Field in Item Master 
                                                                                                              • Spotlight series #6: The Show app for Android TV has a new look!

                                                                                                                Hello everyone! We are delighted to introduce our revamped and redesigned Show app for Android TV.  Smart TVs are exploding in popularity. Android TV alone has over 110 million active monthly devices. Zoho Show, as part of a constant effort to improve
                                                                                                              • Can i set a default value for country and state in address field in zoho creator?

                                                                                                                Can i set a default value for country and state in address field in zoho creator?
                                                                                                              • Convert HTML to PDF & Send as Email Attachments in Zoho Creator (Deluge)

                                                                                                                This approach is useful for sending welcome letters, instructions, or promotional offers after order creation. // 1. Define the variables using the submitted input customerName = input.Customer_Name1; orderID = input.ID; customerEmail = input.Email_Address; //
                                                                                                              • Redirect after submission is not working after a few submission

                                                                                                                I have setup redirect url correctly and everything works as expected. However, it seems that there's a limit to the number of submissions before the redirect stops working. After the "limit" is reached, the page redirects to a seemingly zoho hosted page,
                                                                                                              • Enhancement Request for Multi-Asset Work Order Feature

                                                                                                                Hello Latha, Thank you for your continued support. The multi-asset Work Order feature is extremely helpful. I did some testing based on our requirements, and during the process, I noticed a few areas where we need your team’s support to improve the feature
                                                                                                              • Marketing Tip #8: Run limited-time offers

                                                                                                                Exclusive offers that don't last long make shoppers purchase right away instead of waiting. Run a flash sale or limited-time discount to convert interest into sales. Try this today: Set up a "Buy X Get Y" coupon in Zoho Commerce valid for a limited time
                                                                                                              • Add Option to Mass Dispatch by User

                                                                                                                Hello! We are using the dispatch console to dispatch service appointments to our service ressources. Right now, the process is our dispatcher verifies each ressource's route for the day and dispatches it after validation. Sadly, there doesn't seem to
                                                                                                              • Free webinar: Zoho Sign unwrapped – 2025 in review

                                                                                                                Hey there! 2025 is coming to an end, and this year has been all about AI. Join our exclusive year-end webinar, where we'll walk you through the features that went live in 2025, provide answers to your questions, and give you a sneak peek on what to expect
                                                                                                              • Zoho Projects - Email notification relabelling of modules not present on default templates

                                                                                                                Hi Projects Team, I noticed that in the default email template notification, the word "bug" was not renamed to the lable I am using in my system. As many users may used the Bugs modules for various purposes including Changes, Revisions, Issues, etc...
                                                                                                              • Include the "Added Email ID" to the Filters of a Report

                                                                                                                Hi, With a Report and lots of entries, a normal thing is to filter entries by the submitter, but that is not included in the Auto Filter of Reports and you can't add a custom filter to a Report without specifying the actual value. I would like to be able
                                                                                                              • Loops in Deluge

                                                                                                                Hi, Can someone tell me how I do a simple loop in deluge? For example, if i have a variable "X" containing a number of loops to perform, i would like to perform an action X amount of times. X = 10; do while (Y < X){       // ... do something } to further explain, the equivalent in PHP of what i am trying to acheive would be: $X = 20; for($Y = 1; $Y < $X; $Y++ ){       // ... do something } Thanks
                                                                                                              • I am facing a problem with an if-else condition

                                                                                                                If I use if, else if, and else conditions in Deluge with the same variable name, sometimes the variable causes an error because the same variable name is present in every block
                                                                                                              • Zoho Projects - Reply by email to @ mentions posted on the Feed.

                                                                                                                When mentioning someone on the Feed (Status), it would be great if that mentioned person could reply to the email notification to update the Feed thread.
                                                                                                              • Zoho Analytics Bulk Api Import json Data

                                                                                                                HI, I’m trying to bulk-update rows in Zoho Analytics, and below are the request and response details. I’d like to understand the required parameters for constructing a bulk API request to import or update data in a table using Deluge. Any guidance on
                                                                                                              • Record Overseas Transactions Along with CC charges

                                                                                                                Hi All, We receive payments via stripe in multiple currencies and stripe takes around 2.5% fees. The amount is settled in INR into our local bank. What should be the currency of the income account used for Stripe payments? Here is a sample flow that we
                                                                                                              • Product Updates in Zoho Workplace applications | October 2025

                                                                                                                Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this October. Zoho Mail Create Signature from Compose window You can now effortlessly create a Signature using the Create
                                                                                                              • Subform data to Sheets

                                                                                                                I have been trying to setup a Zoho Flow automation to bring any Subform input to a Zoho Sheets but it seems impossible to post the subform entries to a Zoho Sheet. Is there any way to do it via Zoho Sheet API? https://www.zoho.com/sheet/help/api/v2/#CONTENT-Insert-row-with-JSON-data
                                                                                                              • Edit Contact Roles in the Potentials Mod

                                                                                                                New to ZOHO so I need some help. I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project. In the Potential Mod you can pick contacts and assign a Role to them. I know
                                                                                                              • Is there a way to disable the Activity Reminders Pop-Up Window every time I log in?

                                                                                                                Just wondering if there is a setting to disable the window from opening every time I open my CRM? Thanks Chris
                                                                                                              • Hide fields only for creation

                                                                                                                Hello, I'd like to hide some fields only during the creation of a contact in Zoho CRM. In fact I have some fields that are automatically calculated thanks to an automation, so when my users create a contact I don't want them to fill those fields. I know
                                                                                                              • Rich-text fields in Zoho CRM

                                                                                                                Hello everyone, We're thrilled to announce an important enhancement that will significantly enhance the readability and formatting capabilities of your information: rich text options for multi-line fields. With this update, you can now enjoy a more versatile
                                                                                                              • Next Page