Kaizen #107 - Field Trackers in ZOHO CRM

Kaizen #107 - Field Trackers in ZOHO CRM

Hey folks! Welcome to a fresh week of Kaizen. 

In this post, we will be looking at the Field Trackers in ZOHO CRM APIs. Currently, this support is provided to all the picklist fields (system-defined and custom) and is available by default for a picklist field (Stage) in the Deals module and a datetime field (Rescheduled_To) in the Appointments module. 

Field Trackers 

Field trackers in ZOHO CRM help you to monitor the changes made to a specific field. It ensures data integrity and compliance as it helps in maintaining the history of changes applied to the critical data. 

It captures the details such as who made the change, when the change occurred, the previous and current values of the field. Users can use this data to analyse how a field's value evolved and identify the important patterns/trends in the business. 

Picklist Field Trackers 

Both system-defined and custom picklist fields support Field Tracker. The history details of the field will be available in a related list with five default fields - picklist values, duration, modified time, modified by, and moved to.

To enable this support for a picklist, follow these steps. 
  • Go to Setup > Customization > Modules and Fields in your ZOHO CRM account. 
  • Select your desired module in which you want to create a picklist field tracker. 
  • Select the settings icon (...) of the required picklist field and click Edit Properties.
  • In the Picklist properties page, select the Enable history tracking for picklist values checkbox.
Refer to this help guide to learn more about picklist trackers and how to add additional fields that you want to view in the picklist history related list. At most, only one picklist field can be tracked within a module.

Consider you are a Manager and you have enabled field tracking for the Lead Status picklist field within the Leads module to trace the timeline of your leads' status changes. Now, take the following steps to obtain the picklist history details:

STEP 1: Make a GET Fields Metadata API call to the Leads module.  
STEP 2: In the response, check for the history_tracking key in the Lead Status field. 



In the history_tracking key, 
  • the module key, provides both the api_name and id of the new module responsible for tracking picklist history details. As a result, it naturally establishes a relationship with the Leads module, and it will be accessible as a new related list within the same module.  
  •  the duration_configured_field key provides the field api_name and id of the key which contains the duration of the picklist values in that picklist tracking module. 
STEP 3: With the api_name of new picklist tracking module, you can fetch the history details in two ways. 

(i) Fetching picklist changes of all the leads records from that new module

As we already know that picklist tracking details are maintained in a new module, make a GET Records API call with the following details. 

Replace the module_api_name with the api_name of the picklist tracking module(Lead_Status_History), which is obtained from the fields metadata of the Leads module.

Request URL: {api-domain}/crm/{version}/{module_api_name} 
For our case, it will be provided as https://www.zohoapis.com/crm/v5/Lead_Status_History. 
Request Method: GET
Possible Parameters: fields, page, per_page, sort_by and sort_order.
For our case, make a GET Fields Metadata API call to the related list (Lead_Status_History). The response will give you the list of fields available in the related list. 
Scope: ZohoCRM.modules.ALL (or) ZohoCRM.modules.{module_name}.READ 
Sample Response:



To fetch individual history records, use this {api-domain}/crm/{version}/{module_api_name}/{record_id} request url and replace the record_id with the id fetched in this response.

(ii) Fetching the history details of a particular lead

This approach fetches the related list data of a particular record in a module (here it is Leads). 
Make a GET Related Records Data API call with these details. 

Request URL: {api-domain}/crm/{version}/{module_api_name}/{record_id}/{related_list_api_name}
For our case, it will be given as https://www.zohoapis.com/crm/v5/Leads/5545974000004023008/Lead_Status_History.
Request Method: GET
Possible Parameters: fields, page, per_page, sort_by and sort_order.
Scope: ZohoCRM.modules.ALL (or) ZohoCRM.modules.{module_name}.READ 
Sample Response:



To fetch individual history records, use this {api-domain}/crm/{version}/{module_api_name}/{record_id}/{related_list_api_name}/{related_record_id} request url and replace the related_record_id  with the id fetched in this response.

Stage History

In the Deals module, a picklist field called Stage acts as a default field tracker. The history details of this picklist are recorded in a new module called DealHistory. In this module, there are four default fields followed from the Deals module which cannot be unfollowed. They are Expected Revenue, Amount, Probability and Closing date. You can add additional fields from the Deals module to this list based on your requirement. 

The module's relationship with the Deals module identifies it as a related list within the Deals module as Stage History.  You can retrieve the history details of this default picklist field tracker in those aforementioned two ways. 

Let us show you a sample of each way for better understanding.

(i) Fetching picklist changes of all the deals records from DealHistory

Make a GET Records API call to the DealHistory module with the following details.

Request URL: {api-domain}/crm/{version}/Stage_History or {api-domain}/crm/{version}/DealHistory/{record_id} 
Request Method: GET
Possible Parameters: fields, page, per_page, sort_by and sort_order.
Make a GET Fields Metadata API call to DealHistory to get the list of fields. 
Scope: ZohoCRM.modules.ALL (or) ZohoCRM.modules.DealHistory.READ
Sample Response:


(ii) Fetching the history details of a particular deal

Make a GET Related Records Data API call with these details. 

Request URL: {api-domain}/crm/{version}/Deals/{record_id}/Stage_History or {api-domain}/crm/{version}/Deals/{record_id}/Stage_History/{related_record_id}
Request Method: GET
Possible Parameters: fields, page, per_page, sort_by and sort_order.
Scope: ZohoCRM.modules.ALL (or) ZohoCRM.modules.Deals.READ
Sample Response:


Appointments' Rescheduled History

In the Appointments module, a datetime field named Rescheduled_To acts as a default field tracker. The history details of this particular field are stored in a separate module with the API Name Appointments_Rescheduled_History__s. It is also accessible as a related list under the Appointments module with the same module API name as the related lists API name. Only the recent 20 rescheduled data of an appointment will be available in this tracker module.  

This module has six default fields - Appointment_Name, Rescheduled_Time, Rescheduled_By, Rescheduled_From, Rescheduled_To, Reschedule_Note and Reschedule_Reason. You cannot remove the existing fields or add new fields to this module. The lookup field with display label Appointment Name and API name Appointment_Name points to the corresponding appointment to which the history data belongs. 

Apart from fetching the rescheduled history data, Zoho CRM also helps you to CREATE, UPDATE and DELETE the history records for this field. This helps you to synchronise the rescheduled history when importing the Appointments records from a third party application. 

Let us look into a few scenarios in which the use of each of the Appointments Rescheduled History CRUD operations.  

Scenario 1  

As a Manager, you might want to retrieve all the rescheduled appointment history data to determine the most common reasons for rescheduling. 

Use the GET Appointments Rescheduled History API with the following details. 

Request URL: {api-domain}/crm/{version}/Appointments_Rescheduled_History__s (or)
{api-domain}/crm/{version}/Appointments__s/{appointment_id}/Appointments_Rescheduled_History__s
Request Method: GET
Scope: ZohoCRM.modules.appointments_rescheduled_history.READ
Possible Parameters: fields, page, per_page, sort_by and sort_order
Sample Response:



The '204 - No Content' response will be thrown if the reschedule count of the specific appointment is 1. This response will not include the current appointment time, which is the last rescheduling of the appointment. You can retrieve it only using the GET Appointments API.  

Scenario 2

For instance, you are using a third party application for booking appointments and have decided to move to ZOHO CRM. But, losing the rescheduled history data for "not completed" appointments can be a major concern. In such a scenario, you can seamlessly transfer and incorporate the rescheduled data for these appointments with the help of Add Appointments Rescheduled History API

In this context, we are just adding new records of rescheduled data to the tracking module(Appointments_Rescheduled_History__s), which records the details of the Rescheduled_To field. Given that Appointments_Rescheduled_History__s is a module, it also allows us to execute UPDATE and DELETE operations, as elaborated in the forthcoming scenarios.

Following are the details of the API:

Request URL: {api-domain}/crm/{version}/Appointments_Rescheduled_History__s
Request Method: POST
Scope: ZohoCRM.modules.appointments_rescheduled_history.CREATE
Sample Request Body:

{
    "data": [
        {
            "Rescheduled_From": "2023-09-19T15:00:00+05:30",
            "Rescheduled_To": "2023-09-22T10:30:00+05:30",
            "Appointment_Name": {
                "name": "AC Service - Leota Dilliard (Sample)",
                "id": "5545974000004330038"
            },
            "Rescheduled_Time": "2023-09-19T15:30:00+05:30",
            "Rescheduled_By": {
                "name": "Patricia Boyle",
                "id": "5545974000000393001"
            },
            "Reschedule_Note": "Customer unavailable",
            "Reschedule_Reason": "By Customer"
        }
    ]
}

You can add up to 100 records in a single API call, with a limit of 20 rescheduled history records allowed for a single appointment.

Scenario 3

To ensure accuracy and completeness, you may want to update the reason and other details for rescheduling the appointment. At times you would even want to insert additional information to the existing history data. In situations like these, use the Update Appointments Rescheduled History API

Following are the particulars about this API,

Request URL: {api-domain}/crm/{version}/Appointments_Rescheduled_History__s (or) {api-domain}/crm/v5/Appointments_Rescheduled_History__s/{record_id}
Request Method: PUT
Scope: ZohoCRM.modules.appointments_rescheduled_history.UPDATE
Sample Request Body:

{
    "data": [
        {
            "id": "5545974000004365002", 
            "Reschedule_Note": "Team unavailable",
            "Reschedule_Reason": "By Team"
        }
    ]
}

You can update all the POST request JSON keys except the Appointment_Name key. Using this API, you can update a maximum of 100 rescheduled history records per API call. 

Scenario 4

As a Manager, you may want to delete certain history entries that contain sensitive or outdated information to comply with the data privacy regulations. You can use the Delete Appointments Rescheduled History API to remove sensitive/outdated and even duplicate entries. 

Following are the details of this API: 

Request URL: {api-domain}/crm/{version}/Appointments_Rescheduled_History__s/{record_id}
Request Method: DELETE
Scope: ZohoCRM.modules.appointments_rescheduled_history.DELETE
Sample Response:



You can delete only one rescheduled history record per API call. The rescheduled history records of an appointment in the recycle bin will still be available in the related list. To remove them, you have to delete the appointment from the recycle bin. 

We trust you found this post both beneficial and informative!

Your thoughts and perspectives matter to us. If there is a topic you would like us to delve into or if you have any questions, please feel free to drop a comment below or send us an email at support@zohocrm.com.

Stay tuned until we circle back to you on next Friday! 

Cheers!



Previous Post: Kaizen #107 - Functions and Invoke URLs

Head over here to refer to our Kaizen collection on Zoho CRM developer tools. 

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner







                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

                                                                                                Writer is a powerful online word processor, designed for collaborative work.

                                                                                                  Zoho CRM コンテンツ




                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Zoho Cliq not working on airplanes

                                                                                                                  Hi, My team and I have been having this constant issue of cliq not working when connected to an airplane's wifi. Is there a reason for this? We have tried on different Airlines and it doesn't work on any of them. We need assistance here since we are constantly
                                                                                                                • Option in pipeline deal to select which hotel or branch or store if client has more than one local store

                                                                                                                  Hi, I would like to know if there is an option in the deal pipeline to select which hotel, branch, or store a deal is related to—if the company has more than one location. For example, I have a client that owns several hotels under the same company, and
                                                                                                                • Request to Recover Deleted Task List – Project ID: RIV-MOD-10722

                                                                                                                  Hi Zoho Team, I hope this message finds you well. My Zoho task list associated with Project ID: RIV-MOD-10722 appears to have been deleted. When I clicked on the task link from the email notification, I received the following message: "Task has been deleted
                                                                                                                • Is this a SCAM email or is it really Zoho?

                                                                                                                  L.S. I received the following message. Is this from Zoho? I have had a Zoho One account for many years and my website has been online for years. If it is a scam, I think you should know about it.
                                                                                                                • Is it possible to use HTML formatting in SMS messages sent from Zoho?

                                                                                                                  Hi everyone, I have a question regarding sending SMS from Zoho When we send emails from Zoho, we can include HTML code to format the message (like adding links, styling, etc.). Is it possible to do something similar when sending SMS messages through Zoho
                                                                                                                • an issue in Zoho CRM where the workflow rule is not triggering

                                                                                                                  H I’m currently facing an issue in Zoho CRM where the workflow rule is not triggering when a new lead is created through a webform. I’ve double-checked the criteria and field updates, everything seems fine but it still doesn’t fire. Has anyone faced this
                                                                                                                • Email Insights included in Bigin emals are marked as SPAM everywhere

                                                                                                                  Today I noticed that email recipients who use Office 365 never receive emails sent from Bigin. Further examination showed that all Email Insights links in email headers are marked as spam/phishing by Office 365. Example screen included. The problem is
                                                                                                                • Email Parser Not Extracting Fields Correctly with Certain Label Formats

                                                                                                                  I’ve been testing the Email Parser functionality in Zoho CRM to automatically extract data from incoming emails and map it to CRM fields. During testing, I noticed that parsing sometimes fails when the email contains field labels formatted like this:
                                                                                                                • How do I import Connected Records for a Deal?

                                                                                                                  Can you point me to an example of the CSV file that would add related records to an existing CRM Deal? I imported a Deal, then tried importing a connected record using a unique ID that references the Deal ID, but it doesn't attach it to the Deal rec
                                                                                                                • File Upload Field in Zoho Forms Not Updating Existing File in Zoho CRM

                                                                                                                  Hi everyone, I’m trying to understand the behavior of a file upload field mapped from Zoho Forms to Zoho CRM. Scenario There is a File Upload field in a Zoho CRM module. A Zoho Form also has a File Upload field, which is mapped to that CRM field. When
                                                                                                                • Zoho Training

                                                                                                                  Greetings! I am trainer. My focus area is Project Management and MS Project. I have used Zoho CRM to a good extent. Though, I was interested in using ZOHO projects, as there were no live projects, I could not take it up for studies. Recently a client
                                                                                                                • Detailed list of scoring rules in Zoho CRM

                                                                                                                  Good morning Zoho community, warm greetings The reason for my message today is that I have a problem with my CRM, which I will explain below: Our organization has scoring rules designed to rate our potential customers or leads in the application based
                                                                                                                • How to create a summary document from Projects details

                                                                                                                  Hi, Our team is creating many projects inside Zoho Project. When closing a project, they write a summary document containing data from the projects it-self (understand project budget, customers, etc...), and editable (ie the document is either a Writer
                                                                                                                • Host in US Data Centre

                                                                                                                  I humble apply to be registered on US Data centre
                                                                                                                • convert the project to templet

                                                                                                                  i have some deployment ME product for different customer , i need to create a fixed template for use it rather then keeping creating this template every time
                                                                                                                • Best practices for managing Project Charters, Business Case and RAID logs within Zoho?

                                                                                                                  Hello everyone, I’m currently refining our PMO setup within Zoho Projects and I’m curious how others are handling high-level governance documentation. We’ve been using the standardized Project Charter, Business Case and RAID frameworks from projectmanagertemplate.com
                                                                                                                • Resource Management System built using Zoho CRM, Creator, Projects, and People:

                                                                                                                  In a Resource Management System built using Zoho CRM, Creator, Projects, and People: CRM Deal Closed → Creator Allocation Engine → Zoho Projects Task Assignment What is the recommended architecture to handle dynamic reassignment when: an employee goes
                                                                                                                • Dynamic Remaining Quantity in Lookup During Allocation

                                                                                                                  Hi everyone, From what I understand in Zoho Creator, lookup fields only display the stored value from the source record and do not dynamically update while a form is being filled. Because of this, showing a real-time updated remaining quantity inside
                                                                                                                • connect zoho creator with google drive

                                                                                                                  Hello everyone, I need to connect to a folder drive. The idea, is that google drive loads a text document with some data, I must read that text document to be able to autofill a form that I have in zoho creator with that data. I also attach PDFs and place
                                                                                                                • Ability to Attach Record-Specific Files Automatically in Workflow Email Templates

                                                                                                                  Currently in Zoho CRM, email templates allow attachments to be added, but these attachments are static and remain the same for every recipient. There is no straightforward option to automatically attach a file that is stored within the specific CRM record
                                                                                                                • Uploaded files are not included when using "Include user submitted data" in Email Notification

                                                                                                                  In Send Email notification workflow in Zoho Creator, there is an option called "Include user submitted data" which allows the email to contain all the form submission details. However, when this option is enabled, files or images uploaded through File
                                                                                                                • kanban view for client portal

                                                                                                                  Are kanban views an option for client portals? Access to Kanban views in the client portals would solve some mobile-compliant issues I have with the UI. Kanban functions very nicely on mobile and would be a super asset for my clients and vendors as they
                                                                                                                • Credit Card Pre-Authorization with later Capture/Settlement

                                                                                                                  We really enjoy the convenience of being able to pay off a customer's invoice using our Auth.Net integration with Zoho Books. Unfortunately, we can only take advantage of this feature with a small percentage of our customers as it leaves a gaping hole
                                                                                                                • Zoho Sign 2025–2026: What's new and what's next

                                                                                                                  Hello! Every year at Zoho Sign, we work hard to make document signing and agreement execution easy for all users. This year we sat down with our head of product, Mr. Subramanian Thayumanasamy, to discuss what we delivered in 2025 and our goals for 2026.
                                                                                                                • Work Orders / Bundle Requests

                                                                                                                  Zoho Inventory needs a work order / bundle request system. This record would be analogous to a purchase order in the purchasing workflow or a sales order in the sales cycle. It would be non-journaling, but it would reserve the appropriate inventory of
                                                                                                                • Izettle or Sumup Integration for Zoho Books.

                                                                                                                  The Stripe & Square clearing works great in Zoho Books. Any further integrations planned in the future for Izettle or Sumup? These card processors are very common for taking payments with a card reader.
                                                                                                                • Train Zoho Answer Bot Based on Customer

                                                                                                                  Hi all, Is it currently possible to mark Help Centre articles to a specific customer, and restrict the answer bot to only use relevant information if it is either marked as "General", or tagged for the specific customer in question? We currently have
                                                                                                                • Trying to access records in a custom module in Zoho Desk and not having luck

                                                                                                                  I've built a custom module in Zoho Desk and am using a custom function to query the records in the module and I'm not having any luck. The only way I have found to retreive a record is by getting it by its recordID (the long zoho assigned one). The function
                                                                                                                • Composite items inside of composite items; bill of materials needed

                                                                                                                  Hi Zoho and Everyone, I am evaluating whether Zoho Inventory will work for my small business. I grow and harvest herbs and spices but also get from wholesalers. I use all these items to make herbal teas, but also sell them as individual items on my Shopify store and Etsy. I discovered the composite item bundling and am wondering if I could get some assistance since there is no bill of materials: Our herbal company's best selling tea is a sleepytime tea. Sleepytime Tea can be purchased in three weights
                                                                                                                • ZOHO Books Smart Accounting Software for Travel Agency

                                                                                                                  Dear Travel partner, Contact for Travel Agency Accounting Setup & Training Vansh Travel (ZOHO Books Authorised partner) Email: info@vanshtravel.com Mo: +91 98984 95155 Please find PDF   
                                                                                                                • 452 Mailbox delivery restricted by policy error

                                                                                                                  We have been testing Zoho desk for about a week now and have been forwarding emails in via an Exchange Online Mail flow rule without issue until yesterday. Suddenly yesterday morning we started getting the vast majority of the emails stuck in Pending
                                                                                                                • Send Email reply on behalf of Agent

                                                                                                                  Hi, When using the send email reply via the API I can set the reply on behalf of the customer by using impersonatedUserId in the header of the API call. Is there a way to do this for Agents too? I need to be able to send an email reply on behalf of an
                                                                                                                • Sharing Tickets to a team within a department

                                                                                                                  Hi there, We have a need for one department to be able to share tickets to a specific team within a department, I'm wondering if this is possible? All the shared tickets are going into the 'Shared Tickets' view for the whole department but is there a
                                                                                                                • Removing To or CC Addresses from Desk Ticket

                                                                                                                  I was hoping i could find a way to remove unnecessary email addresses from tickets submitted via email. For example, a customer may email the support address AND others who are in the helpdesk notification group, in either the TO or CC address. This results
                                                                                                                • Do not use isnull()

                                                                                                                  Does not always return booleans. Can also return null. Never use this function. Just use var==null instead.
                                                                                                                • Organization wide Account and Contacts Visibility/Sharing Capabilities?

                                                                                                                  Has anyone figured out a way to make visibility or sharing of Accounts and Contacts to be available across the entire organization without having to have every individual user edit their Sharing permissions? For our sales folks they need to be able to
                                                                                                                • Is there a way to configure dark mode for Campaigns emails that go out to customers?

                                                                                                                  I've found a lot of information on how to configure dark mode for my (The user) personal Zoho workspace and email, but is there any way to edit dark mode settings on emails that we send out to customers via campaigns?  We sent out a test email the other
                                                                                                                • When Does WorkDrive integrate with Books?

                                                                                                                  When Does WorkDrive integrate with Books?
                                                                                                                • FSM integration with Books

                                                                                                                  Hi, I have spent a few months working with FSM and have come across a critical gap in the functionality, which I find almost shocking....either that, or I am an idiot. The lack of bi-directional sync between Books and FSM on Sales Orders/ Work Orders
                                                                                                                • How to close an estimate ?

                                                                                                                  Hello, I have created estimates, and converted them to invoices to get 50% payment. Now I have 2 cases where the estimate stills shows status partially invoiced, however: 1. for one of them, project stopped half way, so the remaining part will never be
                                                                                                                • Next Page