Zoho: Get Cadence analytics
Zoho cadences.getCadenceAnalytics: arguments, response, policy and SDK examples.
← Cadences operations · Get started
Operation zoho.getcadenceanalytics
Provider route: GET /crm/v8/settings/automation/cadences/{id}/actions/analytics. 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["cadences"]["getCadenceAnalytics"]>[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.cadences.getCadenceAnalytics(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.cadences.get_cadence_analytics(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.id | string | Required within parent | Format: int64 |
query | object | Optional | Additional keys: not allowed |
query.filters | object | Optional | Represents the filter criteria schema for retrieving Cadence analytics, including the field, comparator, and value to filter by. Additional keys: not allowed |
query.filters.comparator | string | Optional | Specify the comparison operator for the filter. Possible values: between - Filters records within a specified range. One of: between |
query.filters.field | object | Optional | Specify the filter condition, including the api_name and value fields. Additional keys: not allowed |
query.filters.field.api_name | string | Optional | Specify the field name to filter analytics by. Possible values: follow_ups.action.type - Filters analytics by the follow-up action type. One of: follow_ups.action.type |
query.filters.value | string | Optional | Specify the list of values to filter by. Possible values: tasks - Filters follow-ups with task actions. email_notifications - Filters follow-ups with email notification actions. schedule_call - Filters follow-ups with scheduled call actions. whatsapp_message_notification - Filters follow-ups with WhatsApp message actions. One of: tasks, email_notifications, schedule_call, whatsapp_message_notification Maximum length: 500 |
query.follow_ups_executed_from | string | Optional | Format: date-time |
query.follow_ups_executed_till | string | Optional | Format: date-time |
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 | Represents the analytics response for a Cadence, containing a list of Cadences and their follow-up analytics data. Additional keys: not allowed |
cadences | array | Optional | Represents the list of Cadences with their follow-up analytics data. Maximum items: 100 |
cadences[] | object | Each item | Represents the analytics data for a single Cadence, including follow-up details and metrics. Additional keys: not allowed |
cadences[].created_by | Model | Optional | Expand Get Cadence analytics — response body — cadences item created by |
cadences[].follow_ups | array | Optional | Represents the list of follow-up steps in the Cadence, each containing action details and execution analytics. Maximum items: 100 |
cadences[].follow_ups[] | object | Each item | Indicates a single follow-up step in the Cadence. Additional keys: not allowed |
cadences[].follow_ups[].action | object | Optional | Represents the action configured for the follow-up step. Additional keys: not allowed |
cadences[].follow_ups[].action.id | string | Optional | Represents the unique identifier of the action. Maximum length: 255 |
cadences[].follow_ups[].action.message_template | object | Optional | Represents the message template associated with the email or WhatsApp action. Additional keys: not allowed |
cadences[].follow_ups[].action.message_template.id | string | Optional | Represents the unique identifier of the message template. Maximum length: 255 |
cadences[].follow_ups[].action.message_template.title | string | Optional | Represents the title of the message template. Maximum length: 255 |
cadences[].follow_ups[].action.name | string | Required within parent | Represents the name of the action. Maximum length: 255 |
cadences[].follow_ups[].action.template | object | Optional | Represents the Email Template configured for the action. Additional keys: not allowed |
cadences[].follow_ups[].action.template.id | string | Optional | Represents the unique identifier of the Email Template. Maximum length: 255 |
cadences[].follow_ups[].action.template.name | string | Optional | Represents the name of the Email Template. Maximum length: 255 |
cadences[].follow_ups[].action.type | string | Optional | Represents the type of action configured for the follow-up step. Maximum length: 255 |
cadences[].follow_ups[].analytics | JSON | Optional | Represents the execution metrics for the follow-up action, including counts based on the action type. |
cadences[].follow_ups[].analytics (anyOf 1) | object | Alternative | Specifies the analytics data for a task-type follow-up action. Additional keys: not allowed |
cadences[].follow_ups[].analytics (anyOf 1).completed_tasks_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 1).completed_tasks_count (anyOf 1) | integer | Alternative | The number of tasks that were completed. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 1).completed_tasks_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 1).failed_tasks_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 1).failed_tasks_count (anyOf 1) | integer | Alternative | Represents the number of tasks that failed to execute. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 1).failed_tasks_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 1).open_tasks_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 1).open_tasks_count (anyOf 1) | integer | Alternative | Represents the number of tasks that are currently open. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 1).open_tasks_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 1).subject | string | Optional | Represents the subject of the task action. Maximum length: 255 |
cadences[].follow_ups[].analytics (anyOf 1).tasks_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 1).tasks_count (anyOf 1) | integer | Alternative | Represents the total number of tasks generated by the follow-up action. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 1).tasks_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2) | object | Alternative | Represents the analytics data for a scheduled call-type follow-up action. Additional keys: not allowed |
cadences[].follow_ups[].analytics (anyOf 2).calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).calls_count (anyOf 1) | integer | Alternative | Represents the total number of calls generated by the follow-up action. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).cancelled_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).cancelled_calls_count (anyOf 1) | integer | Alternative | Represents the number of calls that were cancelled. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).cancelled_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).completed_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).completed_calls_count (anyOf 1) | integer | Alternative | Represents the number of calls that were completed. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).completed_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).created_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).created_calls_count (anyOf 1) | integer | Alternative | Represents the number of calls that were created. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).created_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).failed_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).failed_calls_count (anyOf 1) | integer | Alternative | Represents the number of calls that failed to execute. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).failed_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).missed_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).missed_calls_count (anyOf 1) | integer | Alternative | Represents the total number of missed calls. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).missed_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).overdue_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).overdue_calls_count (anyOf 1) | integer | Alternative | Represents the total number of calls that are overdue. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).overdue_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).scheduled_calls_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 2).scheduled_calls_count (anyOf 1) | integer | Alternative | Represents the number of calls that are currently scheduled. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 2).scheduled_calls_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 2).subject | string | Optional | Indicates the subject of the scheduled call action. Maximum length: 255 |
cadences[].follow_ups[].analytics (anyOf 3) | object | Alternative | The analytics metrics related to an email notification-type follow-up action. Additional keys: not allowed |
cadences[].follow_ups[].analytics (anyOf 3).bounced_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).bounced_email_count (anyOf 1) | integer | Alternative | Represents the number of emails that bounced. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).bounced_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).clicked_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).clicked_email_count (anyOf 1) | integer | Alternative | Represents the number of emails where at least one link was clicked. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).clicked_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).email_count (anyOf 1) | integer | Alternative | Represents the total number of emails sent by the follow-up action. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).opened_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).opened_email_count (anyOf 1) | integer | Alternative | Represents the number of emails that were opened by recipients. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).opened_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).replied_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).replied_email_count (anyOf 1) | integer | Alternative | Represents the number of emails that received a reply. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).replied_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).sent_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).sent_email_count (anyOf 1) | integer | Alternative | Represents the number of emails that were successfully sent. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).sent_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).unsent_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).unsent_email_count (anyOf 1) | integer | Alternative | Represents the number of emails that were not sent. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).unsent_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 3).unsubscribed_email_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 3).unsubscribed_email_count (anyOf 1) | integer | Alternative | Represents the number of recipients who unsubscribed after receiving the email. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 3).unsubscribed_email_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 4) | object | Alternative | Represents the analytics data for a WhatsApp message-type follow-up action. Additional keys: not allowed |
cadences[].follow_ups[].analytics (anyOf 4).delivered_whatsapp_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 4).delivered_whatsapp_count (anyOf 1) | integer | Alternative | Represents the number of WhatsApp messages that were delivered. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 4).delivered_whatsapp_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 4).failed_whatsapp_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 4).failed_whatsapp_count (anyOf 1) | integer | Alternative | Represents the number of WhatsApp messages that failed to deliver. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 4).failed_whatsapp_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].analytics (anyOf 4).whatsapp_count | JSON | Optional | |
cadences[].follow_ups[].analytics (anyOf 4).whatsapp_count (anyOf 1) | integer | Alternative | Represents the total number of WhatsApp messages sent by the follow-up action. Format: int32 |
cadences[].follow_ups[].analytics (anyOf 4).whatsapp_count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
cadences[].follow_ups[].follow_up_number | string | Optional | Represents the sequential number of the follow-up step within the Cadence. Maximum length: 255 |
cadences[].follow_ups[].id | string | Optional | Represents the unique identifier of the follow-up step. Maximum length: 255 |
cadences[].follow_ups[].parent_follow_up | JSON | Optional | |
cadences[].follow_ups[].parent_follow_up (anyOf 1) | object | Alternative | Represents the identifier of the parent follow-up step, if this is a conditional branch. |
cadences[].follow_ups[].parent_follow_up (anyOf 2) | null | Alternative | Represents the identifier of the parent follow-up step, if this is a conditional branch. |
cadences[].id | string | Optional | Represents the unique identifier of a Cadence. Maximum length: 255 |
cadences[].module | Model | Optional | Expand Get Cadence analytics — response body — cadences item module |
cadences[].name | string | Optional | Represents the name of a Cadence. Maximum length: 100 |
Referenced models: Get Cadence analytics — response body — cadences item created by, Get Cadence analytics — response body — cadences item module
Schemas
Section titled “Schemas”Get Cadence analytics — response body — cadences item created by
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the identifier and name of the user who created the record. Additional keys: not allowed |
id | string | Optional | Represents the unique identifier of the user who created the record. Maximum length: 255 |
name | string | Optional | Represents the full name of the user who created the record. Maximum length: 255 |
Get Cadence analytics — response body — cadences item module
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the API name and identifier of a CRM module. Additional keys: not allowed |
api_name | string | Optional | Represents the API name of the CRM module. Maximum length: 255 |
id | string | Optional | Represents the unique identifier of the CRM module. Format: int64 Maximum length: 255 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.getcadenceanalytics. Catalog operation: getCadenceAnalytics. 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.