Kaizen #88 Assignment Rules

Kaizen #88 Assignment Rules

Hello everyone!
This week, we will discuss the use cases of assignment rules in inserting, updating, and upserting records.

What are Assignment Rules?

The effectiveness of sales is closely tied to a sales representative's daily tasks, such as promptly following up with leads and providing quick responses to customers. A crucial aspect of achieving this lies in implementing a well-structured and carefully planned lead assignment process that takes into account the diverse requirements of leads originating from different sources. Manual assignment may not be efficient, as leads should not be assigned randomly, but rather based on specific criteria like regional experience or product knowledge. "Assignment Rules" automates the lead assignment process by applying predefined rules that consider factors such as territory and product interest, thereby saving time and reducing errors.

Advantages of Assignment Rules 

Zoho CRM's Assignment Rule helps you,
  • To filter records based on the given conditions and assign corresponding owners.
  • To implement an automated system, the time taken to assign leads manually/records that meet the defined criteria can be significantly reduced, thereby making the assignment process more efficient.
  • To assign the filtered records to the specific team in your organization so that they act efficiently to convert leads into contacts and increase your business growth at the earliest possible time.

Where can we create assignment rules on the web UI?

To create an assignment rule, go to Zoho CRM > Setup > Automation > Assignment Rules.

List the Assignment Rules

To list the available assignment rules in your organization.

Request URL: {api-domain}/crm/v4/settings/automation/assignment_rules
Request Method: GET

Sample Response

 {
    "assignment_rules": [
        {
            "created_time": "2023-05-10T00:00:00-07:00",
            "modified_time": "2023-05-30T22:10:53-07:00",
            "default_assignee": {
                "name": "Logged in User",
                "id": "${CURRENTUSER}"
            },
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "name": "Leads from India",
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001",
                "zuid": 808233918
            },
            "description": "Leads from India",
            "id": "5725767000000526437", //ID of the rule(Leads from India)
            "created_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001",
                "zuid": 808233918
            }
        }
    ]
}

Apply the rule while creating new records using the ID of the corresponding assignment rule.

Assignment rules on records insert 

While inserting records in a module, you need to specify the ID of the assignment rule which you want to execute, in the request body of the API under the json key "lar_id".
 
Request URL: {api-domain}/crm/v4/Leads
Request Method: POST

Sample Input

{
    "data": [
        {
            "Last_Name":"Smith",
            "Country":"India",
            "Company":"A Technology",
            "Email":"smith@aaa.com",
            "Phone":"+91 87654321**"
        },
        {
            "Last_Name": "Shane",
            "Country": "Pakistan",
            "Company":"B Technology",
            "Email":"shane@bbb.com",
            "Phone":"+9230012345**"
        },
        {
            "Last_Name": "Taqi",
            "Country": "Sri Lanka",
            "Company":"C Technology",
            "Email":"taqi@ccc.com",
            "Phone":"+947123456**"
        },
        {
            "Last_Name": "Kane",
            "Country": "USA",
            "Company":"D Technology",
            "Email":"kane@ddd.com",
            "Phone":"+112345678**"
        }
    ],
    "lar_id": "5725767000000526437"
}

Sample Response

{
    "data": [
        {
            "code": "SUCCESS",
            "details": {
                "Modified_Time": "2023-05-31T02:24:11-07:00",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "5725767000000411001"
                },
                "Created_Time": "2023-05-31T02:24:11-07:00",
                "id": "5725767000000619002",
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "5725767000000411001"
                },
                "$approval_state": "approved"
            },
            "message": "record added",
            "status": "success"
        },
        .
        .
        .
        }
    ]
}

Now, we have applied the rule to the new records and assigned them to their respective owner. To verify whether the records have been assigned to the owner specified in the rule, you can make an API request to GET Records API with the ID of the record. Alternatively, you can perform the verification on the web UI.


Assignment Rules on records update

Zoho CRM provides the flexibility to execute an assignment rule while updating records through its Update Records API.
In the sample request, Kane, a lead from the USA, was initially handled by John. However, Kane has now to moved to India, so Lee will become his new owner.
To achieve this, send the assignment rule ID in the 'lar_id' json key of the request body of the API as below.

Request URL : {{api-domain}}/crm/v4/Leads/{record-id}
Request Method: PUT

Note:
It is mandatory to specify the record ID of Kane to update the fields. 

Sample Input

{
    "data": [
        {
            "Last_Name": "Kane",
            "Country": "India",
            "Company":"D Technology",
            "Email":"kane@ddd.com",
            "Phone":"+9188255172**"
        }
    ],
    "lar_id": "5725767000000526437"
}

Sample Response

{

    "data": [

        {

            "code": "SUCCESS",

            "details": {

                "Modified_Time": "2023-05-31T05:46:51-07:00",

                "Modified_By": {

                    "name": "Patricia Boyle",

                    "id": "5725767000000411001"

                },

                "Created_Time": "2023-05-31T03:19:19-07:00",

                "id": "5725767000000619110",  //ID of the record

 

                "Created_By": {

                    "name": "Patricia Boyle",

                    "id": "5725767000000411001"

                }

            },

            "message": "record updated",

            "status": "success"

        }

    ]

}

To ensure that the record owner has been changed, verify the same using GET Records API.

Request URL: {api-domain}/crm/v4/Leads/{record-id}
Request Method: GET

Sample Response

{
    "data": [
        {
            "Owner": {
                "name": "Lee",
                "id": "5725767000000583018",
                "email": "lee@mail.com",
            },
            "Company": "D Technology",
            "Email": "kane@ddd.com",
            .
            .
            .

            "Country": "India",
            "Created_By": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001",
                "email": "patriciaboyle@zoho.com",
            },
           .
           .
           .

            "Phone": "+9188255172**",
            .
            .
            .

        }
    ]
}

Alternatively, you can check the updated changes on the web UI.

Assignment Rules on records Upsert

Apply assignment rules during Upsert Records API.

Request URL : {api-domain}/crm/{version}/{module_api_name}/upsert
Request Method : POST

Sample Input

{
    "data": [
        {
            "First_Name":"James",
            "Description":"Checking Assignment rules",
            "Last_Name": "DJ",
            "Country": "Sri Lanka",
            "Company":"D Technology",
            "Email":"james@mail.com", //system-defined duplicate check field for Leads Module
            "Lead Source":"Cold Call",
            "Phone":"+9188255172",
            "Annual Revenue":"20000"
        }
    ],
    "lar_id": "5725767000000526437"
}

Note:
  • Provide the email (a system-defined mandatory field ) for the Leads module. If the record already exists, the system will check for matching data and update the record. If the record does not exist, a new record will be created.
  • Provide the assignment rule ID that you want to execute while upserting the record.
Sample Response

{
    "data": [
        {
            "code": "SUCCESS",
            "duplicate_field": "Email",
            "action": "insert", //No existing records were found. So, the system created a new record.
            "details": {
                "Modified_Time": "2023-05-31T12:02:32-07:00",
                "Modified_By": {
                    "name": "Patricia Boyle",
                    "id": "5725767000000411001"
                },
                "Created_Time": "2023-05-31T11:57:15-07:00",
                "id": "5725767000000627046", //ID of the record 
                "Created_By": {
                    "name": "Patricia Boyle",
                    "id": "5725767000000411001"
                }
            },
            "message": "record added",
            "status": "success"
        }
    ]
}

Thank you for your time, and we look forward to bring you another insightful guide in next week's Kaizen.
Feel free to post your queries in the comment section below or write to us at support@zohocrm.com 

Cheers!

Further Reading 









    • Recent Topics

    • Zoho Cliq - Incident alert (Server outage - IN DC) | August 28

      We've received server down alerts and are currently investigating the issue (IN DC) to find the root cause. Our team is actively working to restore normal operations at the earliest. Status: Under investigation Start time: 09:44:21 AM IST Affected location:
    • Claude + MCP Server + Zoho CRM Integration – AI-Powered Sales Automation

      Hello Zoho Community 👋 I’m excited to share a recent integration we’ve worked on at OfficehubTech: ✅ Claude + MCP Server + Zoho CRM This integration connects Zoho CRM with Claude AI through our custom MCP Server, enabling intelligent AI-driven responses
    • How can I see content of system generated mails from zBooks?

      System generated mails for offers or invices appear in the mail tab of the designated customer. How can I view the content? It also doesn't appear in zMail sent folder.
    • Limitations on editing a message in Cliq

      Hi I've checked the documentations and there's no mention of how many times a message can be edited. When trying with code, I get various numbers such as ~1000 edits or so. Please mention if there's a limit on how many times one can change a message via
    • Narrative 10: Assignment Rules - Streamlining Ticket Management

      Behind the scenes of a successful ticketing system: BTS Series Narrative 10: Assignment Rules - Streamlining Ticket Management In the complex world of customer support, a flood of incoming tickets can hit the help desk in seconds. Businesses must do more
    • Free webinar! Digitize recruitment and onboarding with Zoho Sign and Zoho Recruit

      Hello, Tired of being buried in onboarding paperwork? With the integration between Zoho Sign and Zoho Recruit, a powerful applicant tracking system, you can digitize and streamline the entire recruitment and onboarding process, all from one platform.
    • Custom form - Duplicate Value Present

      I am new to Zoho People. I create a new form on Zoho People quite simple. A date (by default the current date) and a radio button with 3 options (Yes, No, Not applicable) I defined the date as ‘No duplicate’ as only one entry by date is allowed. I added:
    • Zoho API connection issues

      Hi, Today at around 1930 GMT our application started experiencing intermittent timeouts from the Zoho API. These intermittent timeouts are not enabling our app to work properly. The API connection was working just fine before. HTTPSConnectionPool(host='www.zohoapis.com',
    • Query Regarding our Partnership between AIC-JKLU and Zoho

      Dear Zoho Team, I am writing to raise a concern on behalf of AIC-JKLU, one of Zoho’s incubator partners. Recently, our startups have been facing difficulties while trying to get themselves onboarded on Zoho through our dedicated partner link. Unfortunately,
    • Disputed Purchase Invoices

      We have recently moved to Zoho Books from Sage. In Sage we were able to post a purchase/vendor invoice but mark it as on dispute. This would usually be a pricing query or if something was damaged. It would show in their ledger, so we could agree their
    • Getting events in the future

      Hi I am trying to get events in the future by calling this API Endpoint https://www.zohoapis.eu/crm/v8/Events?fields=Event_Title,Created_By,Created_Time,Start_DateTime But that gives me all events in the database. How do I make a query that returns all
    • Created Date/Invalid Fields

      Since Saturday we have suddenly had issues with our webhooks and data retrieval from CRM. Specifically how Created Date is handled. It appears there was some sort of change within CRM that broke a lot of our code that has been in place for several years.
    • add employees and customiz

      I want a Zoho software to track employees record. I logged in a demo so now I tried adding employee, first thing when I click on add employee it takes me to a page where it says add user maximum 10 users, my first doubt why users I don't want employees
    • Revenue Management: #9 Revenue Recognition in Media & Publishing

      Media & Publishing industry has evolved in recent times. It offers subscriptions, bundles digital and print access, runs sponsored content, and sometimes even sells ad spaces. If you run a media or publishing business, you will always get into a situation
    • Zoho CRM Community Digest - July 2025 | Part 2:

      Hello, Everyone! We’re closing out July with a can’t-miss highlight: Zoholics Europe 2025! Happening from September to October, it’s your chance to level up your CRM skills, covering everything from automation and CPQ to dashboards and advanced workflows.
    • How can I trigger a flow action only once while updating contact?

      Hi, we have a trigger to merge&mail file when the field YYY is filled out. For this acion I used "Create or update module entry". But unfortunately we get tens of email on a day with this merged file, because the contact is being regularly updated. The
    • Copy a Record Template from one Form to another

      I have a Creator application with several forms.  I developed a record template for one of the reports/forms but want to use most of it for another of the form/report combinations in the application. Is there a way to copy the template (code or otherwise) to another form?
    • Tip of the Week #70 – Create common team signatures for your shared inboxes

      Did you know that a small detail, such as an email signature, can make a big difference in how your brand is perceived? One simple yet smart way to enhance your team’s communication is by creating common team signatures for your shared inboxes. Instead
    • Enhanced data export features: XLSX format, custom character encoding, and selective record export

      Greetings all, Here are a few enhancements related to exporting CRM data, including the ability to export data in XLSX file format now. The Export feature under Data Administration now offers new options that expand its flexibility and enable users to
    • Tip #42 – How to manage data security with Privacy Settings – 'Insider Insights'

      Data privacy is a cornerstone of trust in remote support. Through Privacy Settings in Zoho Assist, you can set up how data is gathered, stored, and handled in your organization. These settings ensure compliance, data protection for sensitive details,
    • Zoho DataPrep and File Pattern configuration

      I'm using Zoho data prep to ingest data from One Drive into Zoho Analytics... The pipeline is super simple but I can't any way to get all the files that I need. Basically I need to bring all the files with a certain pattern and for that I'm using a regex
    • Introducing Dark Mode / Light Mode : A New Look For Your CRM

      Hello Users, We are excited to announce a highly anticipated feature - the launch of Day, Night and Auto Mode implementation in Zoho CRM's NextGen user interface! This feature is designed to provide a visually appealing and comfortable experience for
    • Quick Item Search & Auto-suggestion for Invoices

      Hi Team, I am facing an issue while creating invoices in Zoho Books. Currently, I have to type the full item name in the correct sequence and spelling for it to appear. For example, my item name is: "Distemper Acri Silk Special White 10kg" If I type something
    • Ticketbai! en el Pais Vasco

      Hola a todos, En enero de 2.022 se va a implantar en el país vasco un nuevo sistema de facturación, denominado ticketbai!, ¿hay alguna previsión de realizar las adaptaciones en zoho books o zoho invoices? Ignoro la cantidad de clientes que tienen estas
    • Zoho CRM mobile app feature update: home page widgets, field tooltips and user image upload

      Hello everyone! Your business doesn't pause when you're on the move, and neither should your CRM. That's why in our latest update, we've introduced a few new features to make your mobile CRM experience smoother and more efficient. Let's take a quick look
    • Zoho CRM Plain Text Template: Line Breaks and Formatting Issue

      Hello, I'm following the instructions to create email templates in Zoho CRM, but I'm having a problem with the plain text version. https://help.zoho.com/portal/en/kb/zoho-sign/integrations/zoho-apps/zoho-crm/articles/zoho-crm-email-templates#Steps_to_create_a_custom_email_template
    • Optimizing Task Handling: Auto-Remove Recurrence for cancelled Tasks.

      Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:
    • Important updates to your connectors

      Hello everyone, Greeting from Zoho Creator! We're excited to announce that we'll be rolling out significant backend updates to Zoho Creator's built-in connectors to enhance security by following the latest frameworks. The existing version of some of the
    • Create, collaborate, and manage agreements with Zoho Sign

      Agreements drive business. We launched Zoho Sign in 2017 as a simple digital signature tool to sign agreements from anywhere, at any time. Over the years, we've learned that most agreements go through last-minute changes before they're signed. Our users
    • Function #25: Automatically generate purchase orders from a sales order

      We kicked off the "Function Fridays" series with the goal of helping you automate your everyday accounting tasks. As we delve into today's post, I'm delighted to announce that we're here to present the 25th custom function in this series. While it is
    • DNS set up

      I want to create an email with my company domain. When I tried to add new record with cloudflare it didn't work. The DNS record can't be manually added. I followed the instruction but still can't add it. Could you help?
    • hiding a topic from all but one segment (or list)

      My organization sends out a number of newsletters using Zoho Campaigns. One of those newsletters is for volunteers. In order to become a volunteer, a person has to first go through our volunteer orientation (training). After that, they can receive newsletters
    • How do I set up this automation correctly?

      When contacts enter my Subscribers list, I want it to reference a custom field to see if it is empty. Then I want it to do two things: If empty: Assign a tag based on a different custom field. If that custom field is empty, assign a different tag. If
    • Function #62: Display associated Quote on Invoice details screen

      Hello everyone! Today, we are sharing a Related List script that makes it easy to view and access the quote from which an invoice was created right from the invoice details screen. This Related List displays the Quote number and Amount, allowing you to
    • Desk x CRM Integration

      Howdy! We currently use SalesIQ but we are considering moving across to Desk as it seems to have more functionality that we want. One of the pulls is the ability for our customers to self serve. But, I might be getting over excited and not actually need
    • Function #53: Transaction Level Profitability for Invoices

      Hello everyone, and welcome back to our series! We have previously provided custom functions for calculating the profitability of a quote and a sales order. There may be instances where the invoice may differ from its corresponding quote or sales order.
    • Issue with Save & Share Link – Works for Others but Not Creator

      I’ve enabled the "Save and Share" feature in Zoho Forms, and it works correctly for all users accessing the public link—except for me (the form creator). Issue Details: When I save and share the link, recipients see a “no permission” error. The form is
    • Save the pdf report from a registration form in a Folder

      Through Zoho Forms I created a registration form with quite a lot of rules to handle different variables (TEAM types, payment in installments, etc.), and the result is pretty good. The automatic PDF that is sent to the respondent upon submission is already
    • zoho forms integration to zoho work drive

      Scenario: A user fills out a Zoho Form, entering details such as email, mobile number, and other required information, and uploads supporting documents like PAN, Aadhaar, etc. Upon submission, the data is available in Zoho Forms Reports. Requirement:
    • Zoho Forms to Zoho CRM Integration failed - can I restart it?

      The integration of Zoho Form to Zoho CRM has failed. Is there a way for me to restart it for the impacted entry?
    • Next Page