Create Scoring Rules

Scoring rules can be layout-specific or global rules that can be applied to all layouts. A scoring rule can be defined using both field rules and signal rules, or just one of them.

Purpose

To create a scoring rule for a module in the organization.

Note

Only leads and contacts (the people modules) can have signal rules. The non-people modules (Deals, Accounts and Custom Modules) do not support signal rules.

Request Details

Request URL

{api-domain}/crm/{version}/settings/automation/scoring_rules

Supported modules

Leads, Accounts, Contacts, Deals and Custom

Header

Authorization: Zoho-oauthtoken 100xx.d92d4xxxxxxxxxxxxx15f52

Scope

scope=ZohoCRM.settings.scoring_rules.ALL
(or)
scope=ZohoCRM.settings.scoring_rules.{operation_type}

Possible operation types

ALL - Full access to scoring rules
CREATE - Create scoring rules

Sample Request

Copiedcurl "https://www.zylkercorp.zohoplatform.com/crm/v6/settings/automation/scoring_rules"
-H "Authorization: Zoho-oauthtoken 100xx.d92d4xxxxxxxxxxxxx15f52"
-d @createrules.json
-X POST

Input JSON Keys

  • namestring, mandatory

    Represents the unique name of the current scoring rule. The maximum possible length for this field is 25 characters.

  • descriptionstring, optional

    Represents the description of the current rule. The maximum possible length for this field is 500 characters.

  • moduleJSON object, mandatory

    Represents the module the scoring rule is defined for.

  • layoutJSON object, optional

    Represents the layout the rule is associated with.

  • activeBoolean, optional

    Represents whether the current scoring rule is active or not. Default value is true.

  • field_rulesJSON array, optional

    Represents the field rules for the scoring rule.

  • scorenumber, mandatory

    Represents the score assigned for the specific rule. The value of this keys ranges from -10 to 10.

  • criteriaJSON object, mandatory

    Represents the rule criteria details.

  • group_operatorstring, mandatory

    Represents the operator. Possible values are and or or.

  • groupJSON array, mandatory

    Represents the fields to be joined using the group operator for the current criterion.

  • signal_rulesJSON array, optional

    Represents the signal rules defined.

Sample Response

Copied{
   "scoring_rules":[
      {
         "name":"Rule 9",
         "description":"Rule for Module Leads",
         "module":{
            "id":"4876876000000002175",
            "api_name":"Leads"
         },
         "layout":{
            "id":"4876876000000091055",
            "api_name":"Standard"
         },
         "active":false,
         "field_rules":[
            {
               "score":10,
               "criteria":{
                  "group_operator":"OR",
                  "group":[
                     {
                        "field":{
                           "api_name":"Company"
                        },
                        "comparator":"equal",
                        "value":"zoho"
                     },
                     {
                        "field":{
                           "api_name":"Designation"
                        },
                        "comparator":"equal",
                        "value":"review"
                     }
                  ]
               }
            }
         ]
      }
   ],
   "signal_rules":[
      {
         "score":10,
         "signal":{
            "namespace":"Email_Incoming__s",
            "id":"1000000000037"
         }
      },
      {
         "score":8,
         "signal":{
            "namespace":"EmailInsight_Click__s",
            "id":"1000000000038"
         }
      }
   ]
}

Possible Errors

  • 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 above.

  • OAUTH_SCOPE_MISMATCHHTTP 401

    Unauthorized
    Resolution: Client does not have ZohoCRM.settings.scoring_rules.CREATE scope. Create a new client with valid scope. Refer to scope section above for more details.

  • NO_PERMISSIONHTTP 403

    Permission denied to create
    Resolution: The user does not have permission to create scoring rules. Contact your system administrator.

  • INTERNAL_ERRORHTTP 500

    Internal Server Error
    Resolution: Unexpected and unhandled exception in Server. Contact support team.

  • INVALID_REQUEST_METHODHTTP 400

    The http request method type is not a valid one
    Resolution: You have specified an invalid HTTP method to access the API URL. Specify a valid request method. Refer to endpoints section above.

  • INVALID_DATAHTTP 400

    You have specified an invalid or unsupported module, or an invalid layout.
    Resolution: Specify valid module and layout details.

  • INVALID_DATAHTTP 400

    You have either specified a rule name exceeding 25 characters or description exceeding 500 characters.
    Resolution: Please specify the name and description within their respective limits of 25 characters and 500 characters.

  • MANDATORY_NOT_FOUNDHTTP 400

    You have not specified a mandatory field in the input.
    Resolution: Please specify all mandatory fields. Refer to the input JSON keys section to know more.

  • EXPECTED_FIELD_MISSINGHTTP 400

    You have not specified fields rule or signal rule.
    Resolution: Specify the field rules and/or signal rules to create the scoring rule.

  • DUPLICATE_DATAHTTP 400

    A scoring rule with the specified criteria or the same name already exists
    Resolution: Specify a different criterion or name for the rule.

  • ALREADY_USEDHTTP 400

    The specified criteria is already given in the same rule under different index.
    Resolution: Please specify a different criteria.

  • NOT_SUPPORTEDHTTP 400

    You have specified Signal rules for non-people module. Signal rules are not supported for non-people modules.
    Resolution: Use field rules for the specified module.

  • INVALID_DATAHTTP 400

    You have specified an invalid value for the score key. Specify a valid value for the key.
    Resolution: Please refer to input JSON keys section for more details.

  • NOT_SUPPORTEDHTTP 400

    Given field is not available with the given layout
    Resolution: Specify fields available in the given layout.

  • NOT_SUPPORTEDHTTP 400

    Layout or score fields is specified in the criteria
    Resolution: Specify valid fields in the criteria.

Sample Response

Copied{
    "scoring_rules": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "4876876000000965383"
            },
            "message": "scoring rule created successfully",
            "status": "success"
        }
    ]
}