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

        All-in-one knowledge management and training platform for your employees and customers.







                              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 #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • 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


                                                              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

                                                                                                                • Whats that

                                                                                                                  Price?
                                                                                                                • The same Contact associated to multiple Companies - Deals

                                                                                                                  Hi, I would like to know if there is an option to associate the same contact with multiple companies (two or more) deals, using the same contact details for all. This is because we have contacts who are linked to different companies or branches of the
                                                                                                                • Portals-Adjust Column Sizes

                                                                                                                  I am trying to adjust the column widths in Portals tabs. Columns that don't need to be wide are wide and longer ones are very short. I thought adding more to the digits box in Edit would widen them, but it doesn't. Anyone know how to adjust these?
                                                                                                                • Add link/button to open approved record from approval list and detail views?

                                                                                                                  Hi, How do I allow users to click on an approval record and open that submission? For example, userA submits a quotation then userB approves/rejects. They both can see the quotation on "completed task" list & detail views, but there's no way for them
                                                                                                                • record submitted from creator and invoice is creating in books , but the workflow of books is not tiggering on create of record in books

                                                                                                                  record submitted from creator and invoice is creating in books , but the workflow of books is not tiggering on create of record in books headermap = Map(); headermap.put("X-ZOHO-Execute-CustomFunction","true"); response_inv = invokeurl [ url :"https://www.zohoapis.com/books/v3/invoices/fromsalesorder?salesorder_id="
                                                                                                                • Prevent editing of a record after getting approved/rejectedr

                                                                                                                  Hi, I'd like to block any user from editing a record after it was approved or rejected, how can I do that?
                                                                                                                • Formula Field/Campo de Fórmula

                                                                                                                  Hello everyone, I have a purchase requisition form in which each department submits a request, and the request is automatically routed to the person responsible for that department. In this form, I have several fields with the following link names: Quantidade1,
                                                                                                                • Formatting Problem | Export to Zoho Sheet View

                                                                                                                  When I export data to Zoho Sheet View, ID columns are automatically formatted as scientific notation. Reformatting them to text changes the actual ID values. For example, 6557000335603071 becomes 6557000335603070. I have attached screenshots showing this
                                                                                                                • Feature Request - The Ability to Link A Customer with a Vendor

                                                                                                                  Hi Finance Suite Team, Many businesses buy and sell products from the same companies or individuals. For example, a car sales business may buy a car from a member of the public, and that member of the public may also buy a new car from us. This makes
                                                                                                                • Long table name (sync from Zoho Creator)

                                                                                                                  Dears, How can I remove the suffix in parentheses? These tables are synced from Zoho Creator and are treated as system tables, so their names cannot be changed. This issue makes the aggregation formulas look awful.
                                                                                                                • [Free Webinar] Learning Table Series - Streamlining incident management process with Zoho Creator

                                                                                                                  Hello everyone, We’re excited to invite you to another edition of the Learning Table Series webinar. As you may already know, we've moved to a purpose-based approach in the Learning Table Series this year. Each session now focuses on how a Zoho Creator
                                                                                                                • Unattended - Silent

                                                                                                                  How can I hide the tray icon / pop up window during unattended remote access for silent unattended remote access?
                                                                                                                • Importing into Multiselect Picklist

                                                                                                                  Hi, We just completed a trade show and one of the bits of information we collect is tool style. The application supplied by the show set this up as individual questions. For example, if the customer used Thick Turret and Trumpf style but not Thin Turret,
                                                                                                                • Text snippet

                                                                                                                  There is a nice feature in Zoho Desk called Text Snippet. It allows you to insert a bit of text anywhere in a reply that you are typing. That would be nice to have that option in Zoho CRM as well when we compose an email. Moderation Update: We agree that
                                                                                                                • Marketing Tip #18: Make your online store mobile-friendly to improve traffic

                                                                                                                  Most online shoppers browse on their phones first. If your store is hard to read, slow to load, or tricky to navigate on mobile, they’ll bounce fast. A mobile-friendly store doesn’t just look nice; it improves engagement, reduces drop-offs, and helps
                                                                                                                • [Need help] Form closed. Please contact your form administrator for further assistance.

                                                                                                                  https://forms.zohopublic.com/cceinfoifly1/form/CCE2025CCEFocusGroupRegistrationForm2025Fall/formperma/s_8XcLETTbFxZ_TAS4r_W6W5UBl8o5oxEnIX35IBKg4 I checked we didn't exceed the usage limit and form availability is enabled, Please help us enable this form
                                                                                                                • Zoho People. Updating TabularData

                                                                                                                  I am trying to update tabular data in the record. I always have the same response. I have checked many times. Section ID is correct. May be something wrong with request structure itself. Can someone help me. Body content type: form urlencoded query params
                                                                                                                • Automatically CC an address using Zoho CRM Email Templates

                                                                                                                  Hi all - have searched but can't see a definitive answer. We have built multiple email templates in CRM. Every time we send this we want it to CC a particular address (the same address for every email sent) so that it populates the reply back into our
                                                                                                                • Unable to Send Different Email Templates for Different Documents in Zoho Sign

                                                                                                                  Hello Zoho Community, I am facing a limitation with Zoho Sign regarding email notifications sent to customers when a document is sent for signing. Currently, whenever I send any template/document for signing, the email notification that goes to the customer
                                                                                                                • Reminder needs 0 minute choice

                                                                                                                  I most use 0 minute reminders.  Every other calender service has this choice.  If I create an event in my Android calendar with 0 minute reminder it will change to 5 minute.  Please ad 0 as a reminder choice, this should be a 5 minute fix.  Thanks.
                                                                                                                • Customer ticket creation via Microsoft Teams

                                                                                                                  Hi all, I'm looking to see if someone could point me in the right direction. I'd love to make it so my customers/ end users can make tickets, see responses and respond within microsoft teams. As Admin and an Agent i've installed the zoho assist app within
                                                                                                                • Is there a way to update all the start and end dates of tasks of a project after a calendar change?

                                                                                                                  Hi! Here's my situation. I've built a complete project planning. All its tasks have start dates and due dates. After completing the planning, I've realized that the project calendar was not the right one. So I changed the project calendar. I now have
                                                                                                                • How to update task start date when project start date changes?

                                                                                                                  Hi there, When the start date of a project changes, it's important to update the start dates of the tasks associated with that project to reflect the new timeline. Is there a way to shift the start date of all project tasks when the start date of a project
                                                                                                                • Issue with Picklist Dropdown Not Opening on Mobile

                                                                                                                  Hello I am experiencing an issue with picklist values on mobile. While the arrow is visible, the dropdown to scroll through the available values often does not open. This issue occurs sporadically, it has worked occasionally, but it is very rare and quite
                                                                                                                • using the client script based on the look up filed i wnat to fetch the record details like service number , service rate

                                                                                                                  based on selected service look up field iwant to fetch the service serial number in the serice form how i achive using client script also how i get the current date in the date field in the on load of the form
                                                                                                                • Zoho Books/Square integration, using 2 Square 'locations' with new Books 'locations'?

                                                                                                                  Hello! I saw some old threads about this but wasn't sure if there were any updates. Is there a way to integrate the Square locations feature with the Books locations feature? As in, transactions from separate Books locations go to separate Square locations
                                                                                                                • Zoho Commerce - How To Change Blog Published Date and Author

                                                                                                                  Hi Commerce Team, I'm discussing a project with a client who wants to move from Woo Commerce / Wordpress to Zoho Commerce. They have around 620 blog posts which will need to be migrated. I am now aware of the blog import feature and I have run some tests.
                                                                                                                • Does zoho inventory need Enterprise or Premium subsrciption to make Widgets.

                                                                                                                  We have Zoho One Enterprise and yet we can't create widgets on inventory.
                                                                                                                • ZMA shows as already connected to Zoho CRM, but integration not working

                                                                                                                  When I try to connect ZMA with Zoho CRM, it shows as already connected, but the integration doesn’t seem to be working. I’ve attached the screen recording for reference.
                                                                                                                • Automatic Email Alerts for Errors in Zoho Creator Logs

                                                                                                                  Hello, We would like to request a feature enhancement in Zoho Creator regarding error notifications. Currently, Zoho Creator allows users to view logs and errors for each application by navigating to Zoho Creator > Operations > Logs. However, there is
                                                                                                                • Workflow Rule - Field Updates: Ability to use Placeholders

                                                                                                                  It will be great if you can use placeholder tags to update fields. For example if we want to update a custom field with the client name we can use ${CONTACT.CONTACT_FIRSTNAME}${CONTACT.CONTACT_LASTNAME}, etc
                                                                                                                • Password Assessment Reports for all users

                                                                                                                  I'm the super admin and looking at the reporting available for Zoho Vault. I can see that there is a Password Assessment report available showing the passwords/weak and security score by user. However I'm confused at the 'report generated on' value. Monitor
                                                                                                                • Can't change form's original name in URL

                                                                                                                  Hi all, I have been duplicating + editing forms for jobs regarding the same department to maintain formatting + styling. The issue I've not run into is because I've duplicated it from an existing form, the URL doesn't seem to want to update with the new
                                                                                                                • Setting certian items to be pickup only

                                                                                                                  How do we have some items that are pickup only? I have several items in my item's list that I do not ship. But they need to be on the website to be sold, and picked up in store. Need to be able to do this as one of these products is a major seller for
                                                                                                                • Using gift vouchers

                                                                                                                  We would like to be able to offer a limited number of gift vouchers, of varying values, to our customers, and are looking for the best way to do this. We have looked at Coupons and Gift Certificates, but neither seem to fit the bill perfectly. Coupons:
                                                                                                                • Automatically updating field(s) of lookup module

                                                                                                                  I have a lookup field, which also pulls through the Status field from the linked record. When the lookup is first done, the Status is pulled through - this works perfectly. If that Status is later updated, the lookup field does not update as well. As
                                                                                                                • Zoho Commerce and Third-party shipping (MachShip) API integration

                                                                                                                  We are implementing a third-party shipping (MachShip) API integration for our Zoho Commerce store and have made significant progress. However, we need guidance on a specific technical challenge. Current Challenge: We need to get the customer input to
                                                                                                                • Adding custom "lookup" fields in Zoho Customization

                                                                                                                  How can I add a second “lookup” field in Zoho? I’m trying to create another lookup that pulls from my Contacts, but the option doesn’t appear in the module customization sidebar. In many cases, a single work order involves multiple contacts. Ideally,
                                                                                                                • Can you import projects into Zoho Projects yet?

                                                                                                                  I see some very old posts asking about importing project records into Zoho Projects. But I can't find anything up to date about the topic. Has this functionality been added? Importing tasks is helpful. But we do have a project where importing projects
                                                                                                                • Zoho Inventory. Preventing Negative Stock in Sales Orders – Best Practices?

                                                                                                                  Dear Zoho Inventory Community, We’re a small business using Zoho Inventory with a team of sales managers. Unfortunately, some employees occasionally overlook stock levels during order processing, leading to negative inventory issues. Is there a way to
                                                                                                                • Next Page