Zoho: Workflow rules schemas (part 3)
45 Zoho schemas with complete fields and constraints.
← Workflow rules operations · All schemas
Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / group_operator: AND, OR
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a grouped filter criterion containing multiple simple filter conditions evaluated together using a logical operator such as AND or OR. Additional keys: not allowed |
group | array | Required within parent | Represents the array of filter conditions to be evaluated together using the specified logical operator. Maximum items: 25 Minimum items: 2 |
group[] | JSON | Each item | |
group[] (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / type: merge field, pre defined, value, field |
group[] (anyOf 2) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / group_operator: AND, OR |
group_operator | string | Required within parent | Represents the logical operator applied between the filter conditions in the group. One of: AND, OR |
Referenced models: Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / group_operator: AND, OR, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / type: merge field, pre defined, value, field
Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / type: merge field, pre defined, value, field
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a simple filter criterion for workflow rule queries, specifying the field API name, comparator, and value to match. Additional keys: not allowed |
comparator | string | Required within parent | Represents the comparison operator applied to the filter criterion. **${ANYVALUE}** is a special value supported only in field update triggers; it matches any change to the monitored field value. One of: equal, not_equal, like, not_like, starts_with, ends_with, contains, not_contains, greater_than, greater_equal, less_equal, less_than, in, not_in, between, ${ANYVALUE} |
field | JSON | Required within parent | Represents the field to which the filter criterion is applied. |
field (allOf 1) | Model | All variants apply | Expand Related Records — request body — query / filters / value / comparator: in, not in, type: merge field, pre defined, value, field field api name, id |
field (allOf 2) | object | All variants apply | Represents additional field reference constraints for the filter criterion, requiring the `api_name` property to identify the target field. Additional keys: allowed |
type | string | Optional | Indicates whether the criterion value is a direct value or a system variable placeholder. Default: value One of: merge_field, pre_defined, value, field |
value | JSON | Required within parent | |
value (anyOf 1) | string | Alternative | Represents a string filter criterion value applicable to fields with a data_type of text, textarea, email, phone, website, autonumber, picklist, multiselectpicklist, date, or datetime, as well as any data_type not explicitly covered by SimpleFilterCriterionValueNumber, SimpleFilterCriterionValueBoolean, SimpleFilterCriterionValueObjectRequest, SimpleFilterCriterionValueObjectResponse, or the multiselect lookup value schemas. Maximum length: 255 |
value (anyOf 2) | number | Alternative | Represents a numeric filter criterion value applicable to fields with a data_type of integer, currency, or double. |
value (anyOf 3) | boolean | Alternative | Represents a Boolean filter criterion value. Applicable only when the field has a Boolean data type (checkbox field). |
value (anyOf 4) | Model | Alternative | Expand Related Records — request body — query / filters / value / comparator: include all, include any, exclude all, exclude any, type: merge field, pre defined, value, field value item |
Referenced models: Related Records — request body — query / filters / value / comparator: in, not in, type: merge field, pre defined, value, field field api name, id, Related Records — request body — query / filters / value / comparator: include all, include any, exclude all, exclude any, type: merge field, pre defined, value, field value item
Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: date or datetime
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the date or datetime field to monitor for triggering the rule. Must reference an existing date or datetime field on the module. Additional keys: not allowed |
details | object | Required within parent | Represents the date-based trigger details, including the target date field, time offset, and recurrence configuration. Additional keys: not allowed |
details.execute_at | string | Optional | Represents the exact time of day at which to fire the trigger, in 24-hour HH:mm format. Applicable only to datetime fields. Format: time |
details.field | Model | Required within parent | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow_rules / item / execute_when / type: date or datetime details field |
details.period | string | Required within parent | Represents the time unit for the offset relative to the monitored date field. For example, **days**, **weeks**, or **months**. One of: minutes, hours, days, weeks, months, years, b_hours, b_days |
details.recur_cycle | string | Optional | Represents the recurrence frequency for the date-based trigger. Possible values: once - Fires once. monthly - Fires monthly on the same date. yearly - Fires yearly on the same date. One of: once, monthly, yearly |
details.repeat | boolean | Optional | Indicates whether the trigger fires repeatedly. When true, the trigger fires on each recurrence as configured. |
details.trigger_module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module Specifies the module that triggers the workflow rule. If omitted, it defaults to the rule's top-level module. Specify this when the trigger targets a different module. For example, a workflow rule on Leads triggered when a note is created requires 'trigger_module': {"api_name": "Notes", 'id': '...'}. Use 'getModules' to retrieve the module API name and ID. |
details.unit | integer | Required within parent | Represents the offset magnitude relative to the monitored date field value. Negative values indicate before the date; positive values indicate after. Format: int32 |
type | string | Required within parent | Represents the trigger type for date or datetime-based rules, which fire relative to a date field value on the record. One of: date_or_datetime |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, List Workflow Rules in your Zoho CRM Organization — response body — workflow_rules / item / execute_when / type: date or datetime details field
Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: mail sent replied within
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents an email-reply-window trigger type (T7) that fires when a sent email receives a reply within a configured time window. Additional keys: not allowed |
details | object | Required within parent | Represents the email-reply-window trigger details, including the time unit and magnitude for the reply window. Additional keys: not allowed |
details.period | string | Required within parent | Represents the time unit for the reply window. Possible values: days - Window measured in days. hours - Window measured in hours. One of: days, hours |
details.trigger_module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The module that actually triggers the rule. Defaults to the rule's top-level module if omitted. Must be explicitly set when the trigger targets a different module - e.g., a rule on Leads triggered by 'note created' requires trigger_module = {api_name: 'Notes', id: '...'}. Use `getModules` to discover module api_name and id values. |
details.unit | integer | Required within parent | Represents the reply window magnitude, such as 3 for a window of three days or three hours. Format: int32 |
type | string | Required within parent | Represents the trigger type for email-reply-window rules. Requires a dedicated email module workflow rule. One of: mail_sent_replied_within |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module
Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: score increase, score decrease, score update, zia scoring rule
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a score update trigger type (T6) that fires when a record score changes due to configured scoring rules. Additional keys: not allowed |
details | object | Required within parent | Represents the score update trigger details, including the Scoring Rule scope and the applicable scoring rules. Additional keys: not allowed |
details.repeat | boolean | Optional | Indicates whether the rule fires every time the score condition is met. When false, the rule fires only on the first occurrence. |
details.rules | array | Optional | Represents the array of Scoring Rule references to monitor. Required when **type** is set to **Selective_Rules**. Maximum items: 50 Minimum items: 1 |
details.rules[] | Model | Each item | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow_rules / item / execute_when / type: score increase, score decrease, score update, zia scoring rule details rules item |
details.trigger_module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The module that actually triggers the rule. Defaults to the rule's top-level module if omitted. Must be explicitly set when the trigger targets a different module, such as a rule on Leads triggered by a note creation event, which requires the trigger module to reference the Notes module. To discover module API names and identifiers, retrieve the available modules from the system. |
details.type | string | Required within parent | Represents the trigger type for scoring rules. Supports score increase and score decrease trigger events. One of: All_Rules, Selective_Rules |
type | string | Required within parent | Represents the trigger type for scoring rules. Supports score increase and score decrease trigger events. One of: score_increase, score_decrease, score_update, zia_scoring_rule |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, List Workflow Rules in your Zoho CRM Organization — response body — workflow_rules / item / execute_when / type: score increase, score decrease, score update, zia scoring rule details rules item
Update Workflow Rule by ID — request body — body workflow rules item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the configuration object for updating an existing workflow rule, including the rule ID and optional fields such as name, trigger, conditions, and lock status. Additional keys: not allowed |
conditions | array | Optional | Specify the array of condition objects to update. On update, unspecified conditions are preserved. Conditions with a null ID are added; conditions with an existing ID get replaced; conditions with a **_delete** flag are removed. Maximum items: 20 |
conditions[] | Model | Each item | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item |
description | string | Optional | Specify the workflow rule description. Maximum length: 1000 |
execute_when | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item execute when Defines the conditions under which the workflow rule will be executed. (Required) |
id | string | Optional | Represents the unique ID of the workflow rule to update. Required. Maximum length: 30 |
lock | object | Optional | Specify whether the workflow rule should be locked to prevent editing by other users. Additional keys: not allowed |
lock.message | string | Optional | Specify a note or label indicating the reason or context for locking the rule. Format: string |
lock.status | boolean | Optional | Specify whether to lock or unlock the workflow rule. Possible values: true - Locks the rule to prevent editing. false - Unlocks the rule. One of: true, false |
module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module |
name | string | Optional | Specify the workflow rule name. Required. Maximum length: 100 |
status | object | Optional | Specify the activation state of the workflow rule. When setting **active** to false, you can optionally delete all associated scheduled actions. Additional keys: not allowed |
status.active | boolean | Optional | Specify whether the workflow rule is active or inactive. Possible values: true - The rule is active and executes when triggered. false - The rule is inactive and does not execute. |
status.delete_schedule_action | boolean | Optional | Specify whether to delete all scheduled actions associated with the workflow rule when deactivating it. Possible values: true - Delete all scheduled actions when the rule is deactivated. false - Preserve scheduled actions when the rule is deactivated. |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item, Update Workflow Rule by ID — request body — body workflow rules item execute when, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module
Update Workflow Rule by ID — request body — body workflow rules item conditions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a single condition within a workflow rule that defines which records are evaluated and what actions are executed when the criteria are met. Additional keys: not allowed |
_delete | null | Optional | Indicates that this condition should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
criteria_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item criteria details Record matching criteria for this condition. When provided, criteria_details must be a JSON object and cannot be null. To match all records, pass an object with criteria set to null, but do not set criteria_details itself to null. This field is required for certain trigger types, such as related module triggers like Notes on Leads. The convert action type requires criteria_details.criteria to be a non-null filter object. Omit criteria_details entirely or pass criteria as null to match all records when the trigger does not require specific criteria and no convert action is present. |
id | string | Optional | Represents the unique ID of the condition. Auto-generated on creation. Required on PUT to identify which condition to update. Format: int64 |
instant_actions | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions Actions to execute immediately when the condition is met. At least one of instant_actions or scheduled_actions must be present - returns MANDATORY_NOT_FOUND if both are absent. |
scheduled_actions | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item scheduled actions Actions to execute after a configured delay. Scheduled actions require both the trigger and the action type to support scheduling. |
sequence_number | integer | Required within parent | Represents the execution order of this condition within the workflow rule, starting from one. Must be unique across all conditions in the rule. Format: int32 |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item criteria details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions, Update Workflow Rule by ID — request body — body workflow rules item conditions item scheduled actions
Update Workflow Rule by ID — request body — body workflow rules item conditions item criteria details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the filter criteria that determine which records satisfy the workflow rule condition. Additional keys: not allowed |
criteria | JSON | Optional | Represents the filter criteria applied to the trigger module records. When null, the rule applies to all records without additional field-level filtering. |
criteria (anyOf 1) | Model | Alternative | Expand Related Records — request body — query filters value |
criteria (anyOf 2) | Model | Alternative | Expand Related Records — request body — query / filters / group_operator: AND, OR, and, or |
criteria (anyOf 3) | null | Alternative | Represents a null variant indicating no criteria or module filter is applied. |
relational_criteria | object | Optional | Represents the filter criteria applied to a related module when the trigger involves cross-module data, such as emails, calls, or notes. Additional keys: not allowed |
relational_criteria.criteria | JSON | Optional | Represents the filter criteria applied to the related module records. Follows the same structure as the top-level criteria field. |
relational_criteria.criteria (anyOf 1) | Model | Alternative | Expand Related Records — request body — query filters value |
relational_criteria.criteria (anyOf 2) | Model | Alternative | Expand Related Records — request body — query / filters / group_operator: AND, OR, and, or |
relational_criteria.criteria (anyOf 3) | null | Alternative | Represents a null variant indicating no criteria or module filter is applied. |
relational_criteria.module | JSON | Optional | Represents the related module to filter on. Required when **module_selection** is set to **specific**. |
relational_criteria.module (anyOf 1) | Model | Alternative | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module |
relational_criteria.module (anyOf 2) | null | Alternative | Represents a null variant indicating no criteria or module filter is applied. |
relational_criteria.module_selection | string or null | Optional | Represents the scope selector for the related module filter. Required when **relational_criteria** is present. One of: all, specific, unknown, null |
Referenced models: Related Records — request body — query / filters / group_operator: AND, OR, and, or, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, Related Records — request body — query filters value
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the container for instant actions that execute immediately when the workflow rule condition is met. Additional keys: not allowed |
actions | array | Required within parent | Represents the array of action objects configured for this condition. Required and must be non-empty. Each action object specifies the action type and its configuration or reference ID. Maximum items: 50 |
actions[] | JSON | Each item | |
actions[] (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Non Associate Actions Nested Schema |
actions[] (anyOf 2) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Associate Actions Nested Schema |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Associate Actions Nested Schema, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Non Associate Actions Nested Schema
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for chat notification actions (slack/cliq/cisco/google_chat/microsoft_teams_notifications). Sends a message to a channel, user, or field-based recipient. Limit: 1 per type per rule. MANDATORY: message (string, supports ${Module.Field} merge fields), notify_to (object with type: 'user'|'channel'|'fields'). For user/channel: provide id + name. For fields: provide module + notify_fields.fields array. EXAMPLE: {"message": "New deal ${Deals.Deal_Name}", "notify_to": {"type": "channel", "id": "C0123", "name": "#sales"}} Additional keys: not allowed |
id | string | Optional | Read-only. Unique identifier for the action, returned in GET responses. Maximum length: 20 |
message | string | Required within parent | REQUIRED. Notification message body. Supports merge fields in ${Module.Field} format (e.g., "New deal ${Deals.Deal_Name} created by ${Deals.Owner}!"). Maximum length: 5000 |
notify_to | object | Required within parent | REQUIRED. Notification target - a channel, user, or field-based recipient. Additional keys: not allowed |
notify_to.id | string | Optional | Required for user/channel types. The integration-specific user or channel ID. Maximum length: 255 |
notify_to.module | object | Optional | Required for type='fields'. The CRM module to resolve field values from. Use GET /settings/modules to discover api_name and id. Additional keys: not allowed |
notify_to.module.api_name | string | Optional | Module API name. Maximum length: 255 |
notify_to.module.id | string | Optional | Module ID. Format: int64 |
notify_to.name | string | Optional | Required for user/channel types. Display name of the user or channel (e.g., '#sales-alerts'). Maximum length: 255 |
notify_to.notify_fields | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value delete, details, id, name, type details notify to notify fields |
notify_to.type | string | Required within parent | Target type. 'user' - send to a specific chat user. 'channel' - send to a chat channel. 'fields' - send to users resolved from CRM field values. One of: user, channel, fields |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type — Chat Notification Action Schema
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that sends a chat notification to an integrated chat service, such as Slack or Zoho Cliq, when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type details Configuration for the chat notification action. Requires a message, which supports merge fields, and a target channel, user, or field to notify. |
id | string | Optional | Represents the unique ID of the ChatNotification action within the workflow rule. Maximum length: 20 |
name | string | Required within parent | Represents the display name of the ChatNotification action. This field is required. Maximum length: 100 |
type | string | Required within parent | Represents chat service type. Each service has a limit of 1 action per rule. One of: slack_notifications, cliq_notifications, cisco_notifications, google_chat_notifications, microsoft_teams_notifications |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type — Social Action Schema
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that publishes a post to a social network such as Facebook or Twitter when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value delete, details, id, name, type details — Automation Social Details Configuration for the social action, containing the message content with merge field support. Required for commenting or replying actions, and not needed for like or retweet actions. |
id | string | Optional | Represents the unique ID of the Social action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the Social action as it appears within the workflow rule configuration. Maximum length: 100 |
type | string | Required within parent | Represents the social action type. Facebook actions require Facebook-specific triggers, and Twitter actions require Twitter-specific triggers. One of: comment_to_post, reply_to_comment, like_to_comment, reply_to_message, retweet, reply_to_tweet |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that schedules a meeting when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this add-meeting action should be removed from the workflow rule when set in a PUT request. When this field is provided with a null value, the platform interprets it as a deletion signal and removes the action from the rules action list. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details Configuration for the add_meeting action. Requires the Events module, a layout, and field mappings that include the event title and start date and time. Also requires the meeting duration, unless the event is set to all day, and specifies whether the record owner or another assigned user hosts the meeting. Optionally restricts creation to prevent duplicate records. |
id | string | Optional | Represents the unique ID of the add-meeting action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the add-meeting action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For add_meeting, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this action as an add-meeting action within the workflow rule. The value is fixed for this action type and must correspond to a type supported by the target module and trigger event. Must equal: add_meeting |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for add_meeting action. Creates an Event record when workflow fires. PREREQUISITES: GET /settings/layouts?module=Events for layout + mandatory fields. GET /settings/fields?module=Events for field ids. MANDATORY: module ({api_name: 'Events', id}), layout ({id}), field_mappings (array 1-25, include Event_Title, Start_DateTime), meeting_duration ({unit: int, period: 'hours'|'minutes'} - NOT when All_Day=true), host_unavailable ({assign_record_owner_as_host: true} or {assign_task: {id}}). OPTIONAL: apply_restriction (bool). Additional keys: not allowed |
apply_restriction | boolean or null | Optional | Whether to enforce assignment-threshold rules (record count limits per user) on the record owner when creating the Event record. When true, the system checks whether the owner has reached their record limit before creating the record. Only effective when the org has assignment thresholds configured. Default: false |
field_mappings | array | Required within parent | Field mappings for the new Event. Each entry: {"field": {"api_name": "Event_Title"}, "type": "static", "value": "Meeting"}. Must include all mandatory fields from GET /settings/layouts?module=Events. Common fields: Event_Title, Start_DateTime, All_Day, Participants (composite type), Remind_At. End_DateTime is auto-computed from Start_DateTime + meeting_duration - do NOT provide it. Mapping types: static - literal values for text, picklist fields; NOT for DateTime/ALARM (DEPENDENT_MISMATCH). merge_field - runtime tokens like ${!Leads.Company} for text-based fields; NOT for lookup/owner (DEPENDENT_MISMATCH). execution_time - REQUIRED for Start_DateTime and Remind_At; sign required for datetime; periods: days, business_days, hours, minutes. When All_Day=true, period must be "days" and omit meeting_duration. Maximum items: 25 Minimum items: 1 |
field_mappings[] | Model | Each item | Expand Create an Automation Task — request body — body tasks item field mappings item Represents a single field-to-value mapping entry for the new Event record, conforming to the AutomationFieldMappings schema. Each entry identifies a target Event field and specifies the value resolution strategy: static for literal values, merge_field for runtime token substitution, or execution_time for dynamically resolved DateTime and ALARM fields. |
host_unavailable | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details host unavailable Fallback behavior when the designated meeting host is unavailable. Either assign the record owner as host (assign_record_owner_as_host=true) or create a follow-up task (assign_task with a pre-configured task ID). Exactly one option must be specified; providing both returns INVALID_DATA with field1/field2 conflict, providing neither returns EXPECTED_FIELD_MISSING. |
id | string | Optional | Server-generated unique identifier for this add meeting action. Present only in GET responses; not required in POST requests. Maximum length: 20 |
layout | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout Layout to use when creating the Event record. Determines which fields are available and their validation rules. Fetch valid layouts from GET /settings/layouts?module=Events. The layout.id is required. |
meeting_duration | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details meeting duration Duration of the meeting. Specifies a numeric value and time period (e.g., 1 hour, 30 minutes). Required when All_Day is not set to true in field_mappings. If All_Day is true, meeting_duration must not be provided - the API returns INVALID_DATA with field1/field2 conflict details. |
module | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module Target module for the meeting. Must be the Events module. Provide either api_name ("Events") or the Events module id. |
Referenced models: Create an Automation Task — request body — body tasks item field mappings item, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details host unavailable, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details meeting duration, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details host unavailable
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Fallback when meeting host or caller is unavailable. Exactly ONE must be specified: assign_record_owner_as_host (bool) OR assign_task ({id}). Both = INVALID_DATA. Neither = EXPECTED_FIELD_MISSING. Additional keys: not allowed |
assign_record_owner_as_host | boolean | Optional | When true, the record owner is automatically assigned as the host/caller if the originally designated host is unavailable. Mutually exclusive with assign_task. |
assign_task | object or null | Optional | A follow-up task to create when the host is unavailable. Mutually exclusive with assign_record_owner_as_host. The task must be pre-configured in the CRM. Additional keys: not allowed |
assign_task.id | string | Required within parent | Unique ID of the pre-configured task. Maximum length: 20 |
assign_task.name | string | Optional | Name of the follow-up task. Maximum length: 255 |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting details meeting duration
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Meeting duration for add_meeting. MANDATORY unless All_Day=true. REQUIRED: unit (integer - quantity), period (string - 'hours' or 'minutes'). Must be a JSON object (not int/string - INVALID_DATA). Omitting returns MANDATORY_NOT_FOUND. If All_Day=true and provided, returns INVALID_DATA (field1/field2 conflict). EXAMPLE: {"unit": 1, "period": "hours"} Additional keys: not allowed |
period | string | Required within parent | The time unit for the duration. "hours" - duration in hours (e.g., unit=1, period=hours means a 1-hour meeting). "minutes" - duration in minutes (e.g., unit=30, period=minutes means a 30-minute meeting). One of: hours, minutes Maximum length: 10 |
unit | integer | Required within parent | The numeric duration value (e.g., 1, 2, 30). Format: int32 |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add tags
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that adds pre-existing tags to the triggering record when the workflow rule condition is met. Additional keys: not allowed |
_delete | null | Optional | Indicates that this add-tags action should be removed from the workflow rule when set in a PUT request. When this field is provided with a null value, the platform interprets it as a deletion signal and removes the action from the rules action list. |
details | Model | Required within parent | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type add tags details |
id | string | Optional | Represents the unique ID of the add-tags action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the add-tags action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For add_tags, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this action as an add-tags action within the workflow rule. The value is fixed for this action type and must correspond to a type supported by the target module and trigger event. Must equal: add_tags |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type add tags details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that assigns or reassigns the record owner when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details Configuration for the assign_owner action. Requires a module reference and an assign_to array with one to five entries, each specifying who to assign the record to — a user, role, group, assignment rule, or profile, a merge field, or matching criteria. Optionally sends a notification, includes related records, applies an assignment threshold, or bases assignment on user availability. |
id | string | Optional | Represents the unique ID of the AssignOwner action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the AssignOwner action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For assign_owner, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this as a AssignOwner action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: assign_owner |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for assign_owner action. Assigns/reassigns record owner via user, role, group, profile, assignment_rule, merge_field, or criteria. MANDATORY: module ({api_name, id} - must match trigger module), assign_to (array 1-5 entries). OPTIONAL: notify (bool), related_records ([{api_name, id}] - Tasks/Calls/Events), apply_assignment_threshold (bool), user_availability_based_on, lookup_field (for cross-module). EXAMPLE: {"module": {"api_name": "Leads", "id": "111111000000000175"}, "assign_to": [{"type": "user", "resource": {"id": "111111000000050001", "name": "John"}}], "notify": true} Additional keys: not allowed |
apply_assignment_threshold | boolean | Optional | Whether to enforce assignment-threshold rules (record count limits per user) when assigning ownership. When true, the system checks whether the new owner has reached their record limit before applying the assignment. Only effective when the org has assignment thresholds configured. Default: false |
assign_to | array | Required within parent | Specifies how the new owner is determined. Each entry defines an assignment method - a specific user, role, group, assignment rule, profile, merge field, or criteria-based filter. For round-robin assignment across multiple users, provide multiple entries of type=user. For criteria-based assignment, provide a single entry of type=criteria with filter conditions. Maximum items: 5 Minimum items: 1 |
assign_to[] | JSON | Each item | Represents a single owner-assignment entry that determines how the new record owner is resolved. Each entry is one of three variants: AutomationAssignToResourceEntry (assigns ownership to a specific user, role, group, assignment rule, or profile), AutomationAssignToMergeFieldEntry (resolves the owner at runtime from a user-type lookup field on the trigger record), or AutomationAssignToCriteriaEntry (determines the owner by evaluating filter criteria at runtime). |
assign_to[] (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / conditions / item / instant_actions / actions / item / value / type assign_owner / details / assign_to / item / associated_to: team profile, None, type: user, role, group, assignment rule, profile |
assign_to[] (anyOf 2) | Model | Alternative | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type assign owner details assign to item type merge field |
assign_to[] (anyOf 3) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details assign to item type criteria |
id | string | Optional | Server-generated unique identifier for this assign owner action. Present only in GET responses; not required in POST or PUT requests. Maximum length: 20 |
lookup_field | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type assign owner details lookup field The lookup field linking the trigger module to the target module. Required only for cross-module assign owner actions (where the action's module differs from the workflow rule's trigger module). For same-module assignments, this field is omitted and the action operates directly on the triggering record. |
module | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module Target module for the ownership assignment. Must match the workflow rule's trigger module for direct assignments, or the lookup field's related module for cross-module assignments. At least api_name or id must be provided; if both are given and they do not match, the API returns AMBIGUITY_DURING_PROCESSING. |
notify | boolean | Optional | Whether to send an email notification to the new owner when the record is reassigned. When true, the newly assigned owner receives an email informing them of the ownership change. Default: false |
related_records | array or null | Optional | Related modules whose open record ownership should also be transferred when the parent record is reassigned. Common activity modules (Tasks, Calls, Events) are available for all modules. Additional modules depend on the parent module: Accounts can also include Contacts and Deals; Contacts can also include Deals. Null when no related modules are selected for ownership transfer. Maximum items: 5 |
related_records[] | Model | Each item | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details related records item |
user_availability_based_on | array or null | Optional | Restricts assignment to users who are currently available. When set to ["online_status"], only users logged in to the Zoho CRM web interface are eligible for assignment. If the selected user is offline, the assignment is skipped or deferred. Null means no availability check is applied. Maximum items: 1 |
user_availability_based_on[] | string | Each item | Availability criterion. Currently only "online_status" is supported - restricts to users currently logged in to Zoho CRM web interface. One of: online_status |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details assign to item type criteria, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type assign owner details assign to item type merge field, Update Workflow Rule by ID — request body — body / workflow_rules / item / conditions / item / instant_actions / actions / item / value / type assign_owner / details / assign_to / item / associated_to: team profile, None, type: user, role, group, assignment rule, profile, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type assign owner details lookup field, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details related records item
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details assign to item type criteria
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: assign_to entry for criteria-based ownership. Evaluates filter criteria against the triggering record at execution time. MANDATORY: type (const 'criteria'), details.criteria (filter condition - simple or grouped with AND/OR). Criteria fields must reference valid trigger module fields - GET /settings/fields?module={api_name}. Additional keys: not allowed |
allow_agent_user | boolean | Optional | Whether to allow assignment to an agent user or not. When true, the record can be assigned to an agent user also. When false, agent users are excluded from assignment. Applicable only for types: role, group, profile, merge_field, criteria. Not supported for types user and assignment_rule. Default: false |
details | object | Required within parent | Contains the filter criteria to evaluate against the triggering record. Additional keys: not allowed |
details.criteria | Model | Required within parent | Expand Related Records — request body — query filters Filter criteria defining when this assignment applies. Can be a simple condition (field + comparator + value) or a grouped condition (group_operator + group array). The field references in criteria must be valid fields of the trigger module - fetch available fields from GET /settings/fields?module={module_api_name}. For example: {"field": {"api_name": "Department"}, "comparator": "equal", "value": "Engineering"} assigns ownership when the record's Department is Engineering. |
resource | null | Optional | Always null for criteria-based assignments. The owner is determined by the criteria evaluation logic. |
type | string | Required within parent | Assignment method indicating criteria-based evaluation. Must equal: criteria |
Referenced models: Related Records — request body — query filters
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details related records item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Identifies a related module whose open records' ownership should be transferred alongside the parent record. Used by assign_owner actions, field_updates (Owner field), and convert actions (change_owner.related_modules). Common activity modules (Tasks, Calls, Events) are available for all modules and actions. Contacts is available for assign_owner when parent is Accounts, and for convert when converting Leads. Deals is available for assign_owner when parent is Accounts or Contacts, and for convert when converting Leads (requires create_deal=true). Additional keys: not allowed |
api_name | string | Required within parent | API name of the related module. Events, Calls, Tasks - open activity records, available for all modules and actions (assign_owner, convert). Contacts - available for assign_owner when parent is Accounts, and for convert when converting Leads. Deals - available for assign_owner when parent is Accounts or Contacts, and for convert when converting Leads (requires create_deal=true). One of: Events, Calls, Tasks, Contacts, Deals Maximum length: 255 |
id | string | Optional | Unique identifier of the related module. This is the module ID corresponding to the api_name. Maximum length: 255 |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that converts a record to another module type, such as converting a lead to a contact, account, and deal. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details Configuration for converting records. This action is only available when the trigger module is Leads, Quotes, or Sales_Orders. The convert action requires non-null criteria in the condition; null criteria will result in a dependent field missing error. For Leads conversion, the following fields are mandatory: add_to_existing_contact, add_to_existing_account, apply_restriction, and change_owner which is an object containing the apply_assignment_threshold flag. Key optional fields include create_deal for creating a deal, carry_tags which is an array of module references and not a boolean, field_mappings with a maximum of 25 entries, move_attachment_to for specifying a target module, contact_role which is applicable only when create_deal is true, and convert_to which is used for Quotes and SalesOrders conversions. Example configuration for a Leads conversion without creating a deal. |
id | string | Optional | Represents the unique ID of the Convert action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the Convert action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For convert, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this as a Convert action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: convert |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for convert action. Converts records - Leads to Contacts+Accounts+Deals, Quotes to SalesOrders/Invoices, SalesOrders to Invoices. PREREQUISITES: criteria_details.criteria MUST be non-null (NOT_ALLOWED otherwise). Module MUST be Leads/Quotes/Sales_Orders. MANDATORY (Leads): add_to_existing_contact (bool), add_to_existing_account (bool). MANDATORY (Quotes/Sales_Orders): convert_to ({api_name, id}). OPTIONAL: change_owner, carry_tags (ARRAY [{api_name, id}] NOT boolean), field_mappings (max 25), move_attachment_to, create_deal (Leads only), contact_role (with create_deal). CONSTRAINTS: No add_tags/remove_tags with convert on Leads. No scheduled actions with convert. Additional keys: not allowed |
add_to_existing_account | boolean | Optional | MANDATORY for Leads conversion (omitting returns MANDATORY_NOT_FOUND). Whether to link the converted record to an existing Account instead of creating a new one. Only applicable for Leads module. When true, if a matching Account exists (based on Company name), the Lead is linked to it rather than creating a new Account. Not applicable for Quotes or Sales_Orders conversions. Default: false |
add_to_existing_contact | boolean | Optional | MANDATORY for Leads conversion (omitting returns MANDATORY_NOT_FOUND). Whether to link the converted record to an existing Contact instead of creating a new one. Only applicable for Leads module. When true, if a matching Contact exists (based on duplicate-check criteria), the Lead is merged into it rather than creating a new Contact. Not applicable for Quotes or Sales_Orders conversions. Default: false |
apply_restriction | boolean or null | Optional | Whether to enforce assignment-threshold rules on the record owner during conversion. Present in GET responses. Default: false |
carry_tags | array | Optional | List of target modules that should inherit tags from the source record during conversion. For Leads: may include Contacts, Accounts, Deals. Each entry identifies a module by api_name and/or id. Maximum items: 10 |
carry_tags[] | Model | Each item | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module Represents a module reference, conforming to the AutomationModuleRef schema, that identifies a target module whose records should inherit tags from the source record during conversion. At least one of api_name or id is required to identify the module; valid values are obtainable from GET /settings/modules. |
change_owner | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details change owner New owner assignment for the converted records. Specifies the user (by id) who should own the converted records, which modules should receive the new owner (via related_modules), and whether to enforce assignment thresholds. When omitted, the source record's owner is retained. |
contact_role | string | Optional | Unique ID of the Contact Role to assign when a Deal is created during Leads conversion. Only applicable when create_deal=true. Obtain valid Contact Role IDs from GET /Contacts/roles. Maximum length: 20 |
convert_to | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type convert details convert to |
create_deal | boolean | Optional | Whether to create a Deal record as part of Leads conversion. Only applicable when the trigger module is Leads. When true, the Deal module field mappings in field_mappings are used to populate the new Deal. Default: false |
field_mappings | array | Optional | List of field-value pairs to populate in the converted record(s). Each entry maps a target field to a value using one of the supported types: static, merge_field, or execution_time. For Leads conversion, field mappings can target Contacts, Accounts, and Deals modules. Fetch available fields from GET /settings/fields?module={target_module_api_name}. Maximum items: 25 |
field_mappings[] | Model | Each item | Expand Create an Automation Task — request body — body tasks item field mappings item Represents a single field-to-value mapping entry for the converted record, conforming to the AutomationFieldMappings schema. Each entry identifies the target field and specifies the value resolution strategy: static for literal values, merge_field for runtime token substitution, or execution_time for dynamically resolved values. |
id | string | Optional | Server-generated unique identifier for this convert action. Present only in GET responses; not required in POST requests. Maximum length: 20 |
move_attachment_to | Model | Optional | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module Target module to which attachments from the source record should be moved during conversion. For Leads: typically Contacts or Accounts. For Quotes/SalesOrders: the target conversion module. Provide api_name and/or id. |
portal_user_type | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type convert details portal user type |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details change owner, Create an Automation Task — request body — body tasks item field mappings item, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type convert details convert to, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type convert details portal user type
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert details change owner
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Owner assignment during convert action. MANDATORY: id (user ID from GET /users). OPTIONAL: name, related_modules ([{api_name, id}] - which converted modules get new owner), apply_assignment_threshold (bool). For Leads: related_modules can include Events, Calls, Tasks, Contacts, Deals. Additional keys: not allowed |
apply_assignment_threshold | boolean | Optional | Whether to enforce assignment-threshold rules (record count limits per user) on the new owner for each converted module. When true, the system checks whether the new owner has reached their record limit before assigning ownership. Default: false |
id | string | Required within parent | Unique user ID of the new owner. Obtain from GET /users. Must be an active user with permissions on the target modules. Maximum length: 20 |
name | string | Optional | Full name of the new owner. Optional - present in GET responses for display purposes. Maximum length: 255 |
related_modules | array | Optional | List of target modules whose records should receive the new owner during conversion. Reuses the same related-record concept as assign_owner. For Leads conversion: Events, Calls, Tasks, Contacts, Deals are valid. For Quotes/SalesOrders conversion: only Events, Calls, Tasks are valid. Maximum items: 10 |
related_modules[] | Model | Each item | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details related records item Represents a related module reference, conforming to the AutomationRelatedRecord schema, that identifies a child module whose records should also receive the new owner assignment during the conversion operation. At least one of api_name or id is required to identify the child module. |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner details related records item
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Represents the optional action-specific configuration attached to an associate action, such as best-time delivery settings for email notifications or lookup field references for field updates. |
$ (anyOf 1) | object | Alternative | Represents the email notification related details, including best-time delivery configuration. Additional keys: not allowed |
$ (anyOf 1).best_time | boolean | Optional | Indicates whether to send the email notification at the best time for the recipient. When set to true, the platform determines the optimal send time. |
$ (anyOf 2) | object | Alternative | Represents the task related details, including followup task configuration. Additional keys: not allowed |
$ (anyOf 2).followup_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details followup details followup details |
$ (anyOf 3) | object | Alternative | Represents the field update related details, including the lookup field for cross-module updates. Additional keys: not allowed |
$ (anyOf 3).lookup_field | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The lookup field linking the rule module to the target module (e.g., Account_Name on Contacts). Provide the field's id and api_name. When the field update targets the same module, related_details is null. |
$ (anyOf 4) | null | Alternative | Represents a null value indicating no related details are configured for this action. |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details followup details followup details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create connected record
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that creates a connected record in a child module when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create connected record details Configuration for the create_connected_record action. Uses the same structure as create_record — module, layout, and field mappings — but the module must be a valid connected-record child module. Not supported for the Notes, Rebuy, or Competitor Mentions modules. |
id | string | Optional | Represents the unique ID of the CreateConnectedRecord action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the CreateConnectedRecord action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. Not typically used for create_connected_record. |
type | string | Required within parent | Represents the action type discriminator that identifies this as a CreateConnectedRecord action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: create_connected_record |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create connected record details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create connected record details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for create_connected_record action. Same as create_record but module must be a connected-record child of the rule's module. Requires ManageAutomation or ManageConnectedWorkflow permission. Not for Notes, Rebuy, Competitor Mentions. Limit: 1/rule. MANDATORY: module ({api_name, id} of child), layout ({id}), field_mappings (array 1-25, include all mandatory fields). OPTIONAL: apply_restriction (bool). Additional keys: not allowed |
apply_restriction | boolean | Optional | Apply assignment/workflow restrictions. Default true. |
field_mappings | array | Required within parent | REQUIRED. Field mapping array (1-25 entries). Use GET /settings/fields?module={api_name} to discover field api_name and id. All mandatory fields for the target module/layout must be included. Maximum items: 25 |
field_mappings[] | Model | Each item | Expand Create an Automation Task — request body — body tasks item field mappings item Represents a single field-to-value mapping entry for the new connected record, conforming to the AutomationFieldMappings schema. Each entry identifies a target field via its api_name and id, and specifies the value resolution strategy: static for literal values, merge_field for runtime token substitution, execution_time for dynamically resolved values, or composite for compound values. |
id | string | Optional | Read-only. Unique identifier for the action. Maximum length: 20 |
layout | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout Represents a layout reference, conforming to the AutomationLayoutRef schema, that determines which layout is applied when creating the connected record. The id field is mandatory and governs which fields are available and required for the target module; valid layout identifiers are obtainable from GET /settings/layouts?module={api_name}. |
module | object | Required within parent | REQUIRED. Target child module for connected record creation. Must be a valid connected-record child module of the rule's module. Use GET /settings/modules to discover api_name and id. Additional keys: not allowed |
module.api_name | string | Required within parent | Module API name. Maximum length: 255 |
module.id | string | Optional | Module ID. Format: int64 |
Referenced models: Create an Automation Task — request body — body tasks item field mappings item, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that creates a new record in a specified CRM module when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record details Configuration for the create_record action. Requires a module, a layout, and one to twenty-five field mappings that supply values for the new record fields, using a static value, a merge field, an execution-time offset, or a composite value. All fields marked mandatory by the layout must be included. Optionally restricts creation to prevent duplicate records. |
id | string | Optional | Represents the unique ID of the CreateRecord action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the CreateRecord action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For create_record, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this as a CreateRecord action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: create_record |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for create_record action. Creates a record in a module with field values from static data, merge fields, or execution-time refs. NOT for Tasks/Events/Calls (use tasks, add_meeting, schedule_call). PREREQUISITES: GET /settings/modules for id. GET /settings/layouts?module={api_name} for layout + mandatory fields. GET /settings/fields?module={api_name} for field ids. MANDATORY: module ({api_name, id}), layout ({id}), field_mappings (array 1-25, include all mandatory fields). OPTIONAL: apply_restriction (bool). EXAMPLE: {"module": {"api_name": "Contacts", "id": "111111000000000129"}, "layout": {"id": "111111000000000403"}, "field_mappings": [{"field": {"api_name": "Last_Name"}, "type": "merge_field", "value": "${!Leads.Last_Name}"}]} Additional keys: not allowed |
apply_restriction | boolean or null | Optional | Whether to enforce assignment-threshold rules (record count limits per user) on the record owner when creating the record. When true, the system checks whether the owner has reached their record limit before creating the record. Only effective when the org has assignment thresholds configured. Default: false |
field_mappings | array | Required within parent | Field mappings for the new record. Each entry: {"field": {"api_name": "Last_Name"}, "type": "static", "value": "Test"}. Must include all mandatory fields (system_mandatory=true or api_mandatory=true from GET /settings/layouts?module={module}) - missing ones cause REQUIRED_DATA_NOT_FOUND. Mapping types: static - literal values for text, picklist, phone, number fields; NOT for Date/DateTime/ALARM (DEPENDENT_MISMATCH) or unique fields (INVALID_DATA, check unique=true in GET /settings/fields). merge_field - runtime tokens like ${!Leads.Company} for text-based fields; NOT for lookup/owner fields (DEPENDENT_MISMATCH). execution_time - REQUIRED for Date/DateTime/ALARM fields; periods: days, business_days, hours, minutes; sign required for datetime fields. Maximum items: 25 Minimum items: 1 |
field_mappings[] | Model | Each item | Expand Create an Automation Task — request body — body tasks item field mappings item Represents a single field-to-value mapping entry for the new record, conforming to the AutomationFieldMappings schema. Each entry identifies the target field via a field reference and specifies the value resolution strategy through a type discriminator: static for literal values, merge_field for runtime token substitution, execution_time for dynamically resolved values, or composite for compound values. |
id | string | Optional | Server-generated unique identifier for this create record action. Present only in GET responses; not required in POST requests. Maximum length: 20 |
layout | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout Layout to use when creating the record. Determines which fields are available and their validation rules. Fetch valid layouts from GET /settings/layouts?module={module_api_name}. The layout.id is required. |
module | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module Target module in which the new record will be created. Supported modules: Leads, Contacts, Potentials (Deals), Accounts, Products, Cases, custom modules, and team modules. NOT supported: Tasks, Events, Calls - use add_meeting for Events and schedule_call for Calls. Fetch available modules from GET /settings/modules. At least api_name or id must be provided; always use the full 19-digit module ID as returned by the modules API. |
Referenced models: Create an Automation Task — request body — body tasks item field mappings item, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details layout, Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details module
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record email
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that creates a record via an email-based trigger, applicable to modules such as Leads or Contacts. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record email details Configuration for the create-record-from-email action. Requires the target module, either Leads or Contacts, and exactly one field mapping that assigns the record owner. |
id | string | Optional | Represents the unique ID of the EmailCreateRecord action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the EmailCreateRecord action as it appears within the workflow rule configuration. Maximum length: 100 |
type | string | Required within parent | Represents the action type discriminator that identifies this as a EmailCreateRecord action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: create_record_email |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record email details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record email details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | PURPOSE: Details object for create_record_email action. Creates a record via email for Leads or Contacts only. Limit: 1/rule. MANDATORY: module ({api_name: 'Leads'|'Contacts'}), field_mappings (exactly 1 entry with field + value for owner assignment). value.type: 'user'|'role'|'group'|'country'. Errors: no_data if empty, too_many_records if >1. Additional keys: not allowed |
field_mappings | array | Required within parent | REQUIRED. Exactly 1 field mapping entry. More than 1 returns too_many_records, none returns no_data. Maximum items: 1 Minimum items: 1 |
field_mappings[] | object | Each item | A field-to-value mapping entry for email-based record creation. Additional keys: not allowed |
field_mappings[].field | object | Required within parent | Field reference. Use GET /settings/fields?module={api_name} to discover. Additional keys: not allowed |
field_mappings[].field.api_name | string | Optional | Field API name. Maximum length: 255 |
field_mappings[].field.id | string | Optional | Field ID. Format: int64 |
field_mappings[].value | object | Required within parent | Owner assignment details. Additional keys: not allowed |
field_mappings[].value.resource | object | Optional | Assignment target reference. Additional keys: not allowed |
field_mappings[].value.resource.id | string | Optional | Resource ID. Format: int64 |
field_mappings[].value.type | string | Required within parent | Owner assignment type. One of: user, role, group, country |
id | string | Optional | Read-only. Unique identifier for the action. Maximum length: 20 |
module | object | Required within parent | REQUIRED. Target module - only 'Leads' or 'Contacts' allowed. Additional keys: not allowed |
module.api_name | string | Required within parent | Module API name. Must be 'Leads' or 'Contacts'. One of: Leads, Contacts |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type remove tags
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that removes one or more tags from the triggering record when the workflow rule condition is met. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type remove tags details Configuration for remove_tags actions. The tags array is required and must contain between 1 and 10 entries, each specifying both the tag identifier and name. Tags must already exist in the system before they can be removed. The module reference is optional but when provided, its API name and identifier must match the trigger module. The over_write field is accepted for type compatibility but its value is ignored for remove_tags operations. This action is invalid when the same rule contains an add_tags action with over_write set to true. It cannot be used alongside a convert action on Leads modules, as this combination triggers an AMBIGUITY_DURING_PROCESSING error. The remove_tags action is not supported for Visits, Users, or LinkingModules. Example configuration: {"tags": [{"id": "111111000000050001", "name": "Hot Lead"}], "module": {"api_name": "Leads", "id": "111111000000000175"}} |
id | string | Optional | Represents the unique ID of the RemoveTags action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the RemoveTags action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For remove_tags, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this as a RemoveTags action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: remove_tags |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type remove tags details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type schedule call
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a non-associate action that schedules a call activity on the triggering record when the workflow rule condition is met. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | Model | Required within parent | Expand Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details Configuration for the schedule_call action. Requires the Calls module, a layout, and field mappings that include the call subject. Optionally restricts creation to prevent duplicate records. |
id | string | Optional | Represents the unique ID of the ScheduleCall action within the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the ScheduleCall action as it appears within the workflow rule configuration. Maximum length: 100 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details Optional. For schedule_call, related_details is not typically used. Applicable sub-fields: best_time (for email_notifications only), followup_details (for tasks only), lookup_field (for field_updates only). |
type | string | Required within parent | Represents the action type discriminator that identifies this as a ScheduleCall action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: schedule_call |
Referenced models: Cadence — request body — body / cadences / item / follow_ups / item / action / type: schedule call details, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents an associate action that creates a task based on a pre-configured task template when the workflow rule condition is triggered. Additional keys: not allowed |
_delete | null | Optional | Indicates that this action should be removed from the workflow rule when set in a PUT request. Provide a null value to signal deletion. |
details | object | Optional | Represents the read-only details of the associated task action. Returned in GET responses and not required in POST or PUT requests. Additional keys: not allowed |
details.module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The module this action applies to. |
id | string | Required within parent | Represents the unique ID of the task action. Required to associate a pre-configured task with the workflow rule. Maximum length: 20 |
name | string | Optional | Represents the display name of the TaskAssociate action. Returned in GET responses and derived from the referenced action configuration. Maximum length: 500 |
related_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details Configures a followup task that is automatically created after the original task, based on a status condition and time delay. Null when no followup is configured. |
type | string | Required within parent | Represents the action type discriminator that identifies this as a TaskAssociate action within the workflow rule. The value is fixed for this action type and must be supported by the target module and trigger event. Must equal: tasks |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Represents the optional related configuration details for task actions, specifying whether and how a followup task should be created. |
$ (anyOf 1) | object | Alternative | Represents the followup task configuration that defines the status condition and delay for automatically creating a followup task. Additional keys: not allowed |
$ (anyOf 1).followup_details | Model | Optional | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details followup details followup details |
$ (anyOf 2) | null | Alternative | Represents a null value indicating no followup task is configured for this task action. |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks related details followup details followup details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the followup task configuration, including the trigger condition and delay settings. Additional keys: not allowed |
condition | string | Optional | Represents the task status condition that triggers the followup task, such as **Completed** or **Not Started**. Maximum length: 255 |
period | string | Optional | Represents the time period label for the delay before creating the followup task, such as **days**, **hours**, or **minutes**. Maximum length: 50 |
unit | integer | Optional | Represents the numeric time value for the delay before creating the followup task. Format: int32 |
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Associate Actions Nested Schema
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type email notifications, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type field updates, Update Workflow Rule by ID — request body — body / workflow_rules / item / conditions / item / instant_actions / actions / item / value / type: webhooks, functions, sms, whatsapp, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type tasks
Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Non Associate Actions Nested Schema
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add meeting, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type add tags, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type assign owner, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type — Chat Notification Action Schema, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type circuits, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type convert, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create connected record, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type create record email, List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item conditions item instant actions actions item value type flow, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type remove tags, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value type schedule call, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value delete, details, id, name, type — Social Action Schema
Update Workflow Rule by ID — request body — body workflow rules item conditions item scheduled actions
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | array or null | Root | Represents the container for scheduled actions that execute after a configured delay from the time the workflow rule condition is triggered. Maximum items: 5 |
$[] | object or null | Each item | Specify when the scheduled actions should be executed Additional keys: not allowed |
$[].actions | array | Required within parent | Represents the array of action objects for this scheduled group. Uses the same associate and non-associate action structure as instant actions, but only action types that support scheduled execution are allowed. Per-type limits apply independently to instant and scheduled actions. Maximum items: 50 |
$[].actions[] | JSON | Each item | |
$[].actions[] (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Non Associate Actions Nested Schema |
$[].actions[] (anyOf 2) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Associate Actions Nested Schema |
$[].execute_after | object | Optional | Defines the delay before the scheduled actions execute. Required. Cannot be an empty object. Additional keys: not allowed |
$[].execute_after.period | string | Required within parent | Represents the type of time interval. Required. Must be one of the allowed period values (invalid_schedule_actions_period if invalid). business_hours and business_days are only available when org business hours are configured. The API returns available periods from getWorkflowConfigurations. One of: minutes, hours, days, weeks, months, years, business_hours, business_days |
$[].execute_after.unit | integer | Required within parent | Represents the numeric delay value. Required. Allowed ranges per period (unit_not_allowed_for_period if out of range): minutes: 5-180 (2-180 if 1-min repetition feature is enabled), hours: 0-99, days: 0-2000, weeks: 0-100, months: 0-24, years: 0-10, business_hours: 0-99, business_days: 0-2000. All values must be non-negative (no pre-event offsets for scheduled actions). Format: int32 |
$[].id | string | Optional | Represents unique Id of the scheduled action Maximum length: 20 |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Associate Actions Nested Schema, Update Workflow Rule by ID — request body — body workflow rules item conditions item instant actions actions item value — Non Associate Actions Nested Schema
Update Workflow Rule by ID — request body — body workflow rules item execute when
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Represents the trigger configuration that defines when the workflow rule fires, including the trigger type and its associated details. discriminator: {"mapping": {"activate": "#/components/schemas/ExecuteWhenT1Simple", "anyaction": "#/components/schemas/ExecuteWhenT1Simple", "cancel": "#/components/schemas/ExecuteWhenT1Simple", "create": "#/components/schemas/ExecuteWhenT1Simple", "create_or_edit": "#/components/schemas/ExecuteWhenT1Simple", "date_or_datetime": "#/components/schemas/ExecuteWhenT4DateBased", "deactivate": "#/components/schemas/ExecuteWhenT1Simple", "delete": "#/components/schemas/ExecuteWhenT1Simple", "edit": "#/components/schemas/ExecuteWhenT1Simple", "email_received": "#/components/schemas/ExecuteWhenT1Simple", "email_received_notreplied": "#/components/schemas/ExecuteWhenT5TimeOffset", "email_received_opened_notreplied": "#/components/schemas/ExecuteWhenT5TimeOffset", "fb_comment_on_page": "#/components/schemas/ExecuteWhenT1Simple", "fb_like_on_post": "#/components/schemas/ExecuteWhenT1Simple", "fb_post_on_page": "#/components/schemas/ExecuteWhenT1Simple", "fb_send_message": "#/components/schemas/ExecuteWhenT1Simple", "field_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "incoming_call_createedit": "#/components/schemas/ExecuteWhenT1Simple", "incoming_call_edit": "#/components/schemas/ExecuteWhenT1Simple", "incoming_call_field_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "incoming_call_ring": "#/components/schemas/ExecuteWhenT1Simple", "incoming_call_section_update": "#/components/schemas/ExecuteWhenT3SectionUpdate", "incoming_call_start": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent_bounced": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent_clicked": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent_notopened": "#/components/schemas/ExecuteWhenT5TimeOffset", "mail_sent_notreplied": "#/components/schemas/ExecuteWhenT5TimeOffset", "mail_sent_opened": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent_opened_notreplied": "#/components/schemas/ExecuteWhenT5TimeOffset", "mail_sent_replied": "#/components/schemas/ExecuteWhenT1Simple", "mail_sent_replied_within": "#/components/schemas/ExecuteWhenT7EmailRepliedWithin", "marked_as_complete": "#/components/schemas/ExecuteWhenT1Simple", "missed_call": "#/components/schemas/ExecuteWhenT1Simple", "outgoing_call_createedit": "#/components/schemas/ExecuteWhenT1Simple", "outgoing_call_edit": "#/components/schemas/ExecuteWhenT1Simple", "outgoing_call_field_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "outgoing_call_ring": "#/components/schemas/ExecuteWhenT1Simple", "outgoing_call_section_update": "#/components/schemas/ExecuteWhenT3SectionUpdate", "outgoing_call_start": "#/components/schemas/ExecuteWhenT1Simple", "overdue": "#/components/schemas/ExecuteWhenT5TimeOffset", "reassign": "#/components/schemas/ExecuteWhenT1Simple", "recommendation_rebuy": "#/components/schemas/ExecuteWhenT5TimeOffset", "reschedule": "#/components/schemas/ExecuteWhenT1Simple", "rollup_summary_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "scheduled_call_createedit": "#/components/schemas/ExecuteWhenT1Simple", "scheduled_call_edit": "#/components/schemas/ExecuteWhenT1Simple", "scheduled_call_field_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "scheduled_call_section_update": "#/components/schemas/ExecuteWhenT3SectionUpdate", "score_decrease": "#/components/schemas/ExecuteWhenT6ScoreUpdate", "score_increase": "#/components/schemas/ExecuteWhenT6ScoreUpdate", "score_update": "#/components/schemas/ExecuteWhenT6ScoreUpdate", "section_update": "#/components/schemas/ExecuteWhenT3SectionUpdate", "stage_automation_field_update": "#/components/schemas/ExecuteWhenT2FieldUpdate", "tw_comment_on_tweet": "#/components/schemas/ExecuteWhenT1Simple", "tw_mention_on": "#/components/schemas/ExecuteWhenT1Simple", "tw_retweet_on_tweet": "#/components/schemas/ExecuteWhenT1Simple", "tw_send_message": "#/components/schemas/ExecuteWhenT1Simple", "voc_incoming_signal": "#/components/schemas/ExecuteWhenT1Simple", "zia_scoring_rule": "#/components/schemas/ExecuteWhenT6ScoreUpdate"}, "propertyName": "type"} |
$ (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T1 Simple |
$ (anyOf 2) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T2 Field Update |
$ (anyOf 3) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T3 Section Update |
$ (anyOf 4) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: date or datetime |
$ (anyOf 5) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T5 Time Offset |
$ (anyOf 6) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: score increase, score decrease, score update, zia scoring rule |
$ (anyOf 7) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: mail sent replied within |
Referenced models: Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T1 Simple, Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T2 Field Update, Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T3 Section Update, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: date or datetime, Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T5 Time Offset, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: score increase, score decrease, score update, zia scoring rule, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / type: mail sent replied within
Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T1 Simple
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a simple trigger type (T1) that fires on record creation, editing, deletion, or when specific CRM events occur, with optional repeat and cross-module support. Additional keys: not allowed |
details | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item execute when details, type details — shared_details_819c866740fd |
type | string | Required within parent | Represents the trigger API name that activates the workflow rule. Supported values vary by module; use the getWorkflowConfigurations endpoint to retrieve supported triggers for the target module. One of: create, edit, create_or_edit, delete, cancel, reschedule, reassign, anyaction, deactivate, activate, marked_as_complete, incoming_call_ring, incoming_call_start, incoming_call_createedit, incoming_call_edit, outgoing_call_ring, outgoing_call_start, outgoing_call_edit, outgoing_call_createedit, missed_call, scheduled_call_createedit, scheduled_call_edit, email_received, mail_sent, mail_sent_clicked, mail_sent_replied, mail_sent_opened, mail_sent_bounced, fb_post_on_page, fb_comment_on_page, fb_like_on_post, fb_send_message, tw_mention_on, tw_retweet_on_tweet, tw_comment_on_tweet, tw_send_message, voc_incoming_signal |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item execute when details, type details — shared_details_819c866740fd
Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T2 Field Update
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a field update trigger type that fires when a specified field value on a record changes according to defined criteria. Additional keys: not allowed |
details | object | Required within parent | Represents the field update trigger details, including the criteria that define which field value change activates the rule. Additional keys: not allowed |
details.criteria | JSON | Required within parent | Represents the field value change criteria that activate the trigger. Defines which field is monitored and what change condition fires the rule. |
details.criteria (anyOf 1) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / type: merge field, pre defined, value, field |
details.criteria (anyOf 2) | Model | Alternative | Expand Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / group_operator: AND, OR |
details.match_all | boolean | Optional | Controls the logic applied across criteria groups. Possible values: true - All criteria groups must match (AND logic). false - Any one criteria group is sufficient (OR logic). |
details.repeat | boolean | Optional | Indicates whether the rule fires every time the field update condition is met. When false, the rule fires only on the first occurrence. |
details.trigger_module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The module that actually triggers the rule. Defaults to the rule's top-level module if omitted. Must be explicitly set when the trigger targets a different module - e.g., a rule on Leads triggered by 'note created' requires trigger_module = {api_name: 'Notes', id: '...'}. Use `getModules` to discover module api_name and id values. |
type | string | Required within parent | Represents the trigger type for field update rules. Availability varies by the target module. One of: field_update, incoming_call_field_update, outgoing_call_field_update, scheduled_call_field_update, stage_automation_field_update, rollup_summary_update |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / group_operator: AND, OR, Update Workflow Rule by ID — request body — body / workflow_rules / item / execute_when / details, type / details / criteria / type: merge field, pre defined, value, field
Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T3 Section Update
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the trigger type for section update rules. Availability varies by the target module Additional keys: not allowed |
details | Model | Required within parent | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item execute when details, type details — shared_details_be3cf6ec2c47 |
type | string | Required within parent | Represents the trigger type for section update rules. Use getWorkflowConfigurations to verify the trigger is available for the target module. One of: section_update, incoming_call_section_update, outgoing_call_section_update, scheduled_call_section_update |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item execute when details, type details — shared_details_be3cf6ec2c47
Update Workflow Rule by ID — request body — body workflow rules item execute when details, type — Execute When T5 Time Offset
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the trigger type for time-offset rules. Availability varies by the target module. Additional keys: not allowed |
details | object | Required within parent | Represents the time offset trigger details, including the time unit and magnitude for the offset. Additional keys: not allowed |
details.field | object | Optional | Represents the field reference returned in GET responses for time-offset triggers, including the trigger field details. Additional keys: not allowed |
details.field.id | string | Optional | Represents the field identifier for the time-offset trigger. Returns **-1** when the field is system-determined. Maximum length: 20 |
details.period | string | Required within parent | Represents the time unit for the offset. Possible values: days - Offset in days. hours - Offset in hours. One of: days, hours |
details.trigger_module | Model | Optional | Expand List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module The module that actually triggers the rule. Defaults to the rule's top-level module if omitted. Must be explicitly set when the trigger targets a different module - e.g., a rule on Leads triggered by 'note created' requires trigger_module = {api_name: 'Notes', id: '...'}. Use `getModules` to discover module api_name and id values. |
details.unit | integer | Required within parent | Represents the time offset magnitude. Always a positive integer for time-offset triggers, such as 1 for one day or 3 for three hours. Format: int32 |
type | string | Required within parent | Represents the trigger type for time-offset rules. Use getWorkflowConfigurations to verify the trigger is available for the target module. One of: overdue, email_received_notreplied, email_received_opened_notreplied, mail_sent_opened_notreplied, mail_sent_notreplied, mail_sent_notopened, recommendation_rebuy |
Referenced models: List Workflow Rules in your Zoho CRM Organization — response body — workflow rules item module
Update Workflow Rule by ID — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the success response returned after creating a workflow rule, containing the result details of the created rule. Additional keys: not allowed |
workflow_rules | array | Optional | Represents the array of workflow rule objects returned in the success response. Maximum items: 200 |
workflow_rules[] | Model | Each item | Expand Update Workflow Rule Execution Order for Module — response body — reorder item |
Referenced models: Update Workflow Rule Execution Order for Module — response body — reorder item