Get a specific Rule of a Connected Workflow
Purpose
To retrieve the complete configuration of a specific rule in a connected workflow, including its trigger conditions, execution criteria, and associated actions.
You can retrieve the ID of a specific rule in a connected workflow using the Get all rules of a connected workflow API.
Endpoints
- GET /settings/connected_workflows/{connected_workflow_id}/rules/{rule_id}
Request Details
Request URL
{api-domain}/crm/{version}/settings/connected_workflows/{connected_workflow_ID}/rules/{rule_ID}
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
ZohoCRM.settings.connected_workflows.READ
(or)
ZohoCRM.settings.connected_workflows.ALL
(or)
ZohoCRM.settings.ALL
Parameters
- include_inner_detailsstring, optional
To include additional metadata for fields used in conditions. Specify comma-separated list of field paths to include additional field information.
Possible values:
field.field_label - To include the display label of the fields.
field.enable_colour_code - To include the color code enablement status for the fields.
field.pick_list_values.colour_code - To include the color codes for picklist values.
field.data_type - To include the field data type.
Sample Request
Copiedcurl
"https://www.zohoapis.com/crm/v8/settings/connected_workflows/4876876000019209017/rules/4876876000019209027"
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
-X GETNote
- Connected workflows are supported in Standard, Professional, Enterprise, and Ultimate editions.
- The user must have Manage Automations or Manage Connected Workflow permission enabled to access this API.
Response JSON
The response contains a rules array with complete details of the specified rule. Each rule object contains:
- idstring
Unique ID of the rule in the connected workflow.
- moduleJSON object
Represents the module to which the rule applies. The module object contains the module API name and the ID of the module.
- execute_whenJSON object
Represents the trigger configuration that determines when the rule is executed.
- typestring
Represents the trigger type for the rule.
- detailsJSON object
Contains the trigger module details.
- trigger_moduleJSON object
Represents the module that triggers this rule. This object contains the module API name and the unique ID of the trigger module.
- criteriaJSON object
Represents the criteria that must be met for the trigger to execute. This object contains the field, comparator, type, and value for the condition.
- repeatBoolean
Indicates whether the rule should repeat execution based on the trigger type.
Behavior by trigger type:
- field_update: If true, the rule executes every time the specified field is updated; if false, it executes only on the first update.
- edit: If true, the rule executes on every edit; if false, only on the first edit.
- create_or_edit: If true, the rule executes on create and every edit; if false, only on create or first edit.
- sourcestring
Represents the source of the rule creation.
Possible values: crm - conditionsJSON array
Represents the condition blocks associated with the rule. Each condition object contains:
- idstring
Represents the unique identifier of the condition block within the rule.
- criteria_detailsJSON object
Represents the condition logic that determines whether the rule actions should be executed.
- relational_criteriaJSON object
Represents additional trigger conditions configured on related modules. These multi-module trigger criteria allow the rule to execute actions when records are created or updated in related modules, provided the specified conditions in those modules are satisfied.
- criteria_groupingsJSON array
Contains a list of independent criteria groups, each checking a condition in a specific related module. The logical combination of these groups (AND/OR) is defined by the pattern key.
- sequence_numberinteger
Represents the order number of this criteria group, used as a reference in the logical pattern expression in pattern.
- criteriaJSON object
Represents the details of the criteria. The criteria object contains the field, the comparator, the type, and the value to compare the field against.
- moduleJSON object
Represents the details of the module. The module object contains the API name of the module and its unique ID.
- match_typestring
Defines whether ANY or ALL connected records in the specified module must meet the condition for this grouping to be true.
- patternJSON object
Represents the logical expression used to combine multiple criteria groupings using operators such as AND and OR, based on their sequence_number. If there is only one criteria group, the pattern will be the same as the sequence number.
- criteriaJSON object
Represents the primary criteria defined for the rule. This JSON object contains the field, the comparator and the value that must be satisfied.
- fieldJSON object
Represents the field that is evaluated.
- comparatorstring
Represents the comparison operator used in the condition.
- typestring
Represents the type of value used for comparison.
- valuestring
Represents the value against which the field is evaluated.
- instant_actionsJSON object
Represents the instant actions that are executed when all rule conditions are satisfied.
- actionsJSON array
Represents the list of actions configured for the rule. Each action object contains the id, name, type of action, and the configuration details for the action.
- idstring
Represents the unique ID of the action.
- typestring
Represents type of action configured.
- namestring
Represents the name of the action.
- related_detailsJSON object
Contains the configuration that determines which records should be affected by the action. Note: This key is applicable only for certain action types such as field_updates. For create_connected_record and email_notifications actions, the value of this key will always be null.
- record_selection_typestring
Specifies the scope of records to update.
Possible values:
all - Updates all connected records
current - Updates only the current triggering record
selected - Updates records that match specific criteria. In this case, the criteria object will have the condition used to selet the records to be updated. - criteriaJSON object
Represents the condition used to select records for update. The criteria object will have the field details, the comparator, type and value for comparison.
- detailsJSON object
Contains the configuration details for the action. The structure of this JSON object varies based on the value of type.
Action specific keys inside details JSON object when type = create_connected_record
- moduleJSON object
The target module where the connected record will be created. Contains the API name and the ID of the module.
- layoutJSON object
Represents the layout in which the connected record should be created. The object contains the id, name and the display_label of the layout.
- field_mappingsJSON array
Contains the field value mappings for the new record. The object contains details of the field to populate, the type of value mapping to indicate if it is a merge field, static value or user object, and the value to populate.
- apply_restrictionBoolean
Represents whether the assignment threshold configured for the record owner should be applied when creating the connected record. If set to true, the system checks the owner's assignment threshold (if configured) before assigning the new record.
When type = field_updates
- moduleJSON object
The module containing the record to update.
- parent_moduleJSON object
Represents the module from which the action originates.
- fieldJSON object
Contains the details of the field to be updated.
- valuestring
Represents the new value to set for the field.
- update_typestring
Specifies whether the field update’s value replaces existing values or is added to the existing list. This is relevant for multi-select picklist fields. For others, the value will be null.
Possible values:
overwrite - Replaces existing values with the new ones.
append - Adds new values to the existing ones. - created_timestring
Contains the timestamp when the action was created.
- modified_timestring
Contains the timestamp when the action was last updated.
- lock_statusJSON object
Represents the lock status of the action.
- apply_assignment_thresholdBoolean
Denotes whether assignment rules threshold applies.
- editableBoolean
Represents whether the action is editable or not.
- related_moduleJSON object
Represents the details of the related modules, if any.
- deletableBoolean
Represents whether the action can be deleted or not.
- sourcestring
Represents the source from which the action was created.
- typestring
Represents the type of field update.
- notifyBoolean
Represents whether or not to send notifications for the update.
- feature_typestring
Represents the feature to which the action is associated.
- associatedBoolean
Represents whether the action is an associated action or not.
Action specific keys inside details JSON object when type = email_notifications
- templateJSON object
Represents the email template used for the email notification.
- reply_to_addressJSON object
Represents the reply-to email address configured for the notification.
- created_timestring
Timestamp indicating when the notification action was created.
- lock_statusBoolean
Represents the lock state of the action.
- editableBoolean
Represents whether the action is editable or not.
- moduleJSON object
Represents the module the action is associated with.
- related_moduleJSON object
Represents details of the related module, if any.
- deletableBoolean
Denotes whether the action is deletable or not.
- recipient_countnumber
Represents the number of recipients configured for the email notification.
- sourcestring
Represents the source of the action.
- created_byJSON object
Represents details of the user who created the action.
- feature_typestring
Represents the type of automation feature that the action is associated with.
- modified_timestring
Represents the timestamp at which the action was last modified.
- modified_byJSON object
Contains the details of the user who last modified the action.
- idstring
Represents the unique identifier of the associated action.
- from_addressJSON object
Contains the details of the from address configured for the email notification.
Possible Errors
- INVALID_DATAHTTP 400
The given ID seems to be invalid
Resolution: Provide a valid connected workflow ID in the request URL. - FEATURE_NOT_SUPPORTEDHTTP 400
Your edition doesn't support this feature
Resolution: Upgrade the account to Standard, Professional, Enterprise, or Ultimate edition and then retry the request. - INVALID_REQUEST_METHODHTTP 400
The http request method type is not a valid one
Resolution: This API supports only the GET method. Retry the request using the GET method. - OAUTH_SCOPE_MISMATCHHTTP 401
Unauthorized
Resolution: Client does not have the required OAUTH SCOPE. Create a new token with valid scope. Refer to the Scope section for more details. - AUTHENTICATION_FAILUREHTTP 401
Authentication failed
Resolution: Pass a valid access token along the request to authenticate. - NO_PERMISSIONHTTP 403
Permission denied
Resolution: Ensure that the user making the API call has the Manage Automations or Manage Connected Workflows permission enabled in their CRM profile, and then retry the request. - INVALID_URL_PATTERNHTTP 404
Please check if the URL trying to access is a correct one
Resolution: The request URL specified is incorrect. Specify a valid request URL. Refer to request URL section for more details. - INTERNAL_ERRORHTTP 500
Internal Server Error
Resolution: Unexpected and unhandled exception in Server. Contact support team.
Sample Response
Copied{
"rules": [
{
"execute_when": {
"details": {
"trigger_module": {
"api_name": "Deals",
"id": "4876876000000002181"
},
"criteria": {
"comparator": "equal",
"field": {
"api_name": "Status",
"id": "4876876000011097036"
},
"type": "value",
"value": "Planning"
},
"repeat": true
},
"type": "field_update"
},
"module": {
"api_name": "Deals",
"id": "4876876000000002181"
},
"id": "4876876000019212197",
"source": "crm",
"conditions": [
{
"instant_actions": {
"actions": [
{
"name": "Demo Request",
"details": {
"layout": {
"display_label": "Standard",
"name": "Standard",
"id": "4876876000019212205"
},
"field_mappings": [
{
"display_value": "${Deals.Deal Name} Demo Request",
"field": {
"api_name": "Name",
"id": "4876876000019212248"
},
"type": "merge_field",
"value": "${!Deals.Deal_Name} Demo Request"
},
{
"display_value": "Phone call",
"field": {
"api_name": "Demo_type",
"id": "4876876000019214490"
},
"type": "static",
"value": "Phone call"
},
{
"display_value": "Planned",
"field": {
"api_name": "Status",
"id": "4876876000019214520"
},
"type": "static",
"value": "Planned"
},
{
"display_value": "${CURRENTUSER}",
"field": {
"api_name": "Owner",
"id": "4876876000019212250"
},
"type": "static",
"value": {
"name": "${CURRENTUSER}"
}
}
],
"module": {
"api_name": "Demo_Request",
"id": "4876876000019212206"
},
"apply_restriction": true
},
"id": "4876876000019214781",
"type": "create_connected_record"
},
{
"related_details": {
"record_selection_type": "all"
},
"name": "Deal Closure Process",
"details": {
"created_time": "2026-02-11T19:45:31+05:30",
"update_type": null,
"lock_status": {
"locked": false
},
"apply_assignment_threshold": false,
"editable": true,
"module": {
"api_name": "Deals",
"id": "4876876000000002181"
},
"related_module": null,
"deletable": true,
"source": "crm",
"type": "static",
"created_by": {
"name": "Patricia Boyle",
"id": "4876876000001360001"
},
"notify": false,
"feature_type": "connected_workflows",
"modified_time": "2026-02-12T11:41:51+05:30",
"field": {
"api_name": "Amount",
"id": "4876876000000002557"
},
"associated": true,
"related_records": null,
"modified_by": {
"name": "Patricia Boyle",
"id": "4876876000001360001"
},
"value": 100000,
"parent_module": {
"api_name": "Deals",
"id": "4876876000000002181"
}
},
"id": "4876876000020187001",
"type": "field_updates"
},
{
"related_details": null,
"name": "Deal Closure Process",
"details": {
"template": {
"name": "New Deal - Demo Request",
"id": "4876876000019214790"
},
"reply_to_address": null,
"created_time": "2026-01-08T12:13:10+05:30",
"lock_status": {
"locked": false
},
"editable": true,
"module": {
"api_name": "Deals",
"id": "4876876000000002181"
},
"related_module": null,
"deletable": true,
"recipient_count": "1",
"source": "crm",
"created_by": {
"name": "Patricia Boyle",
"id": "4876876000001360001"
},
"feature_type": "connected_workflows",
"modified_time": "2026-01-08T12:13:10+05:30",
"associated": true,
"name": "Deal Closure Process",
"modified_by": {
"name": "Patricia Boyle",
"id": "4876876000001360001"
},
"id": "4876876000019214797",
"from_address": {
"details": {
"api_name": "${!Current.User.Email}"
},
"type": "merge_field"
}
},
"id": "4876876000019214797",
"type": "email_notifications"
}
]
},
"criteria_details": {
"relational_criteria": null,
"criteria": null
},
"id": "4876876000019212198"
}
]
}
]
}