Actions API - Webhooks APIs - Part 1

Actions API - Webhooks APIs - Part 1



Hello all!!
Welcome back to a fresh Kaizen week.
In the previous weeks, we covered Workflow Rules APIs, Actions APIs - Email Notification APIs, Tasks Update API, and Field Update API.

This week, we will continue with another Actions API - Webhooks API in Zoho CRM.

Webhooks in Zoho CRM

A webhook allows Zoho CRM to send real-time information to another application the moment something important happens. Webhooks let CRM push data instantly to an external URL whenever the workflow condition is met.
Webhooks do not notify on every record event by default. They trigger only when specific automations, such as a Workflow Rule you configure, are executed. This helps for specific real-time automation needs, such as sending high-value leads to an external validation service.

Use case

Zylker, an IT solutions provider, uses Zoho CRM to manage all incoming leads. But not every new lead is ready for the Sales team right away. Not all leads need immediate follow-ups. For leads with a high Profit Score (80+), it usually means strong buying intent, but they may contain fake information.

Why does Zylker use Zoho CRM and send these leads to an external validation application?

Before Sales reaches out, Zylker wants to make sure these high-value leads have valid information. While CRM keeps the lead data organized, a specialized third-party validation systems check any fraudulent activities and confirm whether the email, phone number, or other details are real.

To do this quickly, Zylker uses Webhooks in Zoho CRM. The moment a lead crosses the 80+ score, Zoho CRM automatically sends the lead’s data to Zylker’s external validation system. This lets Zylker verify the lead in real time and send back a clean, accurate, sales-ready profile for the Sales team to follow up on.

From here, we will explain every part of Webhooks by showing how it looks in the Zoho CRM UI and how to do the same using the API. Each step will be shown side-by-side, so you can clearly see how the UI setup translates into the API request.

Configuring Webhooks for Zylker’s Use Case - UI Method

  1. Go to Setup 
  2. Navigate to Automation
  3. Choose Actions -> Webhooks
  4. Click Configure Webhook
You will see the window shown below.
Webhook - UI view

The following sections explain what each field means in three parts:
  1. Basic fields to configure Webhook.
  2. Configuring Headers 
  3. Configuring Body

Filling the basic Webhook details via UI



Filling the basic Webhook details via Create Webhook API

Request URL: {{api-domain}}/crm/v8/settings/automation/webhooks
Request Method: POST
Input JSON

{
    "webhooks": [
        {
            "name": "Push High Score Leads",
            "description": "Send leads with Profit Score > 80 to validation system.",
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "authentication": {
                "type": "general"
            },
            "http_method": "POST"
        }
    ]
}


Keys explanation

  1. name (mandatory): Name of your webhook.
  2. description: Add a short note about what this webhook does.
  3. module (mandatory): Select the module from where the external application listens the changes. In our case, select Leads module to push high-score leads.
  4. url (mandatory):  Specify the external endpoint where CRM will send the data. This lets the external application see what CRM sends.
    1. Note: In this post, we have used an endpoint from Webhook.site
  5. authentication (mandatory): Specify authentication type for the webhook endpoint. 
  6. Possible types:
    1. general: The receiving system does not require OAuth. You can pass OAuth tokens manually in headers.
    2. connections:
      1. OAuth-based integrations: Systems that use Zoho’s Connections.
      2. For our Zylker use case, we select General.
            Note: In Zoho CRM API V8, Webhooks currently support only General authentication. Connection-based authentication will be available in a future update.
  1. http_method (mandatory): Select a HTTP method that allows you to send structured data. 
            Possible values: POST, GET, PUT, DELETE

In our case, we use POST to create a new record in the external app with the necessary lead details, allowing the external system to run its validation checks.

HTTP methods and their supported parameters - Headers, Body, URL Parameters

  HTTP Method

  Headers

  Body

  URL Parameters

POST

  • Module parameters

  • Custom parameters

Type: form-data

Module parameters
Custom parameters
User-defined parameters

Formats: null

Type: raw

Formats: Text, JSON, HTML, XML

      Not Supported

PUT

  • Module parameters

  • Custom parameters

Type: form-data

Module parameters
Custom parameters
User-defined parameters

Formats: null

Type: raw

Formats: Text, JSON, HTML, XML

      Not Supported

GET

     Not Supported

           Not Supported

  1. Module parameters
  2. Custom parameters
  3. User-defined parameters   
  

DELETE

   Not Supported

          Not Supported

  • Module parameters

  • Custom parameters

  • User-defined parameters


Each HTTP method supports different parameter types. The above table shows which methods support Headers, Request Body, and URL Parameters. Detailed explanations of these parameter types are provided in the following section.

Creating a Webhook with Headers, Body, and URL Parameters

When a webhook is triggered in Zoho CRM, the data is sent to the external application as part of the HTTP request.
The data can be sent in three places:
  1. Headers
  2. Body (Form-Data or Raw)
  3. URL Parameters 
Each part serves a different purpose.

Configuring Headers 

UI - Configuration

Headers allow you to send extra information along with your webhook request. These help when the external app needs extra data like auth tokens or CRM field values.

Zoho CRM supports two types of headers:
  1. Module Parameters - Dynamic values from CRM fields
  2. Custom Parameters  - Static values you define

Module Parameters - dynamic CRM data

Module parameters allow you to send values from CRM fields inside the header. These values change depending on the record that triggered the webhook.

A module parameter consists of:
  1. Parameter Name - A unique header key that you define. It does not have to match the CRM field API name.
  2. Parameter Type - Defines the source of the data you are mapping. It can come from the selected CRM module such as Leads and Contacts, lookup fields, User fields such as Lead Owner, or Organization fields.
  3. Parameter Value - The merge field value. Example, ${!Leads.Created_By.id}
Note: If you decide to use Headers, then you must add at least one module_parameter. Otherwise CRM will show an error. 

Example:

Parameter Name

Parameter Type

Parameter Value

Lead_Email

Leads

Email

Annual_Revenue

Leads

Annual Revenue

Profit_Score

Leads

Profit Score

Created_By

Created  By

User Id


Custom Parameters - static values

Custom parameters are key-value pairs that never change.

These are useful for:
  1. API version
  2. Tags like “zylker-crm”

Name

Value

source

zylker-crm

version

v1

 

  

Configuring Headers via Create Webhook API

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

Input JSON

{
    "webhooks": [
        { 
            .
            .
            .
            "http_method": "POST",
            "headers": {
                "module_parameters": [
                    {
                        "name": "Lead_Email",
                        "value": "${!Leads.Email}"
                    },
                    {
                        "name": "Annual_Revenue",
                        "value": "${!Leads.Annual_Revenue}"
                    },
                    {
                        "name": "Profit_Score",
                        "value": "${!Leads.Profit_Score}"
                    },
                    {
                        "name": "Created_By",
                        "value": "${!Leads.Created_By.id}"
                 }
                ],
                "custom_parameters": [
                    {
                        "name": "source",
                        "value": "zylker-crm"
                    },
                    {
                        "name": "version",
                        "value": "v1"
                    }
                ]
            }
        }
    ]
}


When should Zylker use Headers?
For the 80+ Profit Score validation use case, Zylker can include module parameters such as Lead Email, Profit Score, and Lead ID, which are helpful for fraud-detection tools.
Similarly, Zylker can include custom parameters like source=zylker-crm and api_version=v1 to help the external system identify where the webhook originated.

Configuring the Body of a Webhook - form-data & raw formats

After setting up the basic details and Headers, the next step is to configure the Body.
The Body is where the main CRM record data is sent, which is different from the Header section that only carries metadata like auth tokens or quick identifiers.

Depending on your needs, the Body can be either Form-Data or Raw. The list below shows the supported options for each format.
  1. Form-Data:
    1. Module parameter
    2. Custom parameter
    3. User-defined format.
  2. Raw:
    1. Text - plain messages
    2. JSON -  structured API payload
    3. HTML - formatted messages
    4. XML - traditional enterprise systems


Form-Data Body: key-value 

UI - Configuration


Zoho CRM lets you build Form-Data using three types of parameters:
  1. Module Parameters
  2. Custom Parameters
  3. User Defined Parameters
Use Form-Data when the external app expects key-value pairs - similar to how HTML forms submit data.

Note:
  1. Headers are for sending supporting information that helps the external system understand the request - this can include auth details, source identifiers, or key CRM fields like email or score that help with quick categorization or filtering. 
Why do Module and Custom parameters appear again in Form-Data?

The same Module Parameters and Custom Parameters are available in the Body because:
  1. Headers - Provide supporting details such as identifiers or quick-check values. For example, Lead ID, or source tags that help the external system check and route the request.
  2. Body - Contains the complete lead information that the external validation system needs to process.
Although the parameter names look the same (Module, Custom), their purpose changes:

Where parameters are used

Purpose

Example

Headers

Metadata - OAuth,tags, and context

source: zylker-crm

Form-Data (Body)

Main record data - actual lead details sent to the app.

 

lead_email=patricia@zylker.com

So Zoho CRM gives you the same structure, but used differently depending on where the data is placed.

User-Defined Parameters
User-Defined parameters let you build custom, human-readable messages or templates. This parameter is available only in the Body, not in Headers. 

   

Parameter Name

Parameter Value

custom_message

New high-score lead: ${Leads.First Name}${Leads.Last Name} (Score: ${Leads.Profit Score})


This is very helpful if your external app expects a text message, notes, or a description field.

Configuring the Body of a Webhook - form-data via Create Webhook API

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

Input JSON

{
    "webhooks": [
        {
             .
             .
             .
            "body": {
                "form_data_content": {
                    "module_parameters": [
                        {
                            "name": "Lead_Email",
                            "value": "${!Leads.Email}"
                        },
                        {
                            "name": "Annual_Revenue",
                            "value": "${!Leads.Annual_Revenue}"
                        },
                        {
                            "name": "Profit_Score",
                            "value": "${!Leads.Profit_Score}"
                        },
                        {
                            "name": "Created_By",
                            "value": "${!Leads.Created_By.id}"
                        }
                    ],
                    "custom_parameters": [
                        {
                            "name": "source",
                            "value": "zylker-crm"
                        },
                        {
                            "name": "version",
                            "value": "v1"
                        }
                    ],
                    "user_defined_parameters": {
                        "name": "custom_message",
                        "value": "New high-score lead: ${!Leads.First_Name}${!Leads.Last_Name} (Score: ${!Leads.Profit_Score})"
                    }
                },
                "type": "form_data"
            },
            .
            .
            .
        }
    ]
}


Raw Body - JSON / XML / HTML / Text

Zoho CRM’s Webhook Body section allows you to send data to an external application in a Raw format. This is useful when the receiving system expects structured data in the following structure.

You can choose:
  1. Raw + Text
  2. Raw + JSON
  3. Raw + HTML
  4. Raw + XML

Raw + Text:

Text format is the simplest. You can type any text and insert merge fields.

UI - Configuration



When to use Text?
  1. When sending a simple message. 
  2. When the external app only expects plain text.

Configuring the Body of a Webhook - Raw - "Text" via Create Webhook API

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

Input JSON

{
    "webhooks": [
        {
           .
           .
           .
            "body": {
                "raw_data_content": "New high score lead: ${!Leads.First_Name} ${!Leads.Last_Name}, ${!Leads.Email}, ${!Leads.Annual_Revenue}, ${!Leads.Phone}, ${!Leads.Industry}, ${!Leads.Owner}",
                "format": "Text",
                "type": "raw"
            },
            .
            .
            .
        }
    ]
}


Raw + JSON:

This is the most common format for APIs. Use this when the receiving system expects structured JSON data.

UI - Configuration



Configuring the Body of a Webhook - Raw - "JSON" via Create Webhook API

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

Input JSON

{
    "webhooks": [
        {
          .
          .
          .
            "body": {
                "raw_data_content": "{\n    \"id\": \"${!Leads.id}\",\n    \"full_name\": \"${!Leads.Last_Name}\",\n    \"email\": \"${!Leads.Email}\",\n    \"company\": \"${!Leads.Company}\",\n    \"profit_score\": \"${!Leads.Profit_Score}\",\n    \"owner\": \"${!Leads.Owner}\"\n}",
                "format": "JSON",
                "type": "raw"
            },
           .
           .
           .
        }
    ]
}


When to use JSON?
  1. When the external system expects structured data
  2. Easier validation

Raw + HTML:

HTML format is useful for sending stylized messages or formatted content.

UI - Configuration

Configuring the Body of a Webhook - Raw - "HTML" via Create Webhook API

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

Input JSON

{
    "webhooks": [
        {
            .
            .
            .
            "body": {
                "raw_data_content": "<p><strong>New Lead Alert</strong></p>\n<p>Name: ${!Leads.Last_Name}</p>\n<p>Email: ${!Leads.Email}</p>\n<p>Company: ${!Leads.Company}</p>\n<p>Profit Score: ${!Leads.Profit_Score}</p>\n<p>Owner: ${!Leads.Owner}</p>",
                "format": "HTML",
                "type": "raw"
            },
            .
            .
            .
        }
    ]
}


When to use HTML?
  1. If the external system displays formatted output

Raw + XML:
Some legacy systems or enterprise applications prefer XML.

UI - Configuration

Configuring the Body of a Webhook - Raw - "XML" via Create Webhook API

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

Input JSON

{
    "webhooks": [
        {
          .
          .
          .
                "raw_data_content": "<Lead>\n    <Id>${!Leads.id}</Id>\n    <Name>${!Leads.Last_Name}</Name>\n    <Email>${!Leads.Email}</Email>\n    <Company>${!Leads.Company}</Company>\n    <ProfitScore>${!Leads.Profit_Score}</ProfitScore>\n<LeadOwner>${!Leads.Owner}</LeadOwner>\n</Lead>",
            "format": "XML",
            "type": "raw"
        },
            .
            .
            .
    }
]
}



When to use XML?
  1. With older systems
  2. When the receiving system only supports XML

Note:
  1. When you switch the webhook method in the UI, Zoho CRM changes the options you can configure:
            GET Method
    1. Only URL Parameters are available
    2. Headers are hidden
    3. Body is hidden
    4.  Because GET requests always send data through the URL and cannot carry a body.
            DELETE Method
    1. Headers are available
    2. URL Parameters are available
    3. Body is still not supported
    4. DELETE requests can include headers, but Zoho CRM does not allow sending a body for DELETE webhooks.

  1. Date-time format:
            Zoho CRM will format any Date or DateTime fields in your webhook according to the format you select.
            
            UI - Configuration

            

           API - Configuration

 
  {
    "webhooks": [
        {
            "module": {
                "api_name": "Leads",
                "id": "5725767000000002175"
            },
            "url_parameters": {
                "module_parameters": [
                    {
                        "name": "Created_Time",
                        "value": "${!Leads.Created_Time}"
                    }
                ]
            },
            "description": "Send leads with Profit Score > 80 to validation system.",
            "http_method": "GET",
            "name": "Push High Score Leads",
            "date_time_format": {
                "datetime_format": "mm-dd-yyyy HH:MM:SS",
                "date_format": "yyyy-mm-dd",
                "time_zone": "America/Los_Angeles"
            },
            "authentication": {
                "connection_name": null,
                "type": "general"
            }
        }
    ]
}


With this, we have covered what a Webhook is in Zoho CRM, how to configure a basic Webhook, how to configure a Webhook with Headers, Body, and URL Parameters, how each component works, how to configure them using the UI, and how the same setup can be created through the POST Webhooks API.

In Part 2, we will explain 
  1. How to manage Webhooks using the GET, PUT, and DELETE Webhook APIs
  2. How to associate a Webhook with a Workflow
  3. How to perform real-time testing by creating records
  4. How an external application receives data from Zoho CRM via Webhook.

We hope this post helps you understand how to use Webhooks through the Zoho CRM Actions API - Webhooks 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

      • Sales Receipts Duplicating when I run reports why and how do we rectify this and any other report if this happens

        find attached extract of my report
      • No Functional Autosave or Manual Save Button

        Application : Zoho Notebook So I wanted to try Zoho Notebook(On Ubuntu) as an application, I installed the application and went solving my LeetCode problems visually(Drawing mode), at one point the app just stopped saving anything... Every time I tried
      • Enterprise subscription support

        My organization sells subscription services to enterprise customers, which is a different model from the consumer subscription model that Zoho Billing has been designed to support and I beleve this capability should be added. An enterprise subscription
      • Issue with Creator's IF logic

        Hi, I found the following code produces unexpected results: if(-1.0 < 0.0000000) {       info "True"; } else {       info "False"; } if(-1.0 < 0.000000) {       info "True"; } else {       info "False"; } The output returned is: False True However, the
      • Need option to send Package PDF in shipment email (Shipment PDF is missing Lot info)

        Is there any way to automatically attach the Package PDF instead of (or alongside) the Shipment PDF in the notification emails? We really need this feature because the default Shipment PDF creates a blind spot for our customers. It does not display Batch/Lot
      • zoho creator view is not present in the workspace and blank reports

        Hi Support,  Users who have "write" permissions keep getting this error for all of our embedded reports all of a sudden. See screen shot below: Meanwhile, my developer permissions account sees a blank screen in view and edit mode as shown in the screenshots
      • Customize portal email template

        Can i fetch only first name of the user in portal email template instead of the below code Hi ${User.FULL_NAME}
      • Can't we let users decide which options they'd like to add at embed widget?

        It seems embed widget DOES NOT offer a feature, where users can choose options upon subscribing plans. What Zoho has instead, is that admins have to manually create plan with options. How come no one in Zoho dev team never raised issue about usability
      • 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
      • Printing Multi-Page Reports (PDF Export)

        Hi, I am moving a report from Google's Looker Studio to Zoho Analytics and trying to reproduce the Looker page by page dashboard editing experience. With Google, what you see is what you get when you print to PDF. But I can't seem to create the same experience
      • I NEED TO NUMBER TO TEXT NO HERE

        =NUMBERTEXT NEEED
      • Error: View is not present in the workspace

        When saving a dashboard, user receives a popup with the following error. "View is not present in the workspace" What does this mean or refer to? There is no further insight given.
      • Dear Zoho CEO: Business Growth is about how you prioritise!

        All of us in business know that when you get your priorities right, your business grows. Zoho CRM and Zoho Books are excellent products, but sadly, Zoho Inventory continues to lag behind. Just this morning, I received yet another one-sided email about
      • Bin Locations

        Dear all, I am wondering if someone has the ability to develop the bin locations option for zoho inventory (integrated with zoho books) Regards, Ryan
      • Create and populate a record in an instant: Introducing zero-shot field prompting to Zia's ICR

        A couple of months ago, we upgraded our in-house AI image detection and validation tool, Zia Vision, with intelligent character recognition (ICR). By training Zia with sample images, you could create and enrich CRM records with data extracted from standard
      • How to Prevent Users From Skipping LMS Videos in Zoho People

        How to Prevent Users From Skipping LMS Videos in Zoho People Hello Zoho Developers, In this blog, we will quickly look at how you can stop users from skipping or fast-forwarding videos in Zoho People LMS. Zoho People provides a feature called Disable
      • [Integration Edition] Deluge Learning Series – Custom API with Deluge | November 2025

        We’re excited to conclude this four-month Integration Edition of the Deluge Learning Series: Session 1 – Integrating Zoho Apps with Deluge Using Built-In Integration Tasks Session 2 – Integrating Zoho Apps with Deluge Using invokeURL and invokeAPI Session
      • Tips for Organizing Workflows and Improving Team Coordination in Zoho

        Hi everyone, I’m looking for some general advice on how different teams are organizing their daily work within Zoho’s apps. Our team recently expanded, and we’re trying to streamline how tasks, discussions, and documents are shared so everything stays
      • Prevent user from viewing all records?

        I have a report that is meant to be used by vendors to view only the records that are assigned to them. All the vendor information is stored in a separate application, so I need to call a function to get the current user's ID (not the zoho user ID). The report settings criteria doesn't support using function calls, so instead I'm embedding the report in an html page like this: if (thisapp.Global.CurrentUserIs("Vendor")) {       personID = common.getLoggedInPersonID();       query = "Assigned_Vendor.ID="
      • Zoho Site pages not displaying in iframes

        I simply want to show a Zoho Site page inside an iframe on another non Zoho website. When testing this across many browsers, the iframe content simply does not appear. IE reports that the host does not allow their content to be displayed in iframes. Very disappointing. Is there a way around this please? Here is the URL of the page I would like to appear in an iframe. http://ips-properties-to-rent.zohosites.com
      • ZUG Meet-ups are back - Across India (December 2025)

        The Zoho User Group (ZUG) meet-ups are back, and this time, we’re travelling across India to reconnect with our amazing community! From Chennai to Delhi, Bengaluru to Mumbai, we can’t wait to meet you all in person and talk everything Zoho SalesIQ, automation,
      • Zoho Inventory as connector in Zoho Creator

        Hello, It doesn't appear that Zoho Inventory is one of the many built in connectors in Zoho Creator? I see that there are non-Zoho inventory applications that have built in connectors such as Cin7, which leads me to believe that I'm missing something
      • Send Zoho Forms Link using Zoho CRM Email Templates

        I have set up Zoho Forms and CRM integration to pre-populate data from Zoho CRM to Zoho Forms. The setup is working fine. I have also created an email template in the Zoho CRM deals module to send Zoho forms links. So when I send an email using that template
      • My go to On Load Client Script - Fast, efficient, and works for ALL profiles; Hides everything except initial fields

        This is my on Load client script that I use for Create pages. I use a modified version for Edit and Display pages which you can create yourself using the same basic structure that I will give you below. First up, the script. Below that will be an explanation
      • Custom Search using HTM+CSS Snippet

        Suppose I wanted to create my own list view using HTML and CSS snippets inside a Page with a custom search input at the top of the list (not the Search snippet). Without Javascript, is there a way to retrieve a user's entry from that search input and
      • Zoho CRM Kiosk Upload Files

        Hello all, We are trying out Kiosks at the moment to see where it can fit best in our business. We are still a bit off in the application but lets say we will sort this out. My question is the following - when I create a Kiosk I can add "File Upload"
      • Double opt-in notifications and customizable confirmation messages for your webforms

        Dear CRM Community, We are excited to announce a major upgrade to our Webforms feature. You can now customize the confirmation message shown to your users who double opt-in from your webform and also customize your confirmation emails when they submit
      • Has Anyone successfully integrated Zoho and Sage Intact?

        Hey all, We’re evaluating Zoho One + Sage Intacct and I’m trying to connect with anyone who has actually implemented the two together.Specifically, I’d love to know: -- Which functions you kept in Zoho vs. Intacct (e.g., Product Catalog, AR/AP, invoicing,
      • Introducing Image Upload Field

        Hello everyone, In this post we will discuss about the benefits and usage of the Image upload field. The field is available for standard and custom modules.  Usage: This field can be used to upload a gallery of images to a record and share the record with peers or customers. The record can be made accessible to users outside of Zoho CRM via Portals, where they can upload the necessary images. Preview, editing, and deleting images: The uploaded images can be directly edited and saved from the record
      • Trigger a Workflow Function if an Attachment (Related List) has been added

        Hello, I have a Case Module with a related list which is Attachment. I want to trigger a workflow if I added an attachment. I've seen some topics about this in zoho community that was posted few months ago and based on the answers, there is no trigger
      • Free webinar alert on November 19 - Email driven strategies - Master personality based styles

        Hello Zoho Community! Want to make email management easier, smarter, and more you? We’ve got just the session for you! Join our interactive, game-based webinar to discover how Zoho Mail adapts to your personality and work style. Learn practical hacks,
      • 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
      • due date on cheue

        how to handle cheque in zoho books for customers and vendors including due date
      • Conta META desativada. Problema no uso do CRM Zoho e SalesIQ.

        Olá, Habilitei um número Whatsapp no SalesIQ em Agosto/2025 com sucesso. Agora concluí a configuração do Zoho CRM e ao habilitar o Whatsapp, descobri que a conta META foi desativada: Configurar CRM -> Canais -> Mensagem de negócio -> WhatsApp Você não
      • 'Statement of Accounts does not exist' error received, when creating PO using api in Zoho Inventory

        Here is request json -- JSONString = { "date": "2019-09-24", "purchaseorder_number": "PO-6-1", "delivery_date": null, "delivery_org_address_id": 36221200000056XXX, "vendor_id": 362212000000564XXX, "attention": "Testing", "line_items": [{ "unit": "Pieces", "account_id": 36221200000003XXX, "quantity": 1, "item_id": 362212000000049XXX, "tax_type": "", "tax_name": "", "name": "One HD", "purchase_rate": 85, "tax_percentage": 0, "item_total": 85.00, "tax_id": "", "warehouse_id": 362212000000564XXX }] }
      • Zoho Projects API 100 requests/2 min. Limit

        Hi Requesting clarification on the API documentation. "You can invoke or call an API for 100 times in a span of two minutes. If you invoke more than 100 times, the particular API request will be locked for the next 30 minutes. " Does this limit apply
      • Integrate your Outlook/ Office 365 inbox with Zoho CRM via Graph API

        Hello folks, In addition to the existing IMAP and POP options, you can now integrate your Outlook/Office 365 inbox with Zoho CRM via Graph API. Why did we add this option? Microsoft Graph API offers a single endpoint to access data from across Microsoft’s
      • Zoho Projects - Attachments added to Task and Bug emails are not saved

        Hi Projects team, I have been experimenting with emails into projects to create tasks and bugs. I have noticed that attachments added to the emails are not saved to the task or bug. Is this normal behaviour? Thanks, Ashley
      • Zoho Inventory's latest shipping integration updates at a glance.

        Hello Users, We would like to share some important news about our latest improvements in the Shipping integration capabilities of Zoho Inventory that we achieved in 2024 with some of our major integration partners in key editions across APAC, North America,
      • 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
      • Next Page