Signals overview
Signals in Bigin enable you to receive real-time notifications whenever a customer interacts with your business through different channels. This feature allows you to keep track of all customer interactions across multiple channels and follow up with them, all from your Bigin account. The use of Signals helps you stay updated on your customers' needs and enhances timely communication.
For example, when you send a business survey to gather feedback from customers and you want to know whether the customer (referred to as 'Contact' in Bigin) has viewed or clicked on the survey/form link, you need to notify that specific action taken by the contact. A real-time notification is needed for this purpose, and Signals are used to achieve this functionality.
Bigin contains two types of signals: Default signals, which can be enabled using Bigin and Custom signals, which can be created using the Bigin Developer Console.
Default signals
Default signals can be configured directly from your Bigin account. In general, these signals refer to alerts received from native integration channels like Zoho Desk and Email-In, as well as other channels such as Email, Call, and X. To enable default signals, you can choose what to be notified about by simply selecting the check boxes in the Bigin's Settings page.
For more information on how to configure default signals, refer to the Configure Signals guide.
Custom signals
Custom signals can be configured to receive notifications from any third-party application integrated and built using Bigin Toppings.
The Bigin Developer Console enables you to define custom signals by creating toppings. These custom signals can be triggered by invoking them through Custom Functions as REST APIs within a topping, as explained in detail in the following sections.
You can define custom signals using the Bigin Developer Console by following the steps below:
Creating a custom signal
Triggering custom signals
1. Creating a custom signal
To create a custom signals using the Bigin Developer Console:
Navigate to Automate > Signals. The All Signals section encompasses a table displaying the existing list of custom signals.
Click the Define Signal button, and the Create Signal section appears.
Provide a signal name and upload an icon. Signal's namespace is automatically generated based on the given signal name. The table in the All Signals section will display the Namespace <toppingnamespace_signalname> for each custom signal.
Click Save.
Additionally, you can manage custom signals that you've defined. In the All Signals section, you have the option to edit or delete these custom signals.
2. Triggering custom signals
After creating a custom signal, the next step involves triggering it using a function. In the Bigin Developer Console, you can create a custom function which can be invoked as REST API that is designed to trigger the custom signal. This setup allows you to customize how the function triggers and handles the custom signal.
When to trigger custom signals using functions:
When the third-party application in which the event occurs only allows the registration of a webhook URL in its service.
When the third-party application fails to send data back to the webhook URL in the format accepted by the Signals API.
How functions help custom signal handling:
A middleware function is required to handle the situations mentioned above. This function allows you to handle signals received from third-party applications in the following ways:
The function acts as a webhook triggered by any third-party application. It receives the webhook notifications, extracts relevant data, and prepares it for further processing.
The function needs to construct a payload suitable for triggering the desired signal for your Bigin account. The data needs to be formatted in a manner that meets the requirements of Bigin Signals API. The payload should contain necessary parameters, headers, or any other details essential for the correct interpretation and processing of the signal.
Steps to create a function that triggers a custom signal:
Step 1: Configure Bigin Connection
In the Bigin Developer Console, configure Zoho OAuth for your Bigin account by creating a new connection in the Connections section.
From the Default Connections section, choose the Zoho OAuth service.
Enter a connection name (e.g., Bigin Connection), and the connection link name will be generated automatically.
Select the ZohoBigin.signals.ALL scope to handle signals in Bigin.
Refer to the Connections guide for more information on creating connections.
Step 2: Create a function
After configuring the Bigin Connection, you should proceed to create a function, which invokes as REST API. Since this function acts as a REST API, you can trigger it from various sources, such as within a topping or from any third-party applications using its API URL. Third-party applications can call upon this REST API function as a webhook URL.
In the Bigin Developer Console, create a custom function by navigating to the Automate > Functions section.
Click the New Function button, and then enter a function name.
Choose Yes for the Invoke as REST API option in order to execute this function as an API.
CopiedsignalNamespace = <signal_namespace>; //Signal Namespace
payload = Map();
payload.put("subject","Bigin Signals");
payload.put("message","Detailed description of Signals in Bigin");
payload.put("email","support@bigin.com");
// Action Properties that will be done after clicking Signals
actionsList = List();
// Action 1
action = Map();
action.put("type","link");
action.put("open_in","tab");
action.put("display_name","Bigin Website Link");
action.put("url","www.bigin.com");
actionsList.add(action);
// Action 2
action1 = Map();
action1.put("type","link");
action1.put("open_in","popup");
action1.put("display_name","Bigin Website Link2");
action1.put("url","https://bigin.zoho.com");
actionsList.add(action1);
// Payload
payload.put("actions",actionsList);
raiseSignals = zoho.bigin.raiseSignals(signalNamespace, payload, Map(), <bigin_connection>);
The sample code snippet discusses the use of the zoho.bigin.raiseSignals() function. For more information on how to define it, refer to the Raise Signals DRE function.
Step 3: Register the webhook URL in any third-party service
After configuring the REST API function, the last step is to proceed with the registration of the webhook URL in the third-party service.
Third-party applications often provide webhook support, enabling other services to receive notifications when certain events occur within their applications. The Webhook URL registration process can be done manually if the application offers a user-friendly option.
In order to begin the registration process for the webhook URL, it is necessary to have a webhook URL. To obtain the webhook URL, navigate to the function that was created in Step 2, and click the settings icon next to the function name. Then, select the Invoke as REST API option to open the Invoke Function dialog.
To test the signal in the Sandbox, copy the Sandbox URL. For registering in a third-party application, copy the production URL, which corresponds to the webhook URL.
The sample webhook URL looks like this:
https://www.zohoapis.com/bigin/v1/functions/<topping_namespace>_<custom_function_name>/actions/execute?auth_type=apikey&zapikey=<zapikey>
For getting <zapikey>, refer to the Get ZApikey DRE function.