Skip to content

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.

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 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.update_webhook_by_id(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.webhookIdstringRequired within parentMaximum length: 20
bodyModelOptionalExpand Update webhooks — request body — body

Referenced models: Update 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 Update webhooks — response body

Referenced models: Update webhooks — response body

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

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

Referenced models: Webhooks — response body — webhooks item

Update webhooks — request body — body
FieldTypePresenceDescription and constraints
$objectRootRepresents the request body wrapper for updating 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 with the full replacement configuration.
Maximum items: 1
Minimum items: 1
webhooks[]ModelEach itemExpand Update webhooks — request body — body webhooks item

Referenced models: Update webhooks — request body — body webhooks item

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

Update webhooks — request body — body webhooks item
FieldTypePresenceDescription and constraints
$objectRootRepresents 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
authenticationModelRequired within parentExpand Webhooks — request body — body webhooks item authentication
Authentication configuration.
bodyModelOptionalExpand 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_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 for datetime fields, date_format for date fields. 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. 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_methodstringRequired within parentSpecify 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
idstringOptionalRepresents 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
moduleModelRequired within parentExpand Get webhooks — response body — webhooks item module
The CRM module. Cannot be changed - providing a different module returns NOT_ALLOWED.
namestringRequired within parentSpecify 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_moduleModelOptionalExpand Webhooks — request body — body webhooks item related module
Related CRM module. Required when feature_type is kiosk.
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. 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
FieldTypePresenceDescription and constraints
$objectRootRepresents the nested object containing the unique identifier of the webhook returned by a mutation operation.
Additional keys: not allowed
idstringOptionalRepresents the unique identifier of the webhook.
Maximum length: 255
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.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.

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.