Kaizen 217 Actions APIs Tasks

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. In this post, we will discuss the Automation Tasks API.
Zylker's admin have set up the email notification that notifies the team for different triggers. Team is notified when a deal is lost. But then, what should be the course of action? Does someone know to follow up? Is the reason for the loss being logged? Often, notifications create awareness but not accountability. That is the significance of tasks. Including Task details to Zylker's dashboard ensure the right people receive the right instructions.

This update to the dashboard will allow system admins to:
  1. audit the existing tasks,
  2. create new tasks,
  3. update existing tasks, and
  4. clean up inactive and unwanted tasks.

STEP 1: Discover and audit existing tasks

To get details of existing tasks in the system and audit them the admins at Zylker use GET Automation Tasks API.

Request to fetch all automation tasks:
GET {api-domain}/crm/v8/settings/automation/tasks

Request to fetch a specific automation task:
GET {api-domain}/crm/v8/settings/automation/tasks/{task_ID}

Zylker's admin has created an automation task for investigating the reason behind a lost deal. Below output JSON shows the details of the automation task such as name, id. Note that whenever an automation task is created in the system a new task is created in the task module. 

{
    "tasks": [
        {
            "created_time": "2025-11-07T12:29:18+05:30",
            "lock_status": {
                "locked": false
            },
            "editable": true,
            "module": {
                "api_name": "Deals",
                "id": "5843104000000002181"
            },
            "related_module": null,
            "deletable": true,
            "source": "crm",
            "created_by": {
                "name": "Patricia Boyle",
                "id": "5843104000000424672"
            },
            "notify": false,
            "feature_type": "workflow",
            "field_mappings": [
                {
                    "display_value": "Investigate loss reason for ${Deals.Deal Name}",
                    "field": {
                        "api_name": "Subject",
                        "id": "5843104000000002271"
                    },
                    "type": "merge_field",
                    "value": "Investigate loss reason for ${!Deals.Deal_Name}"
                },
                {
                    "display_value": "Trigger Date plus 3 day(s)",
                    "field": {
                        "api_name": "Due_Date",
                        "id": "5843104000000002273"
                    },
                    "type": "execution_time",
                    "value": {
                        "period": "days",
                        "unit": "3",
                        "trigger_field": "${CURRENTTIME}",
                        "sign": "plus"
                    }
                },
                {
                    "display_value": "Patricia Boyle",
                    "field": {
                        "api_name": "Owner",
                        "id": "5843104000000002269"
                    },
                    "type": "static",
                    "value": {
                        "name": "Patricia Boyle",
                        "id": "5843104000000424672"
                    }
                },
                {
                    "display_value": "Not Started",
                    "field": {
                        "api_name": "Status",
                        "id": "5843104000000002279"
                    },
                    "type": "static",
                    "value": "Not Started"
                },
                {
                    "display_value": "Highest",
                    "field": {
                        "api_name": "Priority",
                        "id": "5843104000000002281"
                    },
                    "type": "static",
                    "value": "Highest"
                }
            ],
            "modified_time": "2025-11-07T12:29:18+05:30",
            "associated": true,
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5843104000000424672"
            },
            "name": "Investigate loss reason for ${Deals.Deal Name}",
            "id": "5843104000006662001"
        }
    ]
}

This task makes sure that the reason for loss is properly analyzed and logged. This ensures that the same mistakes are not repeated and corrective action can be taken.
 

STEP 2: Create new automation task

At any company, proactive engagement with customers is crucial for customer retention, especially when they are new. At Zylker, the management decided to check in with the customer after 30 days of onboarding. The admin created an Automation Task to engage with the customer using the Create Automation Task API

Request to create an automation task for a follow up task: 
POST {api-domain}/crm/v8/settings/automation/tasks

{
  "tasks": [
    {
      "module": {
        "api_name": "Accounts",
        "id": "5843104000000002177"
      },
      "feature_type": "workflow",
      "field_mappings": [
        {
          "field": {
            "api_name": "Subject",
            "id": "5843104000000002271"
          },
          "type": "static",
          "value": "Customer Success Check-in"
        },
        {
          "field": {
            "api_name": "Due_Date",
            "id": "5843104000000002273"
          },
          "type": "execution_time",
          "value": {
            "period": "days",
            "unit": "30",
            "trigger_field": "${!Accounts.Created_Time}",
            "sign": "plus"
          }
        },
        {
          "field": {
            "api_name": "Owner",
            "id": "5843104000000002269"
          },
          "type": "static",
          "value": {
            "name": "John Smith",
            "id": "5843104000000424688"
          }
        },
        {
          "field": {
            "api_name": "Status",
            "id": "5843104000000002279"
          },
          "type": "static",
          "value": "Not Started"
        },
        {
          "field": {
            "api_name": "Priority",
            "id": "5843104000000002281"
          },
          "type": "static",
          "value": "Highest"
        },
        {
          "field": {
            "api_name": "Description",
            "id": "5843104000000002291"
          },
          "type": "merge_field",
          "value": "30-day follow-up with ${!Accounts.Account_Name}.Check adoption metrics and gather feedback."
        }
      ],
      "name": "Customer Success Check-in"
    }
  ]
}

Key fields 
  1. name : indicates the name of the automation task
  2. module: indicates the module for which the automation task is created
  3. field_mappings: consists of the field mappings of the fields to a record in tasks module. This consists of three main keys:
    1. field: indicates the API name and ID of the field  in the Tasks module records
    2. value: indicates the value of the field in the Tasks record
    3. type: denotes the type of value. The possible values for this field are merge_field, static, execution_time

For the field `Due_Date`, type is `execution_time` and value is `Account Created Time + 30 Days` as:

 "value": {
 "period": "days",
 "unit": "30",
 "trigger_field": "${!Accounts.Created_Time}",
 "sign": "plus"
 }

It forms the core of our solution to create a task 30 days after onboarding.

This ensures customer success team automatically follow up with new customers after their first month. It helps them to:
  1. measure product adoption,
  2. gather early feedback,
  3. identify potential issues, and
  4. strengthen customer relationships.

The task is automatically created, assigned, and scheduled without manual intervention.

STEP 3: Updating an automation task 

After using the customer success check-in for a while, the customer success gave their feedback to admin. They feel that the 30 day follow up is too soon and assigning the task as Highest priority is overwhelming. 
The admin updates the automation tasks to accommodate their feedback using the Update Automation Tasks API.

Request to update an automation task: 
PUT {api-domain}/crm/v8/settings/automation/tasks/5843104000006646001


{
  "tasks": [
    {
      "field_mappings": [
        {
          "field": {
            "api_name": "Due_Date",
            "id": "5843104000000002273"
          },
          "type": "execution_time",
          "value": {
            "period": "days",
            "unit": "60",//Changed from 30 to 60.
            "trigger_field": "${!Accounts.Created_Time}",
            "sign": "plus"
          }
        },
        {
          "field": {
            "api_name": "Priority",
            "id": "5843104000000002281"
          },
          "type": "static",
          "value": "High"///Changed from Highest to High.
        },
        {
          "field": {
            "api_name": "Description",
            "id": "5843104000000002291"
          },
          "type": "merge_field",
          "value": "60-day follow-up with ${!Accounts.Account_Name}.Check adoption metrics and gather feedback."// Description changed to account for the update to the task.
        }
      ]
    }
  ]
}


The admin has changed the execution time to `Account Created Time + 60 Days`, the priority from `Highest` to `High` and also the description to reflect the change in execution time.

STEP 4: Deleting tasks notifications 

Any unwanted or redundant task can be deleted using Delete Automation Tasks API.

Request to delete an automation tasks: 
DELETE {api-domain}/crm/v8/settings/automation/tasks/5843104000006678001
DELETE {api-domain}/crm/v8/settings/automation/tasks?ids=5843104000006646001,5843104000006646002

We hope that you find this post on Actions - Tasks APIs useful. If you have any feedback, please let us know in the comments, or reach out to us via support@zohocrm.com

    • 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

    Nederlandse Hulpbronnen


      • Recent Topics

      • Error 1011 saving website personalisation — blocking all changes (corrupted "home_page.content" field)

        When trying to save changes under Settings → Brands → MY COMPANY → Website → Personalisation → Messenger, I receive the following error: "Either the request parameters are invalid or absent" upon checking on the developer console of the browser I get
      • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

        Availability Update: 29 September 2025: It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition exclusively for IN DC users. 2 March 2026: Available to users in all DCs except US and EU DC. 24
      • Zoho CRM - Email/Message icon for Deal List View

        Hi Team, My idea is to include a message icon at the start of the row of Deals when an unread message has been received. This would really help highlight the Deals where urgent action is required. Thanks for considering this request. Regards, Ashley
      • Is there a way to show contact emails in the Account?

        I know I can see the emails I have sent and received on a Contact detail view, but I want to be able to see all the emails that have been sent and received between all an Accounts Contacts on the Account Detail view. That way when I see the Account detail
      • CRM x WorkDrive: We're rolling out the WorkDrive-powered file storage experience for existing users

        Release plan: Gradual rollout to customers without file storage add-ons, in this order: 1. Standalone CRM 2. CRM Plus and Zoho One DCs: All | Editions: All Available now for: - Standalone CRM accounts in Free and Standard editions without file storage
      • HR Helpdesk Cases

        We have Zoho One Enterprise. I'm trying to find HR Helpdesk Cases, but my UI does not match the documentation. I'm not sure how to move forward.
      • Tip #7 - Siri shortcuts in Zoho CRM

        Hello Everyone, Here is a tip about the 'Siri Shortcuts' feature and how it works in the iOS version of the Zoho CRM mobile app. What are Siri shortcuts? Siri Shortcuts are quick actions across your apps on iOS. They can perform an action automatically
      • Automatic Department and Employee Sync Between Zoho One and Zoho People

        Dear Zoho Support, I'm writing to propose a valuable feature request that would streamline data management and improve user experience within the Zoho ecosystem: automatic synchronization between departments and employees in Zoho One and Zoho People.
      • Nothing triggers a Journey

        I have been on the phone with Zoho support and they claim their development team needs to investigate more. However, I've found this is a pretty standard answer after a call takes any amount of time. After that, it's days and even weeks before it actually
      • Manually Backorder Sales Order and/or Change Sales Order Status

        Is there an option to manually 'backorder' a sales order, or otherwise change it's status?  In some cases, we receive orders for products that are out of stock, but we already have issued POs to our suppliers for replenishment.   Ex- we created a PO on
      • Backorder process review - Automating Removal of Sales Order from "On Hold" When PO is Received

        Hello Zoho Inventory Team, Currently, sales orders in On Hold status are released only when the bill for the purchase order is created. In our workflow, it would be much more efficient if the sales order could automatically move out of On Hold as soon
      • Kaizen #254 - Building a Temporal Lead Score Decay System in Zoho CRM

        Hello, CRM Wizards! Welcome to a fresh week of Kaizen. In this post, we will build a temporal lead score decay system that works alongside your existing scoring rules by introducing percentage-based score decay driven solely by customer inactivity. By
      • Metadata API Access to Functions

        I think it would be incredibly helpful to have api access to every function's code. Our team primarily uses deluge functions to update fields across modules according to business logic. I would like to create a visual dependancy model for our CRM, but
      • API actions/approvals endpoint returns UNAPPROVABLE despite user having full permissions and being the assigned approver

        Hi Team, We are trying to programmatically approve a record via the CRM API but consistently receive an UNAPPROVABLE error, even though the same user can approve the record without issue from the UI. Endpoint called: POST https://www.zohoapis.com/crm/v6/{module}/{record_id}/actions/approvals
      • Upcoming Change: Increased character limits for module and field labels

        To provide greater flexibility in customizing your CRM, we are increasing the maximum character limits for module labels and field labels in Zoho CRM. What's changing? Label Current Limit New Limit Module Label 25 characters 50 characters Subform Module
      • Get a realistic picture of your revenue with Forecast Adjustments in Zoho CRM

        #crm25q1 Dear Customers, We hope you're doing well! Today, we're here with an important enhancement for business decision makers: forecast adjustments. Let's get straight to it! With technology on the rise and CX at its core, businesses are constantly
      • I am not able to check in and checkout in zoho people even location access allowed

        This issue i am facing in mackbook air m1, I allowed location in chrome browser and i also tried in safari but getting similar issue. Please have a look ASAP.
      • WhatsApp Vendors Module

        Hello, so WhatsApp works with the below, mainly with the customer side modules. Can we get functionality on the vendor side modules, i.e., PO, Bills, Vendor Credits, Payments Made, Purchase Received? WhatsApp is often the preferred method of communication
      • Upload ticket attachments via Drag-&-Drop

        Hello, if you want to upload a file to the ticket attachment you need to click the button and use the file browser to select and upload the desired file. In many cases, it would be much more efficient if you could simply drag the file to the browser window...
      • Introducing parent-child ticketing in Zoho Desk [Early access]

        Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
      • Elevate your Radar experience: Best practices part 3

        In the Spotlight: Zoho Desk's Radar app Customer support requires human intelligence combined with emotional intelligence. How about these coupled with contextual intelligence? These elevate the customer support experience. When providing support through
      • Migrating my email from GMAIL to ZOHO MAIL..........

        I am a long time GMAIL user and I really only understand how they operate, but after reviewing your tutorials and forums online, it is quite unbelievable how much more and how much more streamlined ZOHO mail is, not to mention ZOHO's wonderful, more advanced capabilities. I do have several questions about transitioning over to ZOHO.  Primarily, where is the best place to start, what do I do first? And how hard is it actually to move all my business and personal accounts over here?  When I sign up
      • Unable to send message;Reason:553 Relaying disallowed. Invalid Domain

        Hi, Now when I try to reply to an email, I see the Unable to send message;Reason:553 Relaying disallowed. Invalid Domain voicemessagedownloader.com error. I tested sending an email when I set it up in the past and it worked. I have checked the Zoho Organization
      • RFID Scanner/Adapter Solution for barcode scanning

        Hello, We will be trialing using barcode scanning for item verification during our picking process. Using a phone or a tablet is awkward and uncomfortable. Are there any Zoho compatible RFID scanners, or an RFID device/adapter that will connect with a
      • Approval Process not retriggering after rejection when stage is manually changed back

        We have an Approval Process on the Opportunities module that triggers when Stage is changed to Negotiation (Execute on: Edit Only). On rejection, a field update action reverts Stage back to Proposal. The issue: after rejection, AE can manually changes
      • Free Webinar Alert! Workdrive + Office Suite in Zoho Workplace: Create, co-edit and collaborate

        Hello Zoho Community! Looking for a better way to create, manage, and collaborate on your business documents? Join our upcoming webinar to discover how Zoho WorkDrive and the Zoho Office Suite (Writer, Sheet, and Show) help teams to work together from
      • Updating Sales orders on hold

        Surely updating irrelevant fields such as shipping date should be allowed when sales orders are awaiting back orders? Maybe the PO is going to be late arriving so we have to change the shipment date of the Sales order ! Not even allowed through the api - {"code":36014,"message":"Sales orders that have been shipped or on hold cannot be updated."}
      • Two-Factor Authentication in Zoho Mail: Add an extra layer of security to your organization

        Account security is a critical aspect of managing any organization's email. With increasing risks of unauthorized access, a single password may not always be sufficient to keep accounts protected. Zoho Mail's Two-Factor Authentication (TFA) addresses
      • Dark Mode - Font Colors Don't Work

        When editing a document in Dark Mode and selecting font colors, they don't show up on screen.  Viewing/editing the same document in Light Mode shows them just fine.
      • API to post drafts for social media

        I we want to post draft posts to our zoho social account and then approve and schedule them within Zoho social. is this possible with for example: https://apis.zoho.com/social/v2/post TIA Jon
      • How to show product cards in your chatbot

        Hey everyone, If you are using Guided Conversations to help customers find products, you have probably run into this problem: the bot gives customers a list of options, but they still have no idea which one to pick. There will be no images, no specs,
      • Changing settings for auto logoff

        I've noticed that when I haven't used Cliq for a while, I have to re-enter my password. That is really clumsy, especially if you have a complicated password. Because it won't be filled in automatically. Is there a way to change that behaviour? We are
      • How do you create invoices before sending them through Zoho Invoice?

        Hi everyone, I'm curious how other businesses handle their invoicing workflow before sending invoices through Zoho Invoice. Do you: Create invoices directly inside Zoho? Prepare them first in another invoice tool or template? Use Excel or Word before
      • ZML Error/Bug

        Hi, I would like to request for your help regarding this kind of behavior. Requested_Start_Time & End_Time - date-time fields https://......#Page:PH_Calendar_Page?reqDate=08-04-2026 https://......#Page:PH_Calendar_Page?reqDate=07-31-2026 https://....#Page:PH_Calendar_Page?reqDate=08-03-2026
      • Item with name in different languate

        Hello, is there a way to have an item with its name in different languages? For example: I sell an item in different markets and I'd like to have a Proposal and the Invoice with the Item Name in a specific language. Rino Bertolotto Zoho Specialist, STESA srl
      • Email notification for followers

        Is there a way to enable email notification for followers of a support ticket? ie: Ticket #123 is owned by Agent#1, Agent#2 adds themselves as a follower. Whenever ticket #123 receives an email from the customer, Agent#1 receives an email. Agent#2 would
      • Migration of emails from Yandex to Zoho

        I am trying to migrate an yandex mail account to zoho mail account. I am confused with all the related articles/informations in the net. Could someone please outline the process to do it, just thinking about me as a novice with limited knowledge or experience. A couple of questions from the knowledge gained. 1. I believe we have to delete the yandex current MX from the website records and add Zoho MX. What happens to the emails as we remove the mail exchange record. Yandex stops updating emails and
      • Auto-fill from logged-in user's profile for Name Fields in Subforms

        Hi, The Name field is great, but I see you can't tick the Initial Value option of "Auto-fill from logged-in user's profile" when it is on a Subform, why not? Thanks Dan
      • Calling a function within another function

        Hello there, I have just found out that you can simply call up functions in other functions, regardless of the department. You can't create functions with the same name twice, even though you are in a different department. If you try it, you don't get
      • 【続々公開】Zoholics Japan 2026 セッション情報を更新しました!

        ユーザーの皆さま、こんにちは! Zoholics Japan 2026のセッション情報を続々と公開しています! 今年は3つのトラックで、Zohoの最新情報やAI活用、製品アップデート、 活用事例など、多彩なセッションをお届けします。 現在公開中のセッション(一部) ・Zoho CRM 製品アップデート ・Zoho CRM Plus 製品アップデート ・Zoho Community セッション ・Zoho Desk セッション ・中堅・成長企業の人事DX ~AI時代に何から始めるべきか?~ ・Zoho
      • Next Page