Actions - Get Webhooks
Purpose
Retrieve all available webhooks configured in your Zoho CRM account.
Endpoints
- GET /settings/automation/webhooks
- GET /settings/automation/webhooks/{webhook_ID}
Request Details
Request URL
To retrieve all webhooks:
{api-domain}/crm/{version}/settings/automation/webhooks
To retrieve a single webhook:
{api-domain}/crm/{version}/settings/automation/webhooks/{webhook_ID}
To retrieve multiple webhooks:
{api-domain}/crm/{version}/settings/automation/webhooks?ids={webhook_ID_1},{webhook_ID_2},...
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Supported modules
Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Events, Solutions, Products, Vendors, Price Books, Quotes, Sales Orders, Purchase Orders, Invoices, Appointments, and Custom.
Scope
ZohoCRM.settings.automation_actions.READ (or)
ZohoCRM.settings.automation_actions.ALL (or)
ZohoCRM.settings.ALL
Parameters
Note
The following parameters are applicable only for the GET - /settings/automation/webhooks endpoint.
- modulestring, optional
Represents the parent module that the webhook monitors. Refer to Get Modules Metadata API to retrieve module API names.
- pageinteger, optional
To get the list of webhooks from the respective pages. The default value is 1. Note that you cannot use this param with the "page_token" param.
Possible values: Positive integer values only. - per_pageinteger, optional
Specify how many webhooks to return per page. The default and the maximum possible value is 200.
Possible values: Positive integer values only. - sort_bystring, optional
To sort the webhooks based on the Modified_Time field.
- sort_orderstring, optional
To sort the available list of webhooks in either ascending or descending order, based on the value of sort_by parameter.
Possible values:- desc : Displays webhooks in descending order. This is the default value.
- asc : Displays webhooks in ascending order.
- feature_typesrting, optional
To filter webhooks by their automation feature type.
Possible values: workflow , assignmentrules , connectedworkflow - related_modulestring, optional
To filter webhooks triggered by a child or dependent module linked to a parent module. For example, the webhook will be triggered whenever a note (child) is created under a lead (Parent).
- filtersstring, optional
This parameter allows you to filter the webhooks available in your organization by their name.
The value for the "filters" param structured below.
- fieldsJSON object, optional
Represents the attribute to filter with. You can filter only by webhook name
Supported attributes: name
- comparatorstring, mandatory
Represents the comparator used for filtering.
supported value: contains
- valuestring, mandatory
Contains the value i.e., the name of the webhook to be used as a filter.
Structure for the filters parameter:
{
"field": {
"api_name": "{{value}}"
},
"comparator": "equals",
"value": "{{value}}"
}
Note: You must encode the value of the filters parameter before sending the request. You can have only one criterion for this parameter.
Example: {"field":{"api_name":"name"},"comparator":"contains","value":"ZOHOLICS"}
This retrieves all webhooks where the name starts with "ZOHOLICS".
Sample Request to retrieve all webhooks
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/automation/webhooks"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Response JSON
- webhooksJSON array
An array of webhook objects, contains details of webhooks configured in your Zoho CRM.
- headersJSON object
Represents headers used to send extra information, such as API keys or authentication tokens, to the receiving application. They can be dynamic data from Zoho CRM as module parameters or custom values as custom headers.
This key is applicable only for POST and PUT requests.
Possible headers:
- module_parametersJSON array
Represents the parameter name, type, and value for each dynamic header included in the webhook.
These are dynamic header values taken from fields in the selected module. For example, Emails in the Leads module. Use the Get Fields Metadata API to retrieve field API names.
Possible parameter type options: CRM modules such as Leads and Contacts, Users, Organization, and the available lookup fields in the module.
- namestring
Name of the module header.
- typestring
Source type of the parameter.
Possible options: CRM modules such as Leads, Contacts, Users, Organization, and available lookup fields. - valuestring
Value of the module header, specified using the merge field format. Example, ${!Leads.Email}.
- custom_parametersJSON aray
Represents static header values that never change.
- namestring
Name of the custom header.
- valuestring
Value of the custom header.
- created_timestring
Represents the date and time when the webhook was created.
- lock_statusJSON object
Represents if the webhook is locked.
- lockedBoolean
Represents the lock status of the webhook.
Possible values:- true : The webhook is locked and cannot be edited or deleted.
- false : The webhook is not locked and can be edited or deleted.
- editableBoolean
Represents if the webhook can be edited or not.
Possible values:- true : The webhook can be edited.
- false : The webhook cannot be edited.
- moduleJSON object
Specifies the module such as Leads or Contacts where the webhook should listen for changes. When a record in this module triggers the webhook, the related data will be sent to the external application or service.
- related_moduleJSON object
Specifies the child or dependent module linked to the parent module. For example, the webhook will be triggered whenever a note (dependent module) is created under a lead (Parent). If the value is null, it means the webhook is not linked to any related module.
- deletableBoolean
Represents if the webhook can be deleted or not.
Possible values:
- true : The webhook can be deleted.
- false : The webhook cannot be deleted.
- descriptionstring
The description of the webhook, as provided when the webhook was created.
- sourcestring
Represents the source of the webhook.
- bodyJSON object
Defines the data that Zoho CRM sends in the body of the webhook request.
This is applicable only for POST and PUT HTTP methods.
1. Raw Body
Used to send plain text, JSON, HTML, or XML content directly in the body of the webhook request.
2. Form Data
Contains data as key-value pairs in the body of the webhook request, like form submissions.
The data can be pulled from:
- module_parameters (mandatory) : Dynamic CRM field values. Example, ${!Leads.Email}
- custom_parameters : Represents the static values. Example, "API_version": "v2"
- user_defined_parameters : Predefined content or templated content. Example, "message": "Webhook for ${!Leads.Last_Name}"
- url_parameters JSON object
Represents parameters sent in the URL when the webhook is triggered.
Applicable only for GET requests.
Possible parameters:
- module_parameters (mandatory) : Dynamic CRM field values. Example, ${!Leads.Email}
- custom_parameters : Represents the static values. Example, "API_version": "v2"
- user_defined_parameters : Predefined content or templated content. Example, "message": "Webhook for ${!Leads.Last_Name}"
- date_time_formatJSON object
Specifies the date and time formatting for data sent in the webhook. If you include Date or DateTime fields in the module parameters, you can choose the format in which these values will be sent to the external service.
- date_formatstring
Format used for date fields. Default format is dd-mmmm-yyyy.
- datetime_formatstring
Format used for date and time fields. Default format is dd-mm-yyyy H:M:S
- time_zonestring
Time zone applied to date/time values. Default format is Etc/GMT+12.
- created_byJSON object
Contains the name and ID of the user who created the webhook.
- urlstring
Represents the endpoint URL where Zoho CRM will send the webhook data.
- feature_typestring
Represents the automation feature in which the webhook has been used. For example, Workflow and Assignment Rules.
- http_methodstring
The HTTP method used for the webhook request. Possible headers : POST, PUT, GET, and DELETE.
- modified_timestring
Represents when the webhook was last modified.
- associatedBoolean
Represents the if the webhook is linked to any workflow.
Possible values:- true : The webhook is associated with a workflow.
- false : The webhook is not associated with a workflow.
- nameBoolean
Represents the name of the webhook.
- modified_byJSON object
Represents the name and ID of the user who last modified the webhook.
- idstring
Represents the unique identifier of the webhook.
Sample Response
Copied{
"webhooks": [
{
"created_time": "2025-07-12T06:55:54-07:00",
"lock_status": {
"locked": false
},
"editable": true,
"module": {
"api_name": "Leads",
"id": "5725767000000002175"
},
"related_module": null,
"deletable": true,
"description": "Protected Data",
"source": "crm",
"created_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"url": "https://webhook.site/3588de27-e3bd-4237-894b-f140143f3d99",
"feature_type": "workflow",
"http_method": "POST",
"modified_time": "2025-07-12T06:55:54-07:00",
"associated": false,
"name": "Zoho's Data",
"modified_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"id": "5725767000007186002"
},
{
"created_time": "2025-07-06T08:00:01-07:00",
"lock_status": {
"locked": false
},
"editable": true,
"module": {
"api_name": "Leads",
"id": "5725767000000002175"
},
"related_module": null,
"deletable": true,
"description": null,
"source": "crm",
"created_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"url": "https://webhook.site/3588de27-e3bd-4237-894b-f140143f3d99",
"feature_type": "workflow",
"http_method": "POST",
"modified_time": "2025-07-06T08:00:01-07:00",
"associated": false,
"name": "Zoho",
"modified_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"id": "5725767000007084238"
},
{
"created_time": "2025-07-06T04:16:24-07:00",
"lock_status": {
"locked": false
},
"editable": true,
"module": {
"api_name": "Leads",
"id": "5725767000000002175"
},
"related_module": null,
"deletable": true,
"description": "Description about the webhook",
"source": "crm",
"created_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"url": "https://webhook.site/3588de27-e3bd-4237-894b-f140143f3d99",
"feature_type": "workflow",
"http_method": "POST",
"modified_time": "2025-07-06T04:16:24-07:00",
"associated": false,
"name": "New Lead Webhook API",
"modified_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"id": "5725767000007093002"
},
.
.
.
],
"info": {
"per_page": 200,
"count": 10,
"page": 1,
"more_records": false
}
}
Sample Request to retrieve a single webhook
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/automation/webhooks/5725767000007227002"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Possible Errors
- NO_CONTENTHTTP 204
No webhook available
Resolution: Specify a valid webhook ID. - INVALID_REQUEST_METHODHTTP 400
The http request method type is not a valid one
Resolution: You have specified an invalid HTTP method to access the API URL.
Specify a valid request method. Refer to Endpoints section for details. - OAUTH_SCOPE_MISMATCHHTTP 401
Unauthorized
Resolution: The client does not have a valid scope to retrieve webhooks. Create a new token with valid scope. Refer to the Scope section for details. - AUTHENTICATION_FAILUREHTTP 401
Authentication failed
Resolution: Pass the access token in the request header of the API call. - INVALID_URL_PATTERNHTTP 404
Please check if the URL trying to access is a correct one
Resolution: The request URL specified is incorrect. Specify a valid request URL. Refer to Request URL section for details. - INTERNAL_ERRORHTTP 500
Internal Server Error
Resolution: Unexpected and unhandled exception in the server. Contact support team.
Sample Response
Copied{
"webhooks": [
{
"headers": {
"module_parameters": [
{
"name": "lead_email",
"value": "${!Leads.Email}"
},
{
"name": "lead_id",
"value": "${!Leads.Id}"
},
{
"name": "lead_owner",
"value": "${!Leads.Owner}"
}
],
"custom_parameters": [
{
"name": "source",
"value": "website"
},
{
"name": "version",
"value": "1.0"
}
]
},
"created_time": "2025-07-16T04:38:41-07:00",
"lock_status": {
"locked": false
},
"editable": true,
"module": {
"api_name": "Leads",
"id": "5725767000000002175"
},
"related_module": null,
"url_parameters": null,
"deletable": true,
"description": "Protected Data",
"source": "crm",
"body": {
"form_data_content": {
"module_parameters": [
{
"name": "lead_phone",
"value": "${!Leads.Phone}"
}
],
"custom_parameters": [
{
"name": "OAuth",
"value": "2.0"
}
],
"user_defined_parameters": {
"name": "leads_details",
"value": "Lead from ${!Leads.Phone} with email ${!Leads.Email}"
}
},
"format": null,
"type": "form_data"
},
"created_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"url": "https://webhook.site/3588de27-e3bd-4237-894b-f140143f3d99",
"feature_type": "workflow",
"http_method": "POST",
"modified_time": "2025-07-16T04:38:41-07:00",
"associated": false,
"name": "Zoho's Data",
"modified_by": {
"name": "Patricia Boyle",
"id": "5725767000000411001"
},
"id": "5725767000007227002",
"date_time_format": null,
"authentication": {
"connection_name": null,
"type": "general"
}
}
]
}