What is a Webhook trigger?
A webhook trigger is a type of trigger that allows you to start a flow when an application sends data updates via a URL endpoint. This is useful for automating tasks that need to be performed in response to events in other applications. For example, you could use a webhook trigger to start a flow when a new order is placed in your ecommerce system. The flow could then automatically update your inventory system and send a notification to the customer.
Supported Agent Platforms : Windows, Mac, Linux
Terminologies
Webhook
The mechanism of calling a URL when an event occurs. The data is sent over a specified URL on the web.
Webhook URL
The URL via which data is sent from one application to another when an event occurs.
Payload
The data received from the application via the webhook URL.
HTTP
Hyper Text Transfer Protocol. A data transmission standard that defines how servers and browsers send and interpret data.
Headers
Additional information transferred along with the HTTP request for purposes such as authorization and identification.
How does Webhook trigger work?
When you set up this trigger, a unique URL is generated by Zoho RPA. Use this to configure the settings in the third-party application or code to send data to Zoho RPA when a particular data update happens.
This trigger supports three types of data:
JSON
JavaScript Object Notation (JSON) is a lightweight data interchange format. It contains data as key-value pairs.
Example: {"name" : "Angela", "location" : "Newyork", "appointment_status" : "confirmed"},
Here "name" : "Angela" is the first key-value pair in which 'name' is the key and Angela is the value.
A set of key-value pairs representing the form field names and their values, which can be used as a part of a HTTP request.
Example: name=Angela&location=Newyork&appointment_status=confirmed
Plain text
If you select the data as plain text, the incoming data will be rendered as it is sent via the URL.
Example: Zylker
Note: Select Plain text for XML. You can further process it using a custom function.
Zoho RPA interprets the incoming data depending on the type you select. It's important that you know how your data is going to be transferred. For example, if you chose Form data and the incoming data is name=Angela&location=Newywork&appointment_status=confirmed, Zoho RPA will interpret the data as:
name : Angela location : Newyork appointment_status : confirmed
However, if you choose Plain text and the incoming data is name=Angela&location=Newywork&appointment_status=confirmed, Zoho RPA will interpret the data as:
data : name=Angela&location=Newywork&appointment_status=confirmed
In some cases, selecting the wrong data type may not trigger the flow as expected.
In the My Flows section of Zoho RPA, click + Create, then click Create flow.
Enter the flow name, and optionally include a description.
- Click Create.
- Click Configure in the Webhook trigger box.
- Your custom URL will be available. This URL is unique for each flow. Click Copy and paste it in your code or application.
- Select the format (JSON, form data, or plain text) in which the application/code sends the data to Zoho RPA, then click Next.
- Click Test to check if everything is working correctly with sample data.

- After configuring, click Done and add actions to your flow.
Using advanced settings
Once you've tested the webhook, you can access additional options to configure the trigger by clicking Advanced settings.
Tip:
- Headers hold additional information transferred along with the HTTP request for purposes such as authorization and identification.
- Suppose you have configured the same webhook URL in multiple applications or servers. Use this option to determine which app has sent the data through the URL (data from which app has triggered the flow).
Extract part of the payload
This option will selectively extract the data from within the specified object present in the received payload. Only the value of the key mentioned will be extracted and all other values will be discarded. In the example given below, the payload contains "order", the parent object, and "sale"—the nested object.
Trigger flow for each entry
With this option enabled, if the response payload has multiple objects, the flow will trigger, and execute for as many objects present in the payload.
By default, the flow will trigger for each element. For example, suppose Zoho RPA receives the data as [{"name" : "Angela", "location" : "Newyork", "appointment_status" : "confirmed"}, {"name" : "Tom", "location" : "Pasadena", "appointment_status" : "not confirmed"}] .
Here, {"name" : "Angela", "location" : "Newyork", "appointment status" : "confirmed"} is an element and {"name" : "Tom", "location" : "Pasadena", "appointment_ status" : "not confirmed"} is another element. This payload has two objects in it. The flow will trigger two times. The first execution will pass the values from the first object, the second execution with the second object, and so on.
Using variables from webhook trigger in conditions
While using Decision logic, it isn't possible to directly select a webhook trigger's output variable for the test condition. To use a specific variable from your webhook trigger, follow these steps:
- Add a Set Variable logic following the webhook trigger to create a new variable.
- Provide a name for the new variable.
- Click on the field under Value, then click on the required webhook variable from the Insert Variable section on the right.
- Click Done.
- While configuring a test condition, select the new variable you've created from the dropdown.
Frequently asked questions
Why is my flow not triggered after sending data via a webhook call?
If your flow is not triggering, or if you are receiving an
HTTP 410 error, please verify the following:
Ensure the Flow is ON: First, make sure the Flow is toggled to
ON. If the flow is disabled, it will not respond to incoming webhook calls.

Check the Webhook URL (410 Error): If you receive an HTTP 410 error, it means the URL is invalid. This usually happens if the flow trigger was changed to another type and then switched back to a webhook trigger. Ensure you have copied the most recent URL from the trigger configuration and updated it in your third-party service.

Verify the Data Type: Ensure you have chosen the correct data type (JSON, Form Data, or Plain Text) while configuring the trigger. If the wrong option is selected, the flow will not be triggered even if the data is sent successfully.
Check Payload Structure: Verify that your third-party service is passing data fields in the exact structure your flow expects. If the parameters do not match, the trigger may fail to process the request.