Get Assignment Rules
Purpose
To fetch the assignment rules in your org.
Endpoints
- GET /settings/automation/assignment_rules
- GET /settings/automation/assignment_rules/{rule_id}
Request Details
Request URL
All - {api-domain}/crm/{version}/settings/automation/assignment_rules
Specific - {api-domain}/crm/{version}/settings/automation/assignment_rules/{rule_id}
Supported modules
Leads, Accounts, Contacts, Deals, Tasks, Cases, and Custom
Header
Authorization: Zoho-oauthtoken <access_token>
Scope
scope=ZohoCRM.settings.assignment_rules.{{operation-type}}
Possible operation types
ALL - Full access to data
READ - Get data from the module
Parameters
- modulestring, mandatory (mandatory when you fetch a specific assignment rule)
The API name of the module you want to fetch the assignment rule from. Supported modules are Leads, Contacts, Accounts, Deals, and Custom. Use the Get Modules Metadata API to retrieve module API names.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/automation/assignment_rules"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"Response JSON
- assignment_rulesJSON array
Contains the list of assignment rules configured for a module.For example, Leads. Each object inside this array represents one assignment rule.
- created_timestring
Represents the time when this assignment rule was created.
- rule_entriesJSON array
Contains individual assignment conditions (entries) under this rule. Each entry is evaluated in sequence order.
- sequence_numberinteger
Defines the evaluation order of the rule entry.
- criteriaJSON object
Represents the condition that must be satisfied for this assignment to occur.
- comparatorstring
The comparison operator used in the condition.
- fieldJSON object
The field on which the condition is applied.
- api_namestring
API name of the field.
- idstring
Unique field ID.
- typestring
Represents the type of comparison.
- valuestring
Represents the value used for comparison.
- assign_toJSON array
Represents who the record is assigned to when the rule entry matches.
- resourcesJSON array
Represents the list of task to be created for the assigned record owner.
- namestring
Name of the role or user or group.
- idstring
Unique ID of the role or user or group.
- typestring
Represents the assignee type.
Possible values: user, role, criteria, group, and zia_suggested_users.
- user_availability_based_onJSON array
Checks the specified user's availability before assigning records.
The availability of the users is checked based on online status (logged in to CRM) and/or shift timing (if it is mentioned in the company details). Possible values:- online_status: Assigns records only to users who are currently online.
- shift_timing: Assigns records only to users who are within their configured working hours.
- followup_actionsJSON array
Specifies the actions to be executed after a record is successfully assigned through an assignment rule entry.
Currently, task creation is supported as a follow-up action using the POST Assignment Rules API. - idstring
Represents the unique ID of the rule entry.
- modified_timestring
Represents the time when this assignment rule was last modified.
- api_namestring
System-defined API name of the assignment rule. It is used for internal references and API operations.
- default_assigneeJSON object
The fallback assignee if none of the rule entries match.
- moduleJSON object
Represents the module with its API name and ID to which this assignment rule belongs.
- namestring
Represents the display name of the assignment rule as shown in the UI.
- modified_byJSON object
Represents the user who last modified the assignment rule.
- descriptionstring
User-defined description of what this rule does.
- idstring
Represents the unique identifier of the assignment rule.
- created_byJSON object
The user who created the assignment rule.
Sample Response to retrieve all the Assignment Rules
Copied{
"assignment_rules": [
{
"created_time": "2026-01-20T00:00:00+05:30",
"modified_time": "2026-01-20T00:00:00+05:30",
"api_name": "Basic_Rule",
"default_assignee": {
"resource": {
"api_name": "${CURRENTUSER}",
"name": "Logged in User"
},
"name": "Logged in User",
"id": "${CURRENTUSER}",
"type": "user"
},
"module": {
"api_name": "Leads",
"name": "Leads",
"id": "2276164000000000125"
},
"name": "Basic Rule",
"modified_by": {
"name": "Patricia Boyle",
"id": "2276164000000471001"
},
"description": "Assigning all Lead records",
"id": "2276164000003551073",
"created_by": {
"name": "Patricia Boyle",
"id": "2276164000000471001"
}
},
.
.
.
]
}Possible Errors
- INVALID_REQUEST_METHODHTTP 400
The request method specified is invalid.
Resolution: Specify the request method as GET. - REQUIRED_PARAM_MISSINGHTTP 400
One of the expected parameter is missing
Resolution: Include the module parameter in the request when you fetch a specific assignment rule. - OAUTH_SCOPE_MISMATCHHTTP 401
The token does not have the scope ZohoCRM.settings.ALL.
Resolution: Create a token with the scope ZohoCRM.settings.ALL. - NO_PERMISSIONHTTP 403
You do not have the permission to read the assignment rules.
Resolution: Contact your administrator. - INVALID_URL_PATTERNHTTP 404
The request URL has syntactical errors.
Resolution: Correct the syntactical errors in the request URL.
Sample request to retrieve a specific Assignment Rule
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/automation/assignment_rules/2276164000003551117"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"Sample response
Copied{
"assignment_rules": [
{
"created_time": "2026-01-21T00:00:00+05:30",
"rule_entries": [
{
"sequence_number": 1,
"criteria": {
"comparator": "contains",
"field": {
"api_name": "Email",
"id": "2276164000000000563"
},
"type": "value",
"value": "zohocrm@mail.com"
},
"assign_to": {
"resource": {
"name": "CEO",
"id": "2276164000000015966"
},
"type": "role"
},
"user_availability_based_on": [
"online_status"
],
"followup_actions": null,
"id": "2276164000003551119"
}
],
"modified_time": "2026-01-21T00:00:00+05:30",
"api_name": "Lead_Rule_with_type_role",
"default_assignee": {
"resource": {
"api_name": "${CURRENTUSER}",
"name": "Logged in User"
},
"name": "Logged in User",
"id": "${CURRENTUSER}",
"type": "user"
},
"module": {
"api_name": "Leads",
"name": "Leads",
"id": "2276164000000000125"
},
"name": "Lead Rule with type role",
"modified_by": {
"name": "Patricia Boyle",
"id": "2276164000000471001"
},
"description": "Assigning all Lead records",
"id": "2276164000003551117",
"created_by": {
"name": "Patricia Boyle",
"id": "2276164000000471001"
}
}
]
}