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

                                                                                                              • Inactive Items - Make Less Prominent by Default

                                                                                                                Currently, when one marks an Item as "Inactive", it really doesn't do much of anything to hide it or get it out of the way. Search and reporting within Finance should, by default, hide inactive Items from standard reports, searches, etc. If one specifically
                                                                                                              • Items should display under specific warehouse

                                                                                                                I have configured the multi warehouse but it show all the items under all warehouse which is not correct according to our business logic, so i want that items should only display under that specific warehouse not under all the warehouses not even with zero quantity. Some items should be common but not all so is there any option for that purpose so i can specific the items to its warehouse. Regards
                                                                                                              • How to calculate GST based on "Ship To Address"

                                                                                                                We into the interior designing work, providing "Works Contract Services" to our clients across India. We are registered under GST in Maharashtra state. For works contract services as per the GST rule, we need to decide place of supply based on "Ship to
                                                                                                              • I NEED TO NUMBER TO TEXT NO HERE

                                                                                                                =NUMBERTEXT NEEED
                                                                                                              • Auto-fill New Row with Previous Row Values

                                                                                                                rowsize = input.Order_Items.count(); for each row1 in input.Order_Items { rowsize = rowsize - 1; if(rowsize == 1) { row.Door_Model = row1.Door_Model; row.Door_Color = row1.Door_Color; row.Materials = row1.Materials;
                                                                                                              • When I click on PDF/PRINT it makes the invoice half size

                                                                                                                When I click PDF / Print for my invoice in Zoho Books, the generated PDF appears at half size — everything is scaled down, including the logo, text, and layout. The content does not fill the page as it should. Could someone advise what causes Zoho Books
                                                                                                              • Python - code studio

                                                                                                                Hi, I see the code studio is "coming soon". We have some files that will require some more complex transformation, is this feature far off? It appears to have been released in Zoho Analytics already
                                                                                                              • API question - adding a thread to an existing ticket

                                                                                                                Hi Is there an API function for the customer to add to an existing ticket thread? example, customer puts in new support ticket. support replies and ask for more details. customer replies with more details -what api function is used for this (will add record append to same ticket number?) Thanks
                                                                                                              • Why is Zoho Meeting quality so poor?

                                                                                                                I've just moved from Office 365 to Zoho Workplace and have been generally really positive about the new platform -- nicely integrated, nice GUI, good and easy-to-understand control and customisation, and at a reasonable price. However, what is going on
                                                                                                              • Items Below Reorder Point Report?

                                                                                                                Is there a way to run a report of Items that are below the Reorder Point? I don't see this as a specific report, nor can I figure out how to customize any of the other stock reports to give me this information. Please tell me I'm missing something s
                                                                                                              • Calendar week view: Today + 6

                                                                                                                Is there anyway to have the calendar change dynamically based on the date? Due to the amount of events, we only display a week at a time, but towards the end of the week, we can no longer see ahead to next week (without changing it manually every time).
                                                                                                              • How to restrict user/portal user change canvas view

                                                                                                                Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
                                                                                                              • Introducing parent-child ticketing in Zoho Desk [Early access]

                                                                                                                Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
                                                                                                              • How to add to Subforms via Zapier with Zoho Writer?

                                                                                                                I have the following layout for a Zoho Writer Document. As you can see there is a repeating subform taking in "Items". I am trying to make a Zapier integration with it, and I can see there is 1 field saying: "Items", but it does not specify how I'm supposed
                                                                                                              • Contrôles administratifs granulaires : un atout pour la sécurité des e-mails

                                                                                                                La moindre erreur dans votre système de messagerie peut coûter très cher à votre entreprise, tant en argent qu’en conformité et en image de marque. Pour beaucoup d’organisations, ce risque est bien réel. Les e-mails véhiculent quotidiennement des informations
                                                                                                              • Collections Management: #6 Realign Customers who gets back In-Term

                                                                                                                Arun stared at the subscription list on his dashboard. Another account had just been moved to Cancelled status after completing the whole dunning process. Nothing unusual, just that payment failures happen, retries fail, and cancellation is the expected
                                                                                                              • Zoho Mail IP Blacklist

                                                                                                                I need problems with send mails: Error: junk mail rejected - sender4-op-o10.zoho.com 136.143.188.10, is in RBL. Spamcop. Please remove FQDN for blacklist. Regards.
                                                                                                              • I can receive but not send emails

                                                                                                                Hello, I've been not able to send emails for almost a year now. I been using alternate email to do this. I want to know how to fix this so I can use my zoho account normally again.
                                                                                                              • The challenge of 24/7 connectivity: Being present and meeting customer expectations

                                                                                                                Before television entered our homes, radio was our window to the world. We had to tune carefully to catch voices from distant places. When television arrived, the world began to grow smaller. We can watch rocket launches, see the goal that wins our favorite
                                                                                                              • How to download all attachments from inbox, send, other folders in one go

                                                                                                                Hi All, Appreciate if anyone could help me with steps for below requirement. How to download all attachments from inbox, send, other folders in one go. Even mapping to new folder will help me. Thanks in advance.
                                                                                                              • Cannot connect mail accounts to Thunderbird

                                                                                                                Hi Support - I'm attempting to add my mail accounts to Thunderbird but I'm getting an unable to login to server error. I tried to use the password associated with my account I received the unable to login error. So I went into Zoho Accounts and generate
                                                                                                              • Alias Email Id already exists

                                                                                                                Hi, I just verified my domain sesque (dot) com and now I am trying to create the admin account using admin (at) sesque (dot) com, but I am getting an error saying "Alias Email Id already exists". I used to have another Zoho account with this email address,
                                                                                                              • Unable to connect to smtp server, connection timed out

                                                                                                                Hi Team, I am facing below issue, while sending out emails from thunderbird client. It used to work, facing this issue from morning. Error: Sending of the message failed. The message could not be sent because the connection to Outgoing server (SMTP) smtp.zoho.com
                                                                                                              • javax.mail.authenticationfailedexception 535 authentication failed

                                                                                                                Hi, I am facing 535 authentication failed error when trying to send email from zoho desktop as well as in webmail. Can you suggest to fix this issue,. Regards, Rekha
                                                                                                              • DKIM Verification Failed (Namecheap)

                                                                                                                Hi! I have already set up the TXT records in Namecheap but I keep getting the "Verification Failed" pop up. Was wondering if I'm the only one who has this problem and can anyone help me with this? Thanks!
                                                                                                              • Emails stuck in Queue

                                                                                                                Hi there, Since yesterday I have a few out going emails stuck in a queue. It say it will auto retry sending however nothing is happening. It seems to be affecting roughly 50% of my outgoing emails. Please help Thanks
                                                                                                              • Soft Bounce from transational emails from BREVO (Sendinblue)

                                                                                                                I manage the website of a client who uses your EMAIL service for the domain floranativadobrasil.com. And I use the BREVO email service, previously called SendinBlue, to send transactional emails about events specific to the website. All emails sent to
                                                                                                              • Ability to Edit YouTube Video Title, Description & Thumbnail After Publishing

                                                                                                                Hi Zoho Social Team, How are you? We would like to request an enhancement to Zoho Social that enables users to edit YouTube video details after the video has already been published. Your team confirmed that while Zoho Social currently allows editing the
                                                                                                              • Getting an error Address not found Your message wasn't delivered

                                                                                                                Hey, I'm trying to configure zoho mail for my website https://businessentity.org/ The email is meredith.karter@businessentity.org I'm able to successfully send the mails but when someone sends an email to above mail, this error shoots up: Address not
                                                                                                              • Support Uploading YouTube Videos Longer Than 60 Minutes

                                                                                                                Hi Zoho Social Team, How are you? We would like to request support for uploading YouTube videos longer than 60 minutes directly through Zoho Social. Your support team informed us that Zoho Social currently cannot upload videos over 60 minutes due to “API
                                                                                                              • Need Faster Help? Try Live Chat Support

                                                                                                                Hello there, We understand that sometimes, whether you’re facing an issue, exploring a feature, or need quick clarification, sending an email and waiting for a response just doesn’t cut it. You need answers, and you need them now. That’s exactly why we
                                                                                                              • Can't deactivate Spell Check

                                                                                                                Hi Community, right now I'm using the Zoho Mail Desktop-Software. So far, so good.. many possibilities. Overall very nice. What is extremely annoying right now, is that we are not able to deactivate the Spell Check feature. And we are barely able to focus
                                                                                                              • Zoho Toolkit Email Signature Generator

                                                                                                                I'm having real issues with the email signature generator with no matter where I host the photo, Zoho doesn't seem to show the photo on the link provided?
                                                                                                              • Company Policy Upload - Request All EE to review and sign

                                                                                                                How can I upload policies into Zoho People and have the employees review them and sign off saying they agree, etc.? Also, if I make a revision to a policy, I would like that changed or updated policy to be distributed or have the employees notified that
                                                                                                              • Zoho Sign Global Settings vs. Template and Document

                                                                                                                Hello, We are running into an issue on a current use case. We already use Zoho Sign. Now that KBA is available, we want to begin using it in our tax delivery process, by allowing clients to sign electronically, but also download a copy of their return
                                                                                                              • Zoho Mail Desktop Crashes on Linux - Ubuntu 24 LTS

                                                                                                                Hi, I have been trying to run the desktop app on Ubuntu for the past few day with no luck. I have tried both the .deb package and the appImage. When I attempt to open the app. It just crashes immediately. The crash error dialog appeared once and I cant
                                                                                                              • Can't login to Zoho mail

                                                                                                                I'm logged into Zoho but when I try to go in zoho mail I get: Invalid request! The input passed is invalid or the URL is invoked without valid parameters. Please check your input and try again. I just set up my mx records and stuff with namecheap a few
                                                                                                              • Zoho IP blocked by SpamCop

                                                                                                                Hi, Many of my emails are blocked and I receive this:  INVALID_ADDRESS, ERROR_CODE :550, ERROR_CODE :spamcop.mimecast.org Blocked - see https://www.spamcop.net/bl.shtml?136.143.188.51. - https://community.mimecast.com/docs/DOC-1369#550 [DGwIYPPSOfWI
                                                                                                              • Differences between Zoho Books and Zoho Billing

                                                                                                                Without a long drawn out process to compare these. If you were looking at these Books and Billing, what made you opt for one and not the other. Thanks
                                                                                                              • Server error when trying to Data > Sort > Custom Sort

                                                                                                                Been using Data > Sort > Custom Sort for a while, now it has suddenly stopped working. When selecting the same data range and trying to execute, I get "Sorry! There was a problem saving your last edit. Please try again."
                                                                                                              • Next Page