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"
            }
        }
    ]
}