Kaizen 259 - Working with Zoho CRM APIs using the zoho-crm skill

Kaizen 259 - Working with Zoho CRM APIs using the zoho-crm skill


In the previous Kaizen, we introduced the zoho-crm skill and discussed how it can work with different CRM developer capabilities.

The zoho-crm skill makes it easier to work with Zoho CRM without having to remember every API endpoint, request structure, or the documentation needed for a particular requirement. You can describe what you want to build, and the skill determines the appropriate CRM capability and uses the relevant references to come up with the solution.

As of now, the skill supports REST APIs, Deluge Functions, Client Scripts, Widgets, COQL, Queries, and Connections, with more capabilities to be added over time.

In this Kaizen, we will look at how the skill can help you when you are working with Zoho CRM APIs.

For the demo, I have already installed the zoho-crm skill in my project and will be using GitHub Copilot. We will use a Lead management requirement and see how the skill helps us identify the required APIs and construct the requests.

We will start with individual actions and then combine them into a workflow.

Working with Zoho CRM APIs using zoho-crm skill  

To see how the zoho-crm skill helps with API usage, let us take a Lead management requirement.

Assume that whenever a Lead is qualified, we want to perform the following actions:

  • Set the Lead's Priority to Hot

  • Create a follow-up task for the Lead, due one day after the workflow is triggered

  • Send the Lead details to an external system using a webhook

Instead of looking for the appropriate API, going through the documentation, and figuring out the request structure for each of these requirements, we can provide the requirement to an AI coding agent with the zoho-crm skill.

The skill identifies the relevant CRM API, loads the required API references, and generates the request based on the requirement.

For this demonstration, we will use GitHub Copilot as the AI coding agent.

Creating a Field Update Action  

We will start by creating a Workflow Field Update action for the Leads module. The requirement is to set the Lead's Priority field to Hot when the action is executed. We can provide this requirement to the AI coding agent with the zoho-crm skill.

Prompt: /zoho-crm Create an automation field update action for Leads module that sets the Priority field to "Hot". Give me the curl request.


The zoho-crm skill first identifies that this requirement should be handled using the Workflow Field Update API. It then checks the relevant API reference to understand the endpoint, request structure, required parameters, and OAuth scope.

The generated request contains the organization-specific field information required for the Field Update action. Where an ID is required, the skill identifies that the value needs to be obtained from CRM metadata rather than asking us to manually figure out where it comes from. It also identifies the API that can be used to retrieve the required field details. We can use that API to get the field ID, replace the placeholder in the generated cURL request, and execute the request. The skill also identifies the OAuth scope required for the request, so you know exactly what permissions to configure before making the call.

The generated cURL request can then be executed to create the Field Update action in Zoho CRM. The response gives us the action ID, which we will use later when creating the workflow.

Creating a Task Action  

Next, we will create the Task action that needs to be associated with the workflow.

The requirement is to create a follow-up task titled "follow up with qualified lead", with the due date set to one day after the workflow is triggered.

Prompt: /zoho-crm Create a Zoho CRm workflow task action for the Leads module that creates a follow-up task titled "follow up with qualified lead" with the due date set to 1 day after the workflow is triggered. Give me the cURL request.


The skill identifies this as a Workflow Task requirement and loads the relevant Task Action API reference. It checks the API structure and the mandatory fields required for creating the task action, such as the task subject, due date, status, and priority.

For the due date, the skill also needs to represent the requirement relative to the workflow execution time. It constructs the request using the workflow execution time as the starting point and adds one day to it. The skill also identifies the organization-specific field IDs required for the Task action. If these IDs are not already available, it points to the CRM Fields Metadata API that can be used to retrieve the field details for the Tasks module.

Based on these references, the skill generates the cURL request for creating the Task action. The generated cURL request can then be executed to create the Task action in Zoho CRM. The response gives us the action ID, which we will use later when creating the workflow.

Creating a Webhook Action  

The third action is a webhook that sends the Lead details to an external system.

Prompt: /zoho-crm Create an automation webhook action for the Leads module that sends the Lead ID, Lead Name, Email and Phone to this endpoint : https://webhook.site/b89a8c65-8623-4af4-b579-8fa1853ad615. Give me the cURL request.


Here, the skill identifies that this is a Workflow Webhook action and refers to the corresponding Webhook API documentation. It also takes care of an important part of the request; mapping CRM fields to the data that needs to be sent to the external endpoint.

The generated request uses Zoho CRM merge fields to populate the webhook payload when the workflow executes. In our case, the payload contains the Lead ID, Lead Name, Email, and Phone. The skill also checks the API requirements, including the required OAuth scope and the structure of the webhook request, before generating the cURL.

We can then execute the generated cURL request to create the webhook action in Zoho CRM. The response gives us the action ID, which we will need when we define the workflow.

At this point, we have the three actions required for our use case:

  • A Field Update to set Priority to Hot

  • A Task to follow up with the qualified Lead

  • A Webhook to send the Lead details to an external system

The next step is to bring these three actions together and create the workflow rule that will execute them when a Lead is qualified.

Creating the Workflow Rule  

We now have all three actions ready. The final step is to create a workflow rule that brings them together.

For our use case, the workflow should run when the Lead Status is changed to Qualified. Once the workflow is triggered, it should execute the Field Update, Task, and Webhook actions we created earlier. Instead of manually working out the workflow API request structure, we can give the requirement to the skill along with the action IDs.

Prompt: /zoho-crm Give me the request body JSON to create a workflow rule named "Qualified Lead Follow Up" in the Leads module. Trigger when Lead_Status is changed to "Qualified".

Configure these as instant actions:
- Field Update: 4876876000025812036
- Task: 4876876000025831002
- Webhook: 4876876000025864002



The skill identifies this as a Workflow Rule API request. It determines how the field-update trigger needs to be represented and how the existing action IDs should be associated with the workflow as instant actions. It also uses the relevant workflow API reference to construct the request body, including the module, trigger criteria, and actions.

The skill generates the request body JSON, which we can use in the Workflow Rules API request.

So, the complete flow is now in place:

This is where the value of using the skill becomes more apparent. We started with a business requirement and, rather than having to determine the individual APIs and construct each request manually, the skill helped us identify the appropriate APIs, refer to the relevant documentation, and build the requests needed to put the complete workflow together.

Using the skill for other CRM requirements  

The zoho-crm skill can also act as a knowledgeable guide when working with CRM APIs. Instead of using it only to generate a request, you can use it to understand how a particular API works, determine which API is appropriate for a requirement, and get guidance on the request and response structure.

In other words, you can treat the skill as a Zoho CRM expert that you can consult while building your solution.

For example, consider the following requirement:

Prompt: /zoho-crm Retrieve Leads whose Lead Status is `Qualified` and whose Score is greater than `25`, and include details from the Account associated with each Lead (such as Account Name and Account Industry).


The skill identifies COQL as the appropriate API for this requirement. It checks the relevant references and API specification to determine the endpoint, required scopes, request structure, field names, and response format. It can also explain how COQL compares with other record retrieval APIs such as Get Records and Search Records, and why it is better suited to this particular requirement.

If you have doubts about a Zoho CRM API, the skill can help you understand the API, work through its request and response structure, and determine how it applies to your requirement.

In the upcoming weeks, we will explore more capabilities of the zoho-crm skill and see how it can help with the other developer tools available in Zoho CRM.

If you have questions about the skill, APIs, or any of the capabilities covered in this series, feel free to drop a comment below or reach out to us at support@zohocrm.com. We would also love to hear about the use cases you are exploring with the zoho-crm skill.

Info
Previous Kaizen : Getting Started with zoho-crm SKILL.md | Kaizen Directory : Home

    • Sticky Posts

    • Announcing the new SKILL.md for Zoho CRM and the updated OAS repository!

      We are introducing a new zoho-crm skill to make working with Zoho CRM Developer tools (like APIs, functions, widgets, client scripts, queries etc) easier and faster, with the help of AI in your preferred AI harness like Claude Code, Codex, Cursor, VSCode
    • Kaizen #261 : Using Zoho CRM Skill to generate complex COQL queries

      Hello everyone, In the previous Kaizen posts, we introduced the zoho-crm SKILL.md and discussed how it can help you when you are working with Zoho CRM APIs and Client Script. In this Kaizen, we will focus on using the Zoho CRM `SKILL.md` with GitHub Copilot
    • Kaizen #256 - Build an Arrival Readiness Web Tab in Zoho CRM

      Hi everyone! Welcome back to the Kaizen series! In the post, we discuss a use case in hospitality industry: how an Arrival Readiness web tab widget can be used to let reception staff identify and resolve issues before arrival of guests. Use case In the
    • 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
    • Recent Topics

    • Months of WooCommerce–Zoho Inventory sync failures and repeated support requests – has anyone experienced this?

      Months of WooCommerce–Zoho Inventory sync failures and repeated support requests – has anyone experienced this? I run a small retail business using WooCommerce and Zoho One. For months, I have been trying to resolve recurring synchronisation failures
    • How to Manage Two GST Numbers / Two Companies in a Single Zoho Inventory Organization?

      Hi Team, We currently have two separate legal entities: A Proprietorship Firm with its own GSTIN A Private Limited Company with a different GSTIN However, operationally, both companies deal with the same products, and we would like to manage the physical
    • View Cannot Use UPC as Criteria

      When creating a new custom view, the UPC field is not available as a criterion for the view. This seems strange, because both ISBN and EAN are available in the dropdown. Because of this, I feel like the situation is possibly an oversight rather than by
    • How To Implement an Auto-Check-out Feature for Attendance?

      If an employee forgets to check out, the system should automatically check out the employee at 6:30 PM
    • Enhanced Zoho CRM and Office 365 calendar synchronization features!

      Dear customers, We're excited to share some significant improvements to our Office 365 calendar synchronization features, aimed at providing you with more control and a more personalized experience. What’s new Choose your Office 365 calendar: During the
    • What are the best practices for managing tax records and financial information for a small business?

      I’m interested in learning how other small business owners and accounting professionals organize their financial records and prepare for tax filing. With bookkeeping, expense tracking, income records, and tax documents all needing to stay accurate, having
    • How to Open Google Takeout and Thunderbird MBOX Files?

      MBOX files are used by email clients and services, such as Google Takeout and Mozilla Thunderbird, to store email messages. It can, however, be difficult to open such files if you don't have an email programme that is compatible. Google Takeout enables
    • Convert MBOX to PDF Free on Mac and Windows

      MBOX files are widely used for storing email messages in email clients such as Thunderbird, Apple Mail, and other programs that support the MBOX format. Although this format is useful for handling emails, it can at times be inconvenient to access the
    • How to Convert Apple Mac Mail to PST for Outlook for Free?

      Apple Mail is a widely used email program among Mac users, but what do you do if you want to transfer your emails to Microsoft Outlook? In such a situation—for example, when you are moving from a Mac to a Windows computer or when you need to use Outlook
    • Cannot apply tags to multiple items at once

      It is very frustrating needing to apply tags to notes individually. Even worse that it takes multiple clicks to do it. Can there please be an update to: 1.) Allow us to apply tags to batches of notes in one go. 2.) Make it less clicks to add a tag 3.)
    • Automating CRM backup storage?

      Hi there, We've recently set up automatic backups for our Zoho CRM account. We were hoping that the backup functionality would not require any manual work on our end, but it seems that we are always required to download the backups ourselves, store them,
    • not able to convert pdf to jpg and other forms and vice versa.

      i want to change my pdf to jpg, word, etc and some times jpg to pdf. i don't know how to do in this.
    • Changing an existing item to different accounts & inventory-tracked

      Hi everyone, I have an item in Zoho Books that was originally set up as a non-inventory item. Over time, I associated it with different sales and purchase accounts, and I now have many invoices, bills, and reports that use this item. My business process
    • Address limits per customer by edition

      I’m on the Standard edition and have reached a limit of 30 addresses under a single customer. Before I move to an annual Professional subscription, I need to confirm the following: What is the maximum number of addresses allowed under one contact, and
    • How to Convert Emails to PDF Format in Batch

      It is helpful to convert emails into PDF format when you want to save important messages, when you need to share business correspondence, or when you wish to keep email records for future reference. PDF files can be readily opened, printed, and shared
    • Function #24: Automatically display deal name from Zoho CRM on quotes in Zoho Books

      Deals allow businesses to organize and visualize their sales pipeline. This provides a clear overview of all potential opportunities and helps in making informed decisions. Zoho CRM empowers you to create deals or potentials for your clients and monitor
    • Lookups and Custom Modules

      I created a Custom Module that I'm calling "Item Purchasing Group". This module will store information for groups of Items that must be purchased together (including minimum overall quantities and/or values, etc.). This will have a one-to-many relationship
    • Zoho Books | Product updates | October 2026

      Hello users, October brings a range of new features and enhancements to Zoho Books, designed to simplify compliance, streamline accounting workflows, and improve inventory management. From the launch of the Nigeria Edition and France’s e-invoicing capabilities
    • Create custom rollup summary fields in Zoho CRM

      Hello everyone, In Zoho CRM, rollup summary fields have been essential tools for summarizing data across related records and enabling users to gain quick insights without having to jump across modules. Previously, only predefined summary functions were
    • Button or Links order

      Is there a way to re-order the buttons or links that are created? Moderation Update: With our recent enhancement to custom button creation from the layout editor, administrators can now reorder custom buttons directly from the layout editor, and this
    • Zoho Books | Product updates | August 2026

      Hello users, July has been an exciting month for Zoho Books! This month, we're excited to introduce HTML PDF Templates, Placeholders as Pills, expanded approval workflows for Sales Returns and Journals, and significant compliance updates across the India,
    • Bulk updating tags

      My organisation handles a number of restricted funds. We previously did this by having a chart of accounts where each restricted fund has its own income and expense accounts. However, our accountant changed this, moving all transactions into accounts
    • Download or Backup Bulk Emails from IMAP Server

      Taking email messages from an IMAP server and saving them is a wise method for ensuring that important emails are kept safe and easy to access. No matter whether you have a business email address or a personal mailbox, keeping a local copy of your emails
    • Zoho Writer Label Template Merge/Print Via API/Webhook/Flow

      Short version of goal: To be able to kick off a Zoho Writer Label Template Document via API or Webhook or even using Zoho Flow. As of right now I have been unable to figure out a way to do that. Long version of goal: We would like to press a button (run
    • Kaizen #263: Using Zoho CRM Skill to Build Widgets

      Hello everyone! Welcome back to another exciting Kaizen post. In the previous Kaizen posts, we introduced the zoho-crm skill.md and explored how it can help with Zoho CRM APIs, Client Scripts, complex COQL queries, and Skill to build Queries. In this
    • Zoho notebook No login

      Hello Team, I recently downloaded and installed the latest version of zoho notebook for windows. But I am not able to login without providing any sso or email address. Did you removed the no login feature for this app? This is just a windows app. can
    • Search is completely broken for PC

      I go to note, try to search for "mtga" and it shows 702 results (it's a big note), highlights all letters "m" and I can't find anything. Same for "gathering" - it thinkgs I think only for "g". Looking for "zoho" shows as if I searched only for "z". Using
    • Losing description after merging tickets

      Hello, We merge tickets when they are about the same topic from the same client. It happens sometimes. We recently noticed that after the merger only the description from the master ticket is left in a thread. And the slave-ticket description is erased.
    • Behind a great customer experience is a team

      Hi everyone, October is here, and the first week marks the Customer service week. Each year, we thank our customer service professionals. Service professionals are all around us, even in our own workplaces: They handle essential administrative work like
    • What's New - August and September 2026 | Zoho Backstage

      Hello everyone, August and September bring a fresh wave of intelligence to Zoho Backstage. AI takes the spotlight with tools that help you create content, support attendees, and manage how AI fits into your events. Alongside AI, we’ve refined email communication,
    • Images Not Displaying Properly in Zoho Desk

      Hi, We are experiencing an issue with image rendering in Zoho Desk, affecting both incoming and outgoing emails. Images embedded in email conversations are not displaying properly. Instead, we see broken image icons or empty placeholders where the images
    • Announcing the new SKILL.md for Zoho CRM and the updated OAS repository!

      We are introducing a new zoho-crm skill to make working with Zoho CRM Developer tools (like APIs, functions, widgets, client scripts, queries etc) easier and faster, with the help of AI in your preferred AI harness like Claude Code, Codex, Cursor, VSCode
    • Widget Height were destroyed

      All widget heights in the Details Canvas view are broken. Moderation Update: This is a known issue with widget heights in Client Script popups and flyouts. A fix is in progress, and this post will be updated once it's released.
    • Zoho Projects - Has something changed regarding to linking Projects and Deals via the API?

      I am trying to link Zoho Projects to Deals in CRM using the API, but each time, the Deal Contact is added as a Client user and receives an email invite asking them to join the organisation. These are internal projects and the customer should not have
    • How long does it take to review campaigns?

      Hello Zoho, i scheduled my campaigns yesterday afternoon and it has been under review for over how many hours and those campaigns were supposed to be out yesterday so new ones can go out today. Is there something i'm doing wrong?
    • Convert MSG to PDF in Bulk with Attachment Free

      Microsoft Outlook saves each email as an MSG file, keeping with it key information like the sender, the recipient, the subject, the date, the body of the message, and any attachments. It can, however, be quite difficult to access a large number of MSG
    • Using Mail Merge Template to Print Documents with One Subform Record's Fields per Document

      Hello, We have a Mail Merge template created in Zoho Writer which is not able to perform the functionality which is currently required to automate the documentation task portion of our process. The CRM module we are primarily using is based on a "Loans"
    • Convert MBOX to PST File Using Free Methods

      MBOX is a mailbox format that is used by various email clients and services, such as Thunderbird, Apple Mail, Eudora, and Google Takeout. Yet, in order to be able to open your MBOX emails in Microsoft Outlook, you have to convert them from MBOX to PST
    • Zoho Community Digest - September 2026 | Part 4

      Hi everyone, and welcome back! The final week of September brought a revamped Books integration in Zoho CRM and Zoho Key Service for LLM access without API keys, Zoho Creator's audit trail becoming a full enterprise-grade auditing system, and Zoho One
    • Automate weekly reports from Channels | Zoho Cliq AI use case #01

      Scrolling endlessly through numerous threads in a Cliq channel and manually counting how many have been closed, how long people took to reply, and who actually participated can be tedious. After 20 minutes, you might have a number that no one can verify.
    • Next Page