Actions APIs - Field Updates

Actions APIs - Field Updates




Hello all!!
Welcome back to a fresh Kaizen week.
In the previous weeks, we covered Workflow Rules APIs, Actions APIs - Email Notification APIs, and Tasks Update APIs.
This week, we will continue with another Actions API - the Field Update API in Zoho CRM.

Field Updates in Zoho CRM

The Field Update option helps you automatically update specific field values in records when the associated workflow rule is triggered.

Note: Field Updates can also be used in Blueprint and Approval Processes, but in this post, we will focus only on Field Updates used with Workflow Rules in Zoho CRM.
When multiple leads enter Zoho CRM each day, from small to large industries, the Sales team manages all these entries inside a module. Every single lead is important for a company, whether it comes from a small or large industry. High-profit leads should not be missed and must be treated with high priority, frequent follow-ups, and faster actions to convert them into won deals.

High-profit deals without Field Update

There are chances of missing or failing to prioritize high-profit deals when all entries are cluttered inside the same module. This leads to manual mistakes and confusion for the Sales team. It becomes manual work, which increases the possibility of missing high-profit Leads.

High-profit deals with Field Update

A Field Update + Workflow Rule can solve these issues by creating an automated process. This avoids manual intervention and reduces errors.

Use case
Zylker, an IT solutions provider, wants to give high-priority attention to leads coming from large industries or leads that have a high lead score, especially when the Lead Status is Not Contacted.
Whenever a lead has a Lead Score ≥ 80 and is Not Contacted, the system should automatically update a field called Profit Category and set it to High Profit.

Why Lead Score for our use case?
Lead Score shows how active and interested a lead is. A score of 80 or above means the lead is highly engaged and more likely to convert. This makes it a dependable way to identify important leads that need quick attention.

Scenario
Whenever a lead meets the following conditions:
  1. Lead Score ≥ 80
  2. Lead Status = Not Contacted
The system should automatically update the Profit Category field to High Profit, and add a Contact Immediately tag. This helps the Sales team quickly identify high-profit records even when many records are cluttered in the module.

This can be achieved using a Field Update combined with a Workflow Rule.

Why not just use a Custom View?

A custom view can filter and display leads that meet these conditions, but it still depends on the Sales team to open the view and take action. In a busy Leads module, important leads can be missed or delayed. Also, if you want to perform dependent actions, you will need to create and schedule a custom function manually.
With a Workflow and Field Update, the system emails and also trigger many other actions like Field Update, Webhooks, and so on to your executives about these leads automatically. In our case, the Profit Category and tag are updated the moment the lead meets the condition, making high-profit leads stand out everywhere in CRM - without relying on manual checks or someone remembering to look at a view.

Profit Category mapping based on Lead Score

Profit Category is a custom picklist field in the Leads module.

The following table shows how Zylker classifies profit categories based on Lead Score:

Lead Score

Profit Category

20-40

Minimal Profit

40-60

Average Profit

60-80

Good Profit

80+

    High Profit


In this use case, we focus only on the High Profit category.
Let us now see how to enable a Field Update in Zoho CRM through the UI.

Creating a Field Update via UI

To create a Field Update in Zoho CRM, follow the steps below:
  1. Go to Setup > Automation > Actions > Field Updates.
  2. Click Create Field Update.
  3. Enter the Name of the field update.
  4. Select the Module.
  5. Choose the Field that should be updated.
  6. Provide the value to be updated that must be applied.
  7. Save the Field Update.
Field Update Configuration
In this use case, a Field Update is created to modify the Profit Category field when the workflow rule is triggered.

Field Update Details:
  1. Name: Profit Category
  2. Module: Leads
  3. Field to Update: Profit Category
  4. New Value: High Profit
This Field Update will be used as an action inside the workflow rule.
How to create the workflow for this use case and associate this Field Update with the workflow has been covered in the following section of this post.

UI - Field Update Creation View

Creating a Field Update via API

You can create a Field Update using the Create Field Update API available from Zoho CRM API version 8.
Request URL:  {{api-domain}}/crm/v8/settings/automation/field_updates
Request Method: POST
Input JSON


{
    "field_updates": [
        {
            "name": "Profit Category ",
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "type": "static",
            "feature_type": "workflow",
            "field": {
                "api_name": "Profit_Category",
                "id": "5725767000008570298"
            },
            "value": "High Profit"
        }
    ]
}


Keys explanation

                         Key

                        Explanation

field_updates

 

Holds all details to create a field update.

name

Field Update name

module

Specify the module details

module.api_name

Represents the module API name. In our case, it is "Leads" module.

module.id

Represents the System ID for the module

type

Represents the Update type. Usually “static” for fixed-value updates.

feature_type

Represents that this Field Update is for workflow Rules.

field

Represents which field should be updated.

field.api_name

Represents the field API name.

field.id

Represents the unique ID of the field.

value

The value to be updated


Sample Response

{
    "field_updates": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5725767000008604002"
            },
            "message": "field update deleted successfully",
            "status": "success"
        }
    ]
}



A note on the unique ID

You can add:
  1. You need this ID to retrieveupdate, and delete the Field Update later.

Retrieve your Field Update

You can retrieve a Field Update by using the Get Field Update API. It lists all available Field Update actions available in your org.

Request URL:  {{api-domain}}/crm/v8/settings/automation/field_updates/5725767000008604002
Request Method: GET

Sample Response:
Below is the sample response returned by Zoho CRM.

{
    "field_updates": [
        {
            "created_time": "2025-11-15T07:57:39-08:00",
            "update_type": null,
            "lock_status": {
                "locked": false
            },
            "apply_assignment_threshold": false,
            "editable": true,
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "related_module": null,
            "deletable": true,
            "source": "crm",
            "type": "static",
            "created_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001"
            },
            "notify": false,
            "feature_type": "workflow",
            "modified_time": "2025-11-15T07:57:39-08:00",
            "field": {
                "api_name": "Profit_Category",
                "id": "5725767000008570298"
            },
            "dependent_fields": null,
            "associated": false,
            "related_records": null,
            "name": "Profit Category Leads",
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001"
            },
            "id": "5725767000008604002",
            "value": "High Profit"
        }
    ]
}


Note: This API helps you fetch all the details of a specific Field Update using its unique ID. Also, you can create a workflow and associate the created Field Update action using its unique ID.

Workflow Rule Configuration 

Trigger:
  1. When a Lead is created or edited.
Condition:
  1. Lead Score is greater than or equal to 80.
  2. Lead Status is currently Not Contacted.
Actions:
  1. Associate the created Field Update action: High Profit
  2. Add a Contact Immediately tag to the record.

Workflow Rule and Field Update action via UI

Configuring Workflow and associating the Field Update action

Workflow Rule and Field Update action via API
Create a Workflow:
You can use the Configure Workflow Rule API to create a workflow.

Associate the Field Update:

You can associate the Field Update action with the workflow by using the unique ID of the Field Update.
Retrieve the Field Update ID using the Get Field Updates API.

Request URL:  {{api-domain}}/crm/v8/settings/automation/workflow_rules
Request Method: POST

Sample Input:

{
    "workflow_rules": [
        {
          .
          .
          .

            "execute_when": {
                "details": {
                    "trigger_module": {
                        "api_name": "Leads",
                        "id": "5725767000000002175"
                    },
                },
                "type": "create_or_edit"
            },
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "conditions": [
                {
                    "instant_actions": {
                        "actions": [
                            {
                               
                                "name": "Profit Category",
                                "details": {
                                    "module": {
                                        "api_name": "Leads",
                                        "id": "5725767000000002175"
                                    }
                                },
                                "id": "5725767000008604002",   //associating the created Field Update with the Workflow.
                                "type": "field_updates"
                            },
                            {
                                "name": "High Priority Deal",
                                "details": {
                                    "module": {
                                        "api_name": "Leads",
                                        "id": "5725767000000002175"
                                    },
                                    "over_write": false,
                                    "tags": [
                                        {
                                            "name": "High Priority Deal",
                                            "id": "5725767000008570458",
                                            "color_code": "#63C57E"
                                        }
                                    ]
                                },
                                "id": "5725767000008570470",
                                "type": "add_tags"
                            }
                        ]
                    },
                    "criteria": {
                        "group_operator": "AND",
                        "group": [
                            {
                                "comparator": "greater_equal",
                                "field": {
                                    "api_name": "Entity_Scores__s.Score", //Lead Score's API name
                                    "id": "5725767000002324045" 
                                },
                                "type": "value",
                                "value": "80"
                            },
                            {
                                "comparator": "contains",
                                "field": {
                                    "api_name": "Lead_Status",
                                    "id": "5725767000000002611"
                                },
                                "type": "value",
                                "value": "Not Contacted"
                            }
                        ]
                    }
                }
            ]
            .
            .
            .
        }
    ]
}


For more details on Workflow Rules using APIs, refer to Kaizen #213 - Workflow APIs - Part 1, Part 2, and Part 3.


Edit your existing Field Update

You can update an existing Field Update using the Update Field Update API. To update it, use the unique ID of the Field Update in the request URL. Use Get Field Update API to get the required Field Update ID.

Request URL:  {{api-domain}}/crm/v8/settings/automation/field_updates/5725767000008599001
Request Method: PUT

Input JSON

{
    "field_updates": [
        {
            "name": "Profit Category - Updated", //updated the response
            "field": {
                "api_name": "Profit_Category",
                "id": "5725767000008570298"
            },
            "value": "Good Profit" //updated value
        }
    ]
}


Note:
  1. Only the configured modules cannot be updated using the PUT - Field Update API call. The rest of the fields can be updated.
  2. The updated value must be valid for the field type. For example, picklist fields accept only existing picklist options. 
  3. After updating a Field Update, any workflow linked to it will automatically start using the updated configuration.

Delete Your Existing Field Update

You can delete an existing Field Update using the Delete Field Update API. To delete it, you must use the unique ID of the Field Update in the request URL.
 If you do not know the ID, use the Get Field Update API to retrieve it.

Request URL:  {{api-domain}}/crm/v8/settings/automation/field_updates/5725767000008599001
Request Method: DELETE

Sample Response:

{
    "field_updates": [
        {
            "code": "SUCCESS",
            "details": {
                "id": "5725767000008604002"
            },
            "message": "Field update deleted successfully",
            "status": "success"
        }
    ]
}




Note
  1. You cannot delete a Field Update if it is currently associated with any Workflow, Blueprint, or Approval Process. Remove the Field Update from the workflow first, and then try deleting it.

We hope this post helps you understand how to use Field Updates through the Zoho CRM Actions API - Field Update API.


Try it out, and let us know your experience in the comments section or reach out to us at support@zohocrm.com.
Stay tuned for more insights in our upcoming Kaizen posts!

Cheers!




    • 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
      • Recent Topics

      • Article Name Sorting in Zoho Desk Knowledge Base (agent / admin side)

        Dear Zoho Desk Support, We are writing to request an enhancement to the Knowledge Base management feature within Zoho Desk. Currently, there is no option to sort articles by their name, which significantly hinders efficient article management, especially
      • How to parse JSON data with SQL in Zoho Analytics?

        Hi all, I have a column with JSON data. I want to show this column in a chart, but it is very messy, and no JSON parsing function is supported on Zoho Analytics. data example: {"id": 5, "status": "false", "date": "15/10/22"} what I want to do in SQL is
      • Add an Equation Field (Or update the Formula Field)

        Hi, I would like to be able to have one field as a Text Field with QR Code, and then have multiple Equation/Formula Fields that then take parts of that fields data with LEFT, MID, RIGHT, REGEX, etc. Thanks Dan
      • How to parse column having JSON data using SQL?

        We have a daily sync from a PostgreSQL database that brings data into Zoho Analytics. Some of the columns store raw JSON data. We need to build SQL queries on top to parse data from JSON and store them in discrete columns. There is no option for "Data
      • Enable report button based on the current user role

        Greetings  i have a report that contains action buttons, i want these buttons to appear as enabled only when the current logged in user has a certain role, for example only CEO role users will be able to use this button. but when setting the conditions
      • 500 Internal Error In Mail API

        I'm getting 500 Internal Error when using mail API. I'm getting this error for this one account, it works fine for other Account IDs which I have in my system.
      • Zoho Sign Document upload to the Attachment section of the Zoho CRM Deals record

        Hi, Is there a script I can use to attach a document once signed in the Deals record attachment section? I know that the fiels are uploaded in the Zoho Sign Document module but our client wants it in the attachment section. They are using the "Send with
      • Zoho live chat widget in React Js

        I am trying to test Zoho live chat widget code in react js, below is the sample code void(0)} onClick={()=>window.$zoho.salesiq.floatwindow.visible("show")}>LIVE CHAT window.$zoho = window.$zoho || {};window.$zoho.salesiq = window.$zoho.salesiq
      • Are there any plans to add Triggers for Subform edits?

        By The Grace of G-D.  Hi, How are you? Can you tell me if you have any plans to support subform edit as a workflow trigger? And what about have them trigger an "onChange" client script?
      • Zoho commerce

        i am facing issue with order summary emails.i am getting 1 continuous email for order received yesterday and today.ideally 1 email should be received for a particular date ie for 02/08 i should received 1 email from 12.01am till 11.59pm but it is being
      • Feature Request: Improve Category Page Sorting for "Out of Stock" Products

        Hi there, I'm writing to request a new feature that I believe would significantly improve the user experience in my online store. Currently, on category pages, products are sorted by popularity. However, when a popular product goes "Out of Stock," it
      • POSTMAN - There was an error in evaluating the Pre-request Script:Error: Cannot read properties of undefined (reading 'json')

        I am beginning the journey to learn how to use the API for Zoho Sign. I am getting the following error when I try to use postman. To walk you through how I am getting this error... I wanted to start with a simple GET and expand my learning from there.
      • How do i integrate shipstation with zoho inventory

        Wanting to set up my own delivery driver in ship station so we can get real time tracking of where the package is but then i want it to automatically update zoho inventory packages/shipments how can i do this
      • Invalid value passed for salesorder_id

        Hi, I am using sales return API, details are given below: API: https://inventory.zoho.com/api/v1/salesreturns?organization_id=700571811 Post Json Data: { "salesreturn_number": "", "date": "2020-11-12", "reason": "Testing from API", "line_items": [ { "item_id":
      • Create Invoice and Invoice Items from Sales Order via API

        Currently, when creating an Invoice associated with a Sales Order via the API, it appears that I must manually include all of the items (line_items) even though they are already part of the Sales Order. My question is this: is it possible to raise an Invoice via the API based on all of the information associated with a Sales Order--such as the  items? In other words, do I always have to manually include the items (line_items) when raising an Invoice via the API when the Invoice is associated with
      • Outlook 2013 Calendar Syncs but "Related To" Field in Zoho is blank

        Outlook 2013 Calendar Syncs but Related To Field in Zoho is blank I expect the "Realted To" field to be populated with the calendar participants
      • Export a Course

        Is it possible to export a course from Zoho Learn to a SCORM file?
      • Add and Remove Agents from Departments and Groups in Zoho One

        Hi Zoho Flow Team, We hope you're doing well. Currently, Zoho Flow provides an action to add an agent to a group in zoho one, but there is no action to remove an agent from a group or a department. Another action that we find missing is the option to
      • Consumer Financing

        Does Zoho currently have a payment gateway (such as Stripe, Square, etc) which offers financing for customers? So, let's say the estimate we give the customer is greater than what they can afford at the time, but we can sell the service now, letting them
      • Intégration de la gestion des Passkeys dans Zoho Vault

        Zoho Vault est depuis plus d’une décennie une solution fiable pour les entreprises : pour la gestion, le partage et le stockage des mots de passe. En 2018, nous avons fait un pas en avant en proposant la connexion unique (SSO). Nous sommes fiers de franchir
      • Scan & Fill with double quote key/value pairs

        Hi, An old Ticket moved to a Topic/Idea: I love the idea of the new Scan & Fill as it nearly covers my previous request for a QR Scanner to read a multi-part QR Code. My QR Codes are hard-coded as below: {"key1":"value1","key2":"value2","key3":"value3"}
      • Analytics SQL Queries should allow # as comment

        # and // are very common for commenting in SQL. Not sure why analytics only allows /* and */ for commenting. Especially when # grays the line as if it's being commented out. This should be added for sure.
      • SalesIQ Operator Activity Reports in Zoho Analytics

        I'm busy building a dashboard in Zoho Analytics and I want to include SalesIQ stats in the dashboard, but I'm unable to get the statistics mentioned in the attached image. Any idea where I can get the stats for Operator Activity?
      • No longer can indent

        Hey there! Is it just me or were we used to be allowed to used tab or indent when writing. It’s not working right now, has this always been the case?
      • Free webinar alert! Seamless Transition with Lossless Migration: Zoho One + Zoho Mail

        Hello Zoho Mail Community! 🚀 Attention IT Admins and Email Administrators! Are you planning to migrate your organization's email to Zoho Mail within the Zoho One ecosystem? 📧 Join our exclusive webinar, Seamless Transition with Lossless Migration: Zoho
      • Add Resource to Export

        The Export Data feature does not include a column for the Resource field. Without this column, Zoho Bookings cannot be used by any business for resource-based services or event types e.g. room bookings, equipment bookings. It seems to be an oversight,
      • Mandatory field via deluge code

        I would like to ask you if it is possible to make a field mandatory via deluge script. For example, if I have a decision box and I click on it then I want a single line field to be mandatory. If uncheck the decision box then to do the single line as optional. I think it is not possible to do that and I have to do it via validation in 'on validate' field. 
      • Revenue Management: #1 What does it mean to "recognize" revenue?

        Earning revenue isn't just about collecting cash from your customers. It's about recording the income correctly and consistently. Revenue recognition is the process of deciding when and how to record revenue in financial statements so that they reflect
      • Power of Automation :: Auto-Populate Integration Field in Projects with CRM Account Data

        Hello Everyone, A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate
      • Zoho Forms and ChatGPT - populating a field using AI.

        I have a form where I would like the user to enter a response or query, and have another field populated using AI. For example, user enters Field 1, AI populates Field 2 in response. I want to be able to wrap some additional instruction text around the
      • campo tag para api

        debo conectarme a una api de zoho inventory y ocupo tomar el campo tag para poder asi jalar el articulo que cuente con el campo correcto en tag ejemplo que tag existen carro y avion que cuando busque los articulo con tag carro arroje solo estos por mas
      • Uploading file as attachment to Zoho CRM

               Hi,   I am trying to attach a file to a Zoho CRM contact using Zoho Flow. Right now, I try to do it through the “Upload File” field in Zoho CRM (In my screenshots, it’s called Téléchargement du fichier 1).   Here is what I tried:   Case 1: Webmerge document The Flow is called “Custom Function” (see screenshot 101).   Step  1: Creating a Webmerge document (screenshot 99)   Step 2: I use “Update module entry” to upload the created file. I upload Webmerge’s “Document” in my “Téléchargemet du
      • Zia Answer Bot - Create Ticket

        Surprisingly, the current iteration of Zia will try to answer a question and unless you have "transfer to SalesIQ chat" enabled, it won't create a ticket for the user or offer them a method to create a ticket. We don't want it to create chats for us,
      • meassure leads phases

        Hi, I need to create a table to meassure the time that a lead stay in blueprint phases. the phases are first contact, second contact, lead spam, contacted, appointment. any idea? I have attached an example
      • In the Custom Module I have 500 Records , this 500 record only want to view to the specific user only example user A ,

        In the Custom Module, I have 500 Old records that should only be visible to a specific user, for example, User A. Any new records created from today onwards should be visible to Record owner in the Custom Module. Pls help how i achive this .
      • How to reply to thread via API

        We have built a webapp for our customers that uses the Zoho Desk API to enable each customer to view their full list of tickets, view individual tickets and raise new tickets. The Zoho Desk API doesn't have the ability to reply to a ticket/thread. Replies
      • Sending merged mail templates for signatures fail since today

        We have ZOHO one, we use merge templates in CRM to edit in ZOHO Writer, and from there send it for signature through zoho sign. This all worked up until today, suddenly we read in the log that the merge is succesfull but the sending for signature failed.
      • Feature Request - Make Lead List Larger and Adjustable

        Hi LandingPage team, I recently started using LandingPage and I am happy to share my feedback to help improve the app. I've noticed on the Leads page, there is no option to make the columns wider. It would be great if the comlumns expanded to fit the
      • Zoho Projects - Pin Recent Projects

        Hi Projects Team, It would be great if I could "pin" projects on the Recent Projects list in Zoho Projects. We have some internal projects which we regularly have to add time and some regular client projects. It would be great if I could pin those projects
      • ZDK Error

        I get this error when trying to trigger a CRM Function from Client Script: Uncaught (in promise) ZDKError: {"code":"NOT_ACTIVE","details":{"api_name":"activate_client_from_prospect"},"message":"api is inactive for the given custom function","status":"error"}
      • Next Page