Zoho: List active notification channels
Zoho notifications.getNotifications: arguments, response, policy and SDK examples.
← Notifications operations · Get started
Operation zoho.getnotifications
Provider route: GET /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"]["getNotifications"]>[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.getNotifications(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.get_notifications(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.module | string | Optional | Maximum length: 64 |
query.channel_id | string | Optional | Maximum length: 64 |
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 |
|---|---|---|---|
$ | object | Root | Contains the list of active notification channels and pagination information for the response. Additional keys: not allowed |
info | object | Optional | Represents the pagination metadata for the notification channel list, including the current page, record count per page, and whether additional pages are available. Additional keys: not allowed |
info.count | JSON | Optional | |
info.count (anyOf 1) | integer | Alternative | Represents the number of notification channel records included in the current response. Format: int32 Maximum: 100 |
info.count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
info.more_records | boolean | Optional | Indicates whether more notification channel records are available beyond the current page. Possible values: true - Additional notification channels are available. false - No additional notification channels are available. |
info.page | JSON | Optional | |
info.page (anyOf 1) | integer | Alternative | Represents the current page number in the paginated response. Note Use the page and per_page parameter to fetch records according to their position in the CRM. Let’s assume that the user has to fetch 400 records. The maximum number of records that one can get for an API call is 200. So, for records above the 200th position, they cannot be fetched. By using the page (1, 2, 3 and 4) and per_page (100) parameter, the user can fetch all 400 records using 4 API calls. Format: int32 Maximum: 100 |
info.page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
info.per_page | JSON | Optional | |
info.per_page (anyOf 1) | integer | Alternative | Represents the number of notification channel records returned per page. Format: int32 Maximum: 200 |
info.per_page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
watch | array | Optional | Represents the list of active notification channels for the authenticated user. Maximum items: 200 |
watch[] | object | Each item | Represents the details of a single active notification channel. Additional keys: not allowed |
watch[].channel_expiry | string | Optional | Represents the expiry date and time of the notification channel. Format: date-time |
watch[].channel_id | string | Optional | Represents the unique identifier of the notification channel. Maximum length: 64 |
watch[].events | array | Optional | Represents the list of CRM module events for which notifications are triggered on this channel. Maximum items: 10 |
watch[].events[] | string | Each item | Represents a CRM module event name that triggers a notification on this channel. Maximum length: 128 |
watch[].fields | JSON | Optional | |
watch[].fields (anyOf 1) | array | Alternative | Represents the list of record fields included in the notification payload. Maximum items: 100 |
watch[].fields (anyOf 1)[] | JSON | Each item | |
watch[].fields (anyOf 2) | null | Alternative | Represents the list of record fields included in the notification payload. Maximum items: 100 |
watch[].fields (anyOf 2)[] | JSON | Each item | |
watch[].notification_condition | JSON | Optional | |
watch[].notification_condition (anyOf 1) | array | Alternative | Represents the list of field-selection conditions that determine which record changes trigger a notification on this channel. Maximum items: 2 |
watch[].notification_condition (anyOf 1)[] | Model | Each item | Expand List active notification channels — response body — watch item notification condition null item |
watch[].notification_condition (anyOf 2) | null | Alternative | Represents the list of field-selection conditions that determine which record changes trigger a notification on this channel. Maximum items: 2 |
watch[].notification_condition (anyOf 2)[] | Model | Each item | Expand List active notification channels — response body — watch item notification condition null item |
watch[].notify_on_related_action | boolean | Optional | Indicates whether the notification channel is 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. |
watch[].notify_url | string | Optional | Represents the callback URL to which notifications are delivered when subscribed events occur. Maximum length: 255 |
watch[].resource_id | string | Optional | Represents the unique identifier of the CRM resource associated with the notification channel. Maximum length: 64 |
watch[].resource_name | string | Optional | Represents the name of the CRM resource associated with the notification channel. Maximum length: 128 |
watch[].resource_uri | string | Optional | Represents the URI of the CRM resource associated with the notification channel. Maximum length: 255 |
watch[].return_affected_field_values | boolean | Optional | Indicates whether the notification payload includes the changed field values from the affected record. Possible values: true - The notification payload includes the updated field values. false - The notification payload does not include field values. |
watch[].token | JSON | Optional | |
watch[].token (anyOf 1) | string | Alternative | Represents the verification token used to authenticate notifications sent to the callback URL. Maximum length: 255 |
watch[].token (anyOf 2) | null | Alternative | Represents the verification token used to authenticate notifications sent to the callback URL. Maximum length: 255 |
Referenced models: List active notification channels — response body — watch item notification condition null item
Schemas
Section titled “Schemas”List active notification channels — response body — watch item notification condition null item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a single field-selection condition associated with the notification channel. Additional keys: not allowed |
field_selection | Model | Optional | Expand List active notification channels — response body — watch item notification condition null item field selection |
module | object | Optional | Represents the CRM module context associated with the field-selection condition. Additional keys: not allowed |
module.api_name | string | Optional | Represents the API name of the CRM module associated with the condition. Maximum length: 255 |
module.id | string | Optional | Represents the unique identifier of the CRM module associated with the condition. Maximum length: 64 |
type | string | Optional | Represents the type of notification condition. Maximum length: 32 |
Referenced models: List active notification channels — response body — watch item notification condition null item field selection
List active notification channels — response body — watch item notification condition null item field selection
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the field selection configuration, including the grouping operator and the list of field criteria. Additional keys: not allowed |
group | array | Optional | Represents the list of field condition groups used to filter which record field changes trigger the notification. Maximum items: 2 |
group[] | Model | Each item | Expand List active notification channels — response body — watch item notification condition null item field selection group item |
group_operator | string | Optional | Represents the logical operator applied to the field condition groups within the field selection configuration. Maximum length: 3 |
Referenced models: List active notification channels — response body — watch item notification condition null item field selection group item
List active notification channels — response body — watch item notification condition null item field selection group item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a single field condition entry, including the field reference, grouping operator, and optional sub-groups. Additional keys: not allowed |
field | object | Optional | Represents the CRM field that the condition monitors for changes. Additional keys: not allowed |
field.api_name | string | Optional | Represents the API name of the CRM field being monitored in the condition. Maximum length: 128 |
field.id | string | Optional | Represents the unique identifier of the CRM field being monitored in the condition. Maximum length: 64 |
group | JSON | Optional | |
group (anyOf 1) | array | Alternative | Represents an optional nested sub-group of field conditions within the parent group. Maximum items: 10 |
group (anyOf 1)[] | JSON | Each item | |
group (anyOf 2) | null | Alternative | Represents an optional nested sub-group of field conditions within the parent group. Maximum items: 10 |
group (anyOf 2)[] | JSON | Each item | |
group_operator | JSON | Optional | |
group_operator (anyOf 1) | string | Alternative | Represents the logical operator applied to the conditions within this sub-group. Possible values: and - All conditions in the sub-group must be satisfied. or - Any condition in the sub-group must be satisfied. null - No grouping operator is applied. Known values: and, or |
group_operator (anyOf 2) | null | Alternative | Represents the logical operator applied to the conditions within this sub-group. Possible values: and - All conditions in the sub-group must be satisfied. or - Any condition in the sub-group must be satisfied. null - No grouping operator is applied. Known values: and, or |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.getnotifications. Catalog operation: getNotifications. 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.