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,
  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 below

 "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
  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 #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
    • Kaizen #152 - Client Script Support for the new Canvas Record Forms

      Hello everyone! Have you ever wanted to trigger actions on click of a canvas button, icon, or text mandatory forms in Create/Edit and Clone Pages? Have you ever wanted to control how elements behave on the new Canvas Record Forms? This can be achieved
    • Kaizen #142: How to Navigate to Another Page in Zoho CRM using Client Script

      Hello everyone! Welcome back to another exciting Kaizen post. In this post, let us see how you can you navigate to different Pages using Client Script. In this Kaizen post, Need to Navigate to different Pages Client Script ZDKs related to navigation A.
    • Kaizen #210 - Answering your Questions | Event Management System using ZDK CLI

      Hello Everyone, Welcome back to yet another post in the Kaizen Series! As you already may know, for the Kaizen #200 milestone, we asked for your feedback and many of you suggested topics for us to discuss. We have been writing on these topics over the
    • Recent Topics

    • No Ability to Rename Record Template PDFs in SendMail Task

      As highlighted previously in this post, we still have to deal with the limitation of not being able to rename a record template when sent as a PDF using the SendMail Task. This creates unnecessary complexity for what should be a simple operation, and
    • Server error when trying to Data > Sort > Custom Sort

      Been using Data > Sort > Custom Sort for a while, now it has suddenly stopped working. When selecting the same data range and trying to execute, I get "Sorry! There was a problem saving your last edit. Please try again."
    • To Assign a genrated pdf to a file upload field using delug

      content = "<html><body>HTML Content on page One <div style='page-break-after:always'></div> HTML Content on page Two </body></html>"; file = zoho.file.convertToPDF(content); file.setFileName("Name of the file"); <variableName> = <FormLinkName>[ID == input.ID];
    • TArgets To Accounts (Modules)

      How can i set sale target to Customers (Accounts Module)
    • Breaking barriers with multilingual WhatsApp templates in IM

      Ever wondered what it feels like to be greeted in your own language by a brand you love? A “Welcome!” feels nice, but a “¡Bienvenido!” or “स्वागत है!” feels personal. In today’s global world, conversations often need to cross both time zones and cross
    • Super Admin Logging in as another User

      How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
    • How to share private Opportunities with whole org at an account level

      Opportunities are currently set to private, so our sales team only sees their own opportunities, along with their manager and upper leadership. The need is the ability for the rest of the Org to see the opportunities at an account level, not within the
    • New in Smart Prompt: Record Assistant for contextual assistance, and support for new AI models

      Smart Prompt helps teams stay informed and move faster by providing relevant suggestions where work happens in CRM. With this update, Smart Prompt becomes more adaptable to your organization’s AI preferences. You can now choose which Large Language Model
    • Subform edits don't appear in parent record timeline?

      Is it possible to have subform edits (like add row/delete row) appear in the Timeline for parent records? A user can edit a record, only edit the subform, and it doesn't appear in the timeline. Is there a workaround or way that we can show when a user
    • Problema Verificacion con proveedor NIC.AR

      No puedo realizar la verificación del correo, he seguido los pasos indicados y configurado los MX. Y no puedo verificar el correo. He leido en el foro que otros han tenido el mismo problema. Alguno pudo solucionarlo?
    • How to remove some users in zoho accounts

      How to remove some users in Zoho accounts.
    • Reupload and rename from one field to another field (file upload)

      Hi Everyone, Sorry, i have question to use invoke url for rename and reupload attachments file to another field. Tested on development mode. Zoho C6. Refer to https://www.zoho.com/creator/help/api/v2/upload-file.html look my error notification. Does anyone
    • Unified Inbox for all, including fetched mails

      I fetch mails from different third-parties mailboxes. But I need to switch mailbox too see fetched mails. It's strange. All mailboxes have one shared disk space for own mail and fetched mail, but why do we need to switch mailbox (on the left bottom) to
    • Whatsapp Limitation Questions

      Good day, I would like to find out about the functionality or possibility of all the below points within the Zoho/WhatsApp integration. Will WhatsApp buttons ever be possible in the future? Will WhatsApp Re-directs to different users be possible based
    • Users Not Automatically Being Added To WorkDrive Team

      I have already created a ticket for this issue, but the support team doesn't seem to understand what's happening. Our organization started with a trial of Zoho Workplace around November 10, 2025. I created 10 users, including myself. I sent out the invites,
    • Synchronization between Gmail and Zoho Mail

      Hello! I am using Zoho Mail within the Zoho One platform. I have completed the basic setup and added all the required DNS records with our domain provider. Our goal is to set up two-way synchronization between our current Gmail inbox and Zoho Mail, but
    • IMAP login problem

      I have my domain hosted with zoho @wilson.ie I have added a new user and have enabled IMAP access to this user account The user can login to zoho mail on the web. When we enter the server settings into Outlook as per below, Outlook cannot login to the
    • Contact data removes Account data when creating a quote

      Hi, Our customer has address fields in their quote layout which should be the address of the Account. They prefill the information, adding the account name - the address data is populated as per what is in the account - great. However when they then add
    • Changes to subform in Zoho CRM Portal Timeline History Unavailable

      Hi Support Team, We have noticed a feature limitation in the Zoho CRM portal. We created a portal for our vendors to edit records directly, but when vendors make updates, the Modified Time and Date fields are not being updated. Additionally, these updates
    • This mobile number has been marked spam. Please contact support.

      Hi Support, Can you tell me why number was marked as spam. I have having difficult to add my number as you keep requesting i must use it. My number is +63....163 Or is Zoho company excluding Philippines from their services?
    • Zoho CRM Portal Field Level Permission Issue

      Hi Support Team, I am using the Zoho CRM Portal and configuring field-level editing permissions. However, we are unable to restrict portal users from editing certain fields. We have created a portal and provided View and Edit (Shared Only) access for
    • How to restrict user/portal user change canvas view

      Hi , I would like to restrict user / portal user change their canvas view because I hide some sensitive field for them. I dont want my user switch the canvas view that do not belong to them But seems Zoho do not provide this setting?
    • Function #11: Apply unused credits automatically to invoices

      Today, we bring you a custom function that automatically applies unused credits from excess payments, credit notes, and retainer payments to an invoice when it is created. Prerequisites: Create a Connection named "zbooks" to successfully execute the function.
    • Edit Contact Roles in the Potentials Mod

      New to ZOHO so I need some help.  I work the same people on different projects concurrency. Their contact info remains the same but their role changes from project to project.  In the Potential Mod you can pick contacts and assign a Role to them.  I know how to edit the roles. What I want to do is add some fields. Specifically I want to add the following "Expectation" "Requirements" and "Communication "Requirements." This will allow me to look at a Potential and see information associated with this
    • Duplicating report but custom layout does not

      Dear Zoho Creator, I need to duplicate a report into 10 copies, but unfortunately the custom layout (detail view) doesn’t copy along with it. I tried exporting and importing the custom layout, but the field mappings are incorrect. I believe everyone are
    • Credit Card Readers?

      We would like to use our commerce website at conferences (and eventually in store) to swipe credit cards to pay for orders. How would we accomplish this? Does Zoho have anything available for a developer write code to integrate something like Stripe Terminal
    • AI generated meeting notes associated to Account or Deal

      As our organization works to improve efficiency we are looking for a solution to leverage AI to generate meeting notes and then add those notes to a CRM record such as an Account or Deal. I see Zoho has a Notebook AI offering that talks about the ability
    • Stock count by bin location

      Is there a configuration to make a stock count by bin or area and not by product. these is useful to manage count by area Regards
    • Add Prebuilt "Partner Finder" Template with Native Zoho CRM Integration in Zoho Sites To: Zoho Sites Product Team

      Hi Zoho Team, We hope you're doing well. We would like to request a prebuilt "Partner Finder" template for Zoho Sites, modeled after your excellent implementation here: 🔗 https://www.zoho.com/partners/find-partner-results.html ✅ Use Case: Our organization
    • How Do I Refund a Customer Directly to Their Credit Card?

      Hi, I use books to auto-charge my customers credit card. But when I create a credit note there doesn't seem to be a way to directly refund the amount back to their credit card. Is the only way to refund a credit note by doing it "offline" - or manually-
    • Can we generate APK and IOS app?

      Dears, I want to know the availability to develop the app on zoho and after that .. generate the APK or IOS app  and after that I added them to play store or IOS store.. Is it possible to do this .. I want not to use zoho app or let my customers use it. thanks 
    • Limitation with Dynamic Email Attachment Capture

      I've discovered a flaw in how Zoho Creator handles email attachments when using the Email-to-Form feature, and I'm hoping the Zoho team can address this in a future update. The Issue According to the official documentation, capturing email attachments
    • Zoho Learn Course Completion Notifications/Triggers/API

      Zoho Learn works great and will suit our course creation needs, but it appears to be lacking a bit when it comes to integration with other Zoho services (creator etc.) when it comes to course completion. 1) Is there an API or Zoho Flow trigger for when
    • Sorting a list of record acquired from the zoho.crm.searchRecords function.

      This is something for which I'm trying to figure out a straightforward way to do. The searchRecords does a great job fetching me the records that I want. However, in some cases, where it returns multiple records, I want it to sort the returned list by date of creation of that record, so that when I do records.get(0), I get the most recent record.  As an example, here's my sample pseudo code: records = zoho.crm.searchRecords("Clients", "Office_Number:equals:123456"); Now the "records" list above contains
    • Enhanced Recording Permission Controls for Zoho Cliq Meetings (Similar to Zoom)

      Hello Zoho Cliq Team, We hope you are doing well. We would like to request an enhancement to the recording permission functionality in Zoho Cliq Meetings. Current Limitation: in Zoho Cliq Only hosts and co-hosts can record a meeting. Participants cannot
    • Phone Connection

      When on a call the person on the other end complains that there is static, I am cutting in and out or they can't hear me all. This happens on the cell connection as well.
    • Can't add a sender adress from zoho campaigns

      hi, I need to change the sender address for a campaign.  When i try to add it i get a message to say 'duplicated email address found while adding your sender address'.  This is the first campaign i'm sending so I don't understand why this message is displayed? Thanks Jane 
    • Admin asked me for Backend Details when I wanted to verify my ZeptoMail Account

      Please provide the backend details where you will be adding the SMTP/API information of ZeptoMail Who knows what this means?
    • This domain is not allowed to add. Please contact support-as@zohocorp.com for further details

      I am trying to setup the free version of Zoho Mail. When I tried to add my domain, theselfreunion.com I got the error message that is the subject of this Topic. I've read your other community forum topics, and this is NOT a free domain. So what is the
    • This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details

      Hello, Just signed up to ZOHO on a friend's recommendation. Got the TXT part (verified my domain), but whenever I try to add ANY user, I get the error: This user is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details I have emailed as well and writing here as well because when I searched, I saw many people faced the same issue and instead of email, they got a faster response here. My domain is: raisingreaderspk . com Hope this can be resolved.  Thank you
    • Next Page