Hello everyone!
Welcome back to another week in the Kaizen series!
This week, we will discuss Signals in Zoho CRM.
What are Signals in Zoho CRM?
One of the most important aspects of any business is staying on top of customers' needs and understanding how they use the product, their pain points, what they look for, etc.
Now, customers have multiple channels by which they communicate with your company. From visiting your website to filling up surveys, from raising support tickets to posting on X and Facebook, customers get in touch with several people from various departments in your organization. So, it is difficult for a relationship manager to stay on top of all these channels.
Signals allow you to get real-time notifications of various customer touchpoints across multiple channels. What's more? you can get all the information in your Zoho CRM account!
For example, if you have sent out a survey, you can raise a signal in CRM when users respond. If someone created a ticket in Zoho Desk, you can view it in CRM.
Default Signals
Zoho CRM has native integrations with many other Zoho products. A few of these such as Zoho PhoneBridge, Zoho Survey, Zoho Campaigns, Zoho SalesIQ, Zoho Desk, Zoho Webinar, and Zoho Backstage have default signals configured for each of these services.
You can simply enable or disable them from the Manage Signals page under Setup > Channels > Signals.
When you have turned on these signals, when an event occurs in one of these services, you will receive a notification in your CRM account. To know how each notification looks upon receiving, refer to View Signals. Custom Signals
When you use a third-party application, and want to raise a signal in Zoho CRM when an event occurs in the third-party app, you must create a custom signal.
You can disable this signal anytime from the Manage Signals page under Setup > Channels > Signals > Manage Signals.
How can you Raise/Trigger Signals?
There are three ways you can raise a signal:
- Through an API
- Using Zoho Flow
- Through a function
Let us see when to use each of these methods.
1. Raising a signal through an API
You must choose this method when:
- The third-party allows you to make a POST request with the details of the event and supports the OAuth2.0 authentication.
- The third-party allows you to customize the way it sends the data in the callback. Refer to this page for more details.
2. Raising a signal through Zoho Flow
Zoho Flow is an integration platform that allows you to automate workflows and connect various applications, including Zoho CRM. Using Zoho Flow to raise a signal in CRM can be beneficial in certain scenarios, particularly when you want to automate processes, trigger event-specific actions, or integrate CRM data with other applications.
3. Raising a signal through a function
You should use a function to raise a signal when:
- The third-party application (in which the event occurs) allows you to only register a webhook URL in their service.
- The third-party application does not send the data back to the webhook URL in the format that the Signals API accepts.
We will discuss this method in this post.
Sample use case for raising a signal through a function
Let us consider the example where you create a survey in Typeform and users respond to it. When they do, you want to raise a signal in Zoho CRM. Let's see how this works.
- Create a survey in Typeform. This form has a form ID. You will also get an API key.
- Create a function in Zoho CRM of the type Signals that has the logic for the following:
a. Triggering the API to get the details of the form you sent out through Typeform.
b. Parsing the data you got from Typeform API and constructing the pay load to trigger the signal.
c. Raising the signal using the built-in raisesignal integration task. This eliminates the need for a connection. - Enable REST API for this function to get the webhook URL.
- Register this webhook URL in Typeform. This means that you want Typeform to trigger this function whenever a survey is answered.
- Create a custom signal in Zoho CRM.
- Choose "Function" for the Trigger Function via drop-down.
- Choose the function that has the logic to raise the signal and whose webhook URL is registered with Typeform.
So, whenever a survey is answered, the user in CRM gets a notification of the same. You can choose to view the signal either in the default view or add a widget of your choice. You can configure this while creating a signal.
Here is the function code that uses the raisesignal integration task and raises the signal.
namespace = "typeform_typeform"; sub = "Sample Poll Results"; email = "email_id_here"; signalMap = Map(); signalMap.put("signal_namespace",namespace); signalMap.put("email",email); signalMap.put("subject",sub); mess = crmAPIRequest.get("body"); formId = mess.get("form_response").get("form_id"); token = mess.get("form_response").get("token"); authMap = Map(); authMap.put("Authorization","Bearer tfpxx9PQ"); response = invokeurl [ url :apiUrl type :GET headers:authMap ]; selectedOption = response.get("items").get(0).get("answers").get(0).get("choice").get("label"); signalMap.put("message","Selected Option :: " + selectedOption); result = zoho.crm.invokeConnector("raisesignal",signalMap); info result; |
Logic
- Construct a map that takes the signal's namespace, email ID of the user you want to notify(raise the signal), and the subject of the signal.
- Make an API call to Typeform to get the details of the survey.
- Use the crmAPIRequest object to get the details from the response body of the Typeform survey. This includes the fields "choice", "answers", "label" from the form.
- Provide authorization details. This should be the API key from the third party.
- Construct a map with the survey fields and pass it to the raisesignal integration task. This triggers the signal.
Here is the custom signal that is created for Typeform.
Here is a gif of the signal.
To view function's execution,
- Go to Setup > Developer Space > Functions > "Your Function".
- Click the three-dot icon and select Logs.
- Click one of the executions. You will get the details.
We hope you found this post useful. Let us know your feedback. Get in touch with us at support@zohocrm.com.
Cheers!