Zoho: Update notification channel information
Zoho notifications.updateNotificationInfo: arguments, response, policy and SDK examples.
← Notifications operations · Get started
Operation zoho.updatenotificationinfo
Provider route: PATCH /crm/v8/actions/watch. 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["notifications"]["updateNotificationInfo"]>[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.notifications.updateNotificationInfo(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.notifications.update_notification_info(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Optional | Additional keys: not allowed |
query.channel_id | string | Optional | Maximum length: 64 |
body | object | Required within parent | Contains the notification channel fields to be partially updated. Additional keys: not allowed |
body.channel_expiry | string | Optional | Specify the new expiry date and time for the notification channel. Format: date-time |
body.channel_id | string | Required within parent | Specify the identifier of the notification channel to update. Maximum length: 64 |
body.events | array | Required within parent | Specify the updated list of CRM module events to subscribe to on this channel. Maximum items: 50 |
body.events[] | string | Each item | Specify a CRM module event name (for example, Leads.create or Contacts.edit). Maximum length: 128 |
body.notification_condition | array | Optional | Specify the field selection conditions that determine which record field changes trigger a notification. Maximum items: 2 |
body.notification_condition[] | object | Each item | Specify the configuration for a single field-selection notification condition. Additional keys: not allowed |
body.notification_condition[].field_selection | object | Required within parent | Specify the field selection criteria, including the grouping operator and field references. Additional keys: not allowed |
body.notification_condition[].field_selection.group | array | Required within parent | Specify the list of field references to use as notification conditions. Maximum items: 10 |
body.notification_condition[].field_selection.group[] | object | Each item | Specify a single CRM field reference to include as a notification condition. Additional keys: not allowed |
body.notification_condition[].field_selection.group[].api_name | string | Required within parent | Specify the API name of the CRM field to monitor for changes. Maximum length: 64 |
body.notification_condition[].field_selection.group[].id | string | Optional | Specify the unique identifier of the CRM field to monitor for changes. Maximum length: 32 |
body.notification_condition[].field_selection.group_operator | string | Required within parent | Specify the logical operator to apply to the field condition groups. Possible values: and - All conditions in the group must be satisfied. or - Any condition in the group must be satisfied. One of: and, or |
body.notification_condition[].module | object | Required within parent | Specify the CRM module context for the field-selection condition. Additional keys: not allowed |
body.notification_condition[].module.api_name | string | Required within parent | Specify the API name of the CRM module. Refer to the [Get Modules](modules.json#$.paths./settings/modules.get) resource for valid values. Maximum length: 64 |
body.notification_condition[].module.id | string | Optional | Specify the unique identifier of the CRM module. Maximum length: 32 |
body.notification_condition[].type | string | Required within parent | Specify the condition type. One of: field_selection |
body.notify_on_related_action | boolean | Optional | Indicate whether the notification channel should be triggered by actions on records related to the subscribed module. Possible values: true - Notifications are sent for related record actions. false - Notifications are sent only for direct record actions. Note On trigger of any notification-enabled event in a module, Zoho CRM sends a notification to the user through the notify URL |
body.notify_url | string | Required within parent | Specify the destination callback URL for the notification channel. Maximum length: 255 |
body.return_affected_field_values | boolean | Optional | Indicate whether the notification payload should include the changed field values from the affected record. Possible values: true - The notification payload includes updated field values. false - The notification payload does not include field values. |
body.token | string | Optional | Specify the verification token to be included in notification callbacks. Maximum length: 256 |
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 |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | object | Alternative | Contains the results of the partial notification channel update. Additional keys: not allowed |
$ (anyOf 1).watch | array | Required within parent | Represents the list of update results, one entry per channel updated. Maximum items: 50 |
$ (anyOf 1).watch[] | object | Each item | Represents the update result for a single notification channel. Additional keys: not allowed |
$ (anyOf 1).watch[].code | string | Required within parent | Represents the result code for the channel update operation. Maximum length: 32 |
$ (anyOf 1).watch[].details | object | Required within parent | Contains the event channel details for the updated notification channel. Additional keys: not allowed |
$ (anyOf 1).watch[].details.events | array | Required within parent | Represents the list of event-channel subscriptions for the updated notification channel. Maximum items: 50 |
$ (anyOf 1).watch[].details.events[] | object | Each item | Represents the details of a single event-channel subscription after the update. Additional keys: not allowed |
$ (anyOf 1).watch[].details.events[].channel_expiry | string | Required within parent | Represents the expiry date and time of the updated notification channel. Always returned in the response. Format: date-time |
$ (anyOf 1).watch[].details.events[].channel_id | string | Required within parent | Represents the identifier of the updated notification channel. Always returned in the response. Maximum length: 64 |
$ (anyOf 1).watch[].details.events[].resource_id | string | Required within parent | Represents the unique identifier of the CRM resource for the updated event channel subscription. Always returned in the response. Maximum length: 64 |
$ (anyOf 1).watch[].details.events[].resource_name | string | Required within parent | Represents the name of the CRM resource for the updated event channel subscription. Always returned in the response. Maximum length: 128 |
$ (anyOf 1).watch[].details.events[].resource_uri | string | Required within parent | Represents the URI of the CRM resource for the updated event channel subscription. Always returned in the response. Maximum length: 255 |
$ (anyOf 1).watch[].message | string | Required within parent | Represents the status message for the channel update result. Maximum length: 255 |
$ (anyOf 1).watch[].status | string | Required within parent | Represents the status of the channel update result. Maximum length: 32 |
$ (anyOf 2) | Model | Alternative | Expand Create notification channels — response body — watch |
Referenced models: Create notification channels — response body — watch
Schemas
Section titled “Schemas”Create notification channels — response body — watch
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Contains the partial create results, where each entry in the watch array is either a success or an error. Additional keys: not allowed |
watch | array | Optional | Represents the list of result entries, where each item is either a successful create result or an error response. Maximum items: 50 |
watch[] | JSON | Each item | |
watch[] (anyOf 1) | Model | Alternative | Expand Create notification channels — response body — watch / watch / item / code: SUCCESS, status: success |
watch[] (anyOf 2) | Model | Alternative | Expand Create notification channels — response body — watch / watch / item / status: error |
Referenced models: Create notification channels — response body — watch / watch / item / status: error, Create notification channels — response body — watch / watch / item / code: SUCCESS, status: success
Create notification channels — response body — watch / watch / item / status: error
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the standard error response structure returned when a request fails. Additional keys: not allowed |
code | string | Required within parent | Represents the specific error code identifying the type of failure. Known values: INVALID_DATA, INVALID_QUERY, NOT_SUBSCRIBED, EXPECTED_PARAM_MISSING, LIMIT_REACHED, NOT_SUPPORTED, INVALID_REQUEST_METHOD, AUTHORIZATION_FAILED, OAUTH_SCOPE_MISMATCH, NO_PERMISSION, INVALID_URL_PATTERN, INTERNAL_ERROR, RATE_LIMIT_EXCEEDED, SERVICE_UNAVAILABLE, INVALID_MODULE, MANDATORY_NOT_FOUND, EXPECTED_FIELD_MISSING, AMBIGUITY_DURING_PROCESSING, DEPENDENT_FIELD_MISSING |
details | Model | Optional | Expand Create notification channels — response body — watch / watch / item / status: error details |
message | string | Required within parent | Represents the error message describing the issue. Maximum length: 1000 |
status | string | Required within parent | Represents the response status. **Possible values:** **error** - Indicates an error response. Known values: error Default: error |
Referenced models: Create notification channels — response body — watch / watch / item / status: error details
Create notification channels — response body — watch / watch / item / code: SUCCESS, status: success
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a successful create result for a single notification channel. Additional keys: not allowed |
code | string | Optional | Represents the result code for a successful operation. **Possible values:** **SUCCESS** - The operation completed successfully. Known values: SUCCESS |
details | object | Optional | Created event channel details. Additional keys: allowed |
message | string | Optional | Result message. Maximum length: 255 |
status | string | Optional | Status string. Known values: success |
Create notification channels — response body — watch / watch / item / status: error details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the detailed error information associated with a specific parameter or field that caused the request to fail. Additional keys: not allowed |
ambiguity_due_to | array | Optional | Represents the list of fields that caused ambiguity during request processing. Maximum items: 2 |
ambiguity_due_to[] | object | Each item | Represents a field that contributed to the ambiguity during processing. Additional keys: not allowed |
ambiguity_due_to[].api_name | string | Required within parent | Represents the API name of the field that caused ambiguity. Maximum length: 64 |
ambiguity_due_to[].json_path | string | Required within parent | Represents the JSON path indicating the location of the ambiguous field in the request payload. Maximum length: 256 |
api_name | string | Optional | Represents the API name of the parameter or field that caused the error. Maximum length: 64 |
dependee | object | Optional | Represents the details of a required dependent field that was missing from the request. Additional keys: not allowed |
dependee.api_name | string | Required within parent | Represents the API name of the missing dependent field. Maximum length: 64 |
dependee.json_path | string | Required within parent | Represents the JSON path indicating the location of the missing dependent field in the request payload. Maximum length: 256 |
expected_data_type | string | Optional | Represents the expected data type for the parameter or field that caused the error. Maximum length: 64 |
expected_fields | array | Optional | Represents the list of fields required when at least one of several expected fields is missing. Maximum items: 2 |
expected_fields[] | object | Each item | Represents a field that is required but was not found in the request. Additional keys: not allowed |
expected_fields[].api_name | string | Required within parent | Represents the API name of the required field. Maximum length: 64 |
expected_fields[].json_path | string | Required within parent | Represents the JSON path indicating the location of the required field in the request payload. Maximum length: 256 |
json_path | string | Optional | Represents the JSON path indicating the location of the error in the request payload. Maximum length: 256 |
maximum_length | JSON | Optional | |
maximum_length (anyOf 1) | integer | Alternative | Represents the maximum allowed length for the parameter or field that caused the error. Format: int32 |
maximum_length (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
supported_values | array | Optional | Represents the list of supported values for the parameter or field that caused the error. Maximum items: 2 |
supported_values[] | string | Each item | Represents a single supported value for the parameter or field. Maximum length: 64 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.updatenotificationinfo. Catalog operation: updateNotificationInfo. 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.