Zoho: Update webhook by ID
Zoho webhooks.updateWebhookById: arguments, response, policy and SDK examples.
← Webhooks operations · Get started
Operation zoho.updatewebhookbyid
Provider route: PUT /crm/v8/settings/automation/webhooks/{webhookId}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”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"]["updateWebhookById"]>[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.updateWebhookById(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom 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.update_webhook_by_id(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.webhookId | string | Required within parent | Maximum length: 20 |
body | Model | Optional | Expand Update webhooks — request body — body |
Referenced models: Update webhooks — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Update webhooks — response body |
Referenced models: Update webhooks — response body
Schemas
Section titled “Schemas”7 more schemas are linked from the tables above, on the schema pages.
Update webhooks — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the success response for a webhook update operation, including the operation result and the updated webhook ID. Additional keys: not allowed |
webhooks | array | Optional | Represents the list containing the operation result for the updated webhook. Maximum items: 1 |
webhooks[] | Model | Each item | Expand Webhooks — response body — webhooks item |
Referenced models: Webhooks — response body — webhooks item
Update webhooks — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the request body wrapper for updating a webhook. The webhooks array must contain exactly one webhook object. Additional keys: not allowed |
webhooks | array | Required within parent | Represents the list containing exactly one webhook object with the full replacement configuration. Maximum items: 1 Minimum items: 1 |
webhooks[] | Model | Each item | Expand Update webhooks — request body — body webhooks item |
Referenced models: Update webhooks — request body — body webhooks item
Webhooks — response body — webhooks item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents 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 |
code | string | Required within parent | Represents the success or error code of the webhook operation. Maximum length: 255 |
details | Model | Required within parent | Expand Webhooks — response body — webhooks item details Result details. On success, contains the webhook id. |
message | string | Required within parent | Represents the description of the operation result. Maximum length: 255 |
status | string | Required within parent | Represents the operation status. Maximum length: 255 |
Referenced models: Webhooks — response body — webhooks item details
Update webhooks — request body — body webhooks item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the writable fields for updating an existing webhook. Full-replacement semantics apply all required fields must be present, as omitted fields reset to defaults or null. The module field is immutable; providing a different module returns NOT_ALLOWED. System-managed read-only fields must be omitted. Additional keys: not allowed |
authentication | Model | Required within parent | Expand Webhooks — request body — body webhooks item authentication Authentication configuration. |
body | Model | Optional | Expand Webhooks — request body — body webhooks item body Request body. 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); format may be null. When type=raw: provide raw_data_content (string) and format (JSON, XML, Text, or HTML). When type=none: format may be null. |
date_time_format | Model | Optional | Expand 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 for datetime fields, date_format for date fields. Ignored if no date/datetime merge-fields are present. |
description | string or null | Optional | Specify the optional description of the webhook purpose. Maximum length: 500 |
feature_type | string | Required within parent | Specify 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 |
headers | Model | Optional | Expand Webhooks — request body — body webhooks item headers HTTP headers. Only allowed when http_method is POST, PUT, or DELETE. Restricted header name: HOST is not allowed. Parameter names must be unique (DUPLICATE_DATA). |
http_method | string | Required within parent | Specify the HTTP method used when the webhook fires. 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 |
id | string | Optional | Represents the unique identifier of the webhook to update. The ID is required in the request body when using the bulk update endpoint. Maximum length: 20 |
module | Model | Required within parent | Expand Get webhooks — response body — webhooks item module The CRM module. Cannot be changed - providing a different module returns NOT_ALLOWED. |
name | string | Required within parent | Specify the display name of the webhook. The name must not contain the tilde (~) character. The name cannot be changed for kiosk feature actions. Maximum length: 250 |
related_module | Model | Optional | Expand Webhooks — request body — body webhooks item related module Related CRM module. Required when feature_type is kiosk. |
url | string | Required within parent | Specify 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_parameters | Model | Optional | Expand Webhooks — request body — body webhooks item url parameters URL query parameters. 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 details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the nested object containing the unique identifier of the webhook returned by a mutation operation. Additional keys: not allowed |
id | string | Optional | Represents the unique identifier of the webhook. Maximum length: 255 |
Get webhooks — response body — webhooks item module
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the CRM module reference identifying the parent module associated with a webhook. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the CRM module (for example, Leads, Contacts, Deals). Maximum length: 255 |
id | string | Required within parent | Represents 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object or null | Root | Represents 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_format | string | Optional | Represents the format pattern for date-only merge-field values in the webhook payload. Maximum length: 255 |
datetime_format | string | Optional | Represents the format pattern for datetime merge-field values in the webhook payload. Maximum length: 255 |
time_zone | string | Optional | Represents the timezone identifier applied to datetime merge-field values in the webhook payload. Maximum length: 255 |
Webhooks — request body — body webhooks item related module
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object or null | Root | Represents 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_name | string | Optional | Represents the API name of the related CRM module. Maximum length: 255 |
id | string | Optional | Represents 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
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents 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_name | string or null | Optional | Represents the name of the Zoho connection used for authentication. This field is required only when **type** is **connection**. Maximum length: 255 |
type | string | Required within parent | Specify 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 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.updatewebhookbyid. Catalog operation: updateWebhookById. 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.