Skip to content

Zoho: Webhooks

Zoho webhooks.createWebhooks: arguments, response, policy and SDK examples.

← Webhooks operations · Get started

Operation zoho.createwebhooks

Provider route: POST /crm/v8/settings/automation/webhooks. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/zoho with npm, or alter-sdk-zoho with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["webhooks"]["createWebhooks"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.webhooks.createWebhooks(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_zoho import ZohoIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.webhooks.create_webhooks(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
bodyModelOptionalExpand Webhooks — request body — body

Referenced models: Webhooks — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Webhooks — response body

Referenced models: Webhooks — response body

8 more schemas are linked from the tables above, on the schema pages.

Webhooks — request body — body
FieldTypePresenceDescription and constraints
$objectRootRepresents the request body wrapper for creating a webhook. The webhooks array must contain exactly one webhook object.
Additional keys: not allowed
webhooksarrayRequired within parentRepresents the list containing exactly one webhook object to create.
Maximum items: 1
Minimum items: 1
webhooks[]ModelEach itemExpand Webhooks — request body — body webhooks item

Referenced models: Webhooks — request body — body webhooks item

Webhooks — response body
FieldTypePresenceDescription and constraints
$objectRootRepresents the success response for a webhook creation request, including the operation result and the new webhook ID.
Additional keys: not allowed
webhooksarrayOptionalRepresents the list containing the operation result for the created webhook, including the new webhook ID.
Maximum items: 1
webhooks[]ModelEach itemExpand Webhooks — response body — webhooks item

Referenced models: Webhooks — response body — webhooks item

Webhooks — request body — body webhooks item
FieldTypePresenceDescription and constraints
$objectRootRepresents the writable fields for creating a new webhook. Required fields are name, module, url, http_method, authentication, and feature_type. System-managed fields must not be included. Refer to the [Get Modules](modules.yaml#$.paths./settings/modules.get) resource for valid module API names.
Additional keys: not allowed
authenticationModelRequired within parentExpand Webhooks — request body — body webhooks item authentication
Authentication configuration. Required for all webhooks, including those without authentication credentials. Use type=general for webhooks that do not require authentication (no connection_name needed). Use type=connection when the webhook endpoint requires authenticated access via a pre-configured connection (connection_name is required).
bodyModelOptionalExpand Webhooks — request body — body webhooks item body
Request body configuration. Only allowed when http_method is POST or PUT. type and format are required. When type=form_data: provide form_data_content (object with module_parameters and custom_parameters arrays); When type=raw: provide raw_data_content (string) and format (JSON, XML, Text, or HTML). When type=none: format may be null.
date_time_formatModelOptionalExpand Webhooks — request body — body webhooks item date time format
Optional. Only relevant when a date or datetime merge-field is used in any parameter (headers, url_parameters, or body). Use datetime_format + time_zone when a datetime field is referenced (e.g., ${!Leads.Created_Time}). Use date_format when a date field is referenced (e.g., ${!Leads.Date_1}). Ignored if no date/datetime merge-fields are present.
descriptionstring or nullOptionalSpecify the optional description of the webhook purpose.
Maximum length: 500
feature_typestringRequired within parentSpecify the automation feature type for this webhook.
Possible values:
**workflow** - Workflow Rule.
**approval_process** - Approval Process.
**blueprint_transition** - Blueprint transition.
**blueprint_state** - Blueprint state.
**assignment_rules** - Assignment Rules.
**kiosk** - Kiosk feature.
**commandcenter_service** - CommandCenter service.
One of: workflow, approval_process, blueprint_transition, blueprint_state, assignment_rules, kiosk, commandcenter_service
Maximum length: 255
headersModelOptionalExpand Webhooks — request body — body webhooks item headers
HTTP headers for the outgoing webhook request. Only allowed when http_method is POST, PUT, or DELETE. Restricted header name: HOST is not allowed. Parameter names must be unique across the collection (DUPLICATE_DATA).
http_methodstringRequired within parentSpecify the HTTP method used when the webhook fires. POST and PUT accept headers and body. GET and DELETE accept url_parameters. DELETE also accepts headers.
Possible values:
**POST** - Sends a POST request.
**GET** - Sends a GET request.
**PUT** - Sends a PUT request.
**DELETE** - Sends a DELETE request.
One of: POST, GET, PUT, DELETE
moduleModelRequired within parentExpand Get webhooks — response body — webhooks item module
The CRM module this webhook is associated with. Provide at least one of api_name or id. Cannot be changed after creation.
namestringRequired within parentSpecify the display name of the webhook. The name must not contain the tilde (~) character.
Maximum length: 250
related_moduleModelOptionalExpand Webhooks — request body — body webhooks item related module
Related CRM module. Required when feature_type is kiosk. Null otherwise.
urlstringRequired within parentSpecify the destination URL that receives the webhook request when triggered. The URL must begin with http://, https://, www., or a merge-field token (${...}). URLs resolving to internal or private host addresses are rejected by SSRF protection.
Maximum length: 2000
url_parametersModelOptionalExpand Webhooks — request body — body webhooks item url parameters
URL query parameters for the outgoing request. Only allowed when http_method is GET or DELETE.

Referenced models: Get webhooks — response body — webhooks item module, Webhooks — request body — body webhooks item date time format, Webhooks — request body — body webhooks item related module, Webhooks — request body — body webhooks item authentication, Webhooks — request body — body webhooks item headers, Webhooks — request body — body webhooks item body, Webhooks — request body — body webhooks item url parameters

Webhooks — response body — webhooks item
FieldTypePresenceDescription and constraints
$objectRootRepresents the operation result for a webhook create, update, or delete action. On success, code is success, status is success, and details contains the webhook ID.
Additional keys: not allowed
codestringRequired within parentRepresents the success or error code of the webhook operation.
Maximum length: 255
detailsModelRequired within parentExpand Webhooks — response body — webhooks item details
Result details. On success, contains the webhook id.
messagestringRequired within parentRepresents the description of the operation result.
Maximum length: 255
statusstringRequired within parentRepresents the operation status.
Maximum length: 255

Referenced models: Webhooks — response body — webhooks item details

Get webhooks — response body — webhooks item module
FieldTypePresenceDescription and constraints
$objectRootRepresents the CRM module reference identifying the parent module associated with a webhook.
Additional keys: not allowed
api_namestringRequired within parentRepresents the API name of the CRM module (for example, Leads, Contacts, Deals).
Maximum length: 255
idstringRequired within parentRepresents the unique identifier of the CRM module. Refer to the [Get Modules](modules.yaml#$.paths./settings/modules.get) resource for valid values.
Maximum length: 255
Webhooks — request body — body webhooks item date time format
FieldTypePresenceDescription and constraints
$object or nullRootRepresents the date and time formatting configuration applied to date or datetime merge-field values in webhook request payloads. Applicable only when a date or datetime merge-field is used in headers, url_parameters, or body. Returns null when no date or datetime merge-fields are present.
Additional keys: not allowed
date_formatstringOptionalRepresents the format pattern for date-only merge-field values in the webhook payload.
Maximum length: 255
datetime_formatstringOptionalRepresents the format pattern for datetime merge-field values in the webhook payload.
Maximum length: 255
time_zonestringOptionalRepresents the timezone identifier applied to datetime merge-field values in the webhook payload.
Maximum length: 255
Webhooks — request body — body webhooks item related module
FieldTypePresenceDescription and constraints
$object or nullRootRepresents a reference to a related CRM module linked to the parent module of a webhook. Returns null when no related module is configured. Required when feature_type is kiosk.
Additional keys: not allowed
api_namestringOptionalRepresents the API name of the related CRM module.
Maximum length: 255
idstringOptionalRepresents the unique identifier of the related CRM module. Refer to the [Get Modules](modules.yaml#$.paths./settings/modules.get) resource for valid values.
Maximum length: 255
Webhooks — request body — body webhooks item authentication
FieldTypePresenceDescription and constraints
$objectRootRepresents the authentication configuration for the webhook endpoint. Use type **general** for endpoints that do not require credentials. Use type **connection** with a valid connection_name for endpoints that require authenticated access via a pre-configured Zoho connection.
Additional keys: not allowed
connection_namestring or nullOptionalRepresents the name of the Zoho connection used for authentication. This field is required only when **type** is **connection**.
Maximum length: 255
typestringRequired within parentSpecify the authentication method for the webhook endpoint.
Possible values:
**general** - No credentials required.
**connection** - Uses a pre-configured Zoho connection.
One of: general, connection
Maximum length: 255

SDK function policy ID: zoho.createwebhooks. Catalog operation: createWebhooks. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.