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 #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

        • Heatmap: Missing Content Elements - Zoho Page Sense

          Hi there, I'm trying out Zoho Page Sense to generate heatmaps for my Wix pages. My problem: Some parts of my Wix pages don't show on my heatmap, the heatmap is just empty there. Maybe Wix default lazy loading setting causes this error? Is there a way
        • Marketing Tip #3: Use social proof to build trust

          People trust people. Showcasing reviews, testimonials, or “bestseller” badges on your product pages can nudge hesitant buyers toward purchase. Try this today: Add one customer testimonial or highlight your top-selling product on your homepage. Or, do
        • Make CAMPAIGNS email look as simple as possible

          Hi there I'm trying to make my Campaigns email look as much like a normal email as possible. I'm a bit stuck with the "justification" of the email email block. Can I LEFT JUSTIFY the "whole email" to make it look "normal"? (Please see screenshot attached)
        • Zoho Sign Reminder email template

          Is there a template we can edit for the reminder emails? I don't see it in Settings / Choose a template
        • Preview an upload PDF or File

          I have a form where the customer has to upload a file (normally PDF - never jpeg)  When in report view I want to be able to preview the uploaded file without having to download it.  If I click on the upload it downloads to my computer, I want to be able
        • How to filter emails by Reply-to field?

          I receive a very particular newsletter from an association A registered on a website W (that is used by many associations), and the emails fields are not great: the From just contains the generic website's W's email, while A is only mentioned in the Reply-to
        • How to invite friends on other social media platforms to one of my group chats in arattai?

          Hello, I have formed chat groups in arattai. I want to invite my friends on other social media platforms like WhatsApp/ FB to one of my groups. Different friends would be invited to different groups. How to share an invite link of one of my groups to
        • Line spacing

          I coudn't decrease the line spacing to space smaller then a single line. There is too much space between the lines that make the document look ugly. Please fix that. Liran. fonar
        • Google Fonts Integration in Pagesense Popup Editor

          Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to enhance Zoho Pagesense’s popup editor with Google Fonts support. Current Limitation: Currently, Pagesense offers a limited set of default fonts. Google Fonts
        • Control Position of “X” (Close) Button in Popup Editor

          Hello Zoho PageSense Team, We hope you're doing well. We would like to request a customization improvement in the PageSense popup editor. Current Limitation: Currently, the position of the “X” (close) button is fixed and cannot be customized in the popup
        • Add Standalone “Save” Button in Pagesense Popup Editor

          Hello Zoho Pagesense Team, We hope you're doing well. We would like to request an important usability improvement in the Pagesense popup editor. Current Limitation: There is currently no dedicated Save button while building a popup. The only way to save
        • Text Direction Control in Pagesense Popup Editor

          Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to add text direction control in the Pagesense popup editor. Current Limitation: Currently, the popup editor does not provide native support for RTL (Right-to-Left)
        • Autosave in Pagesense Popup Editor

          Hello Zoho Pagesense Team, We hope you're doing well. We’d like to submit a feature request to enhance the Pagesense editor with an autosave functionality. Current Limitation: Currently, changes made in the Pagesense editor must be manually saved. In
        • Billing frequency is not displayed correctly.

          Hello There is an issue while displaying the billing frequency on a subscription quote. I am able to activate the subscription details and get this lovely overview: If I am adding a Plan which I charge quarterly, first of all it should be possible to
        • Creating Secret via Vault API

          Hi I am trying to create a secret through vault api.  This is the response I get. One thing I am not sure is how to decrypt the secretdata, how to get the secrettypeid? {     "operation": {         "result": {             "error_code": "",             "message": "Sorry, we are unable to process your request.",
        • Is It Possible to Hide Menu Option from Main Navigation?

          Is it possible to hide a menu option, e.g. Admin, from the Main Navigation based on some criteria, e.g. login = zoho.adminuser
        • Unleash the power of detail, with Table View.

          What use is context that's not available where you need it? With this in mind, we bring you the Table View. This feature will add more power to the way you organize and work through your ticket load. Table View comes in handy when you want more control over the ticket information you see. This is a nifty tool for users who find themselves limited in terms of the level of information that is being offered in the Classic View and Compact View. With an upper limit of 15 columns, agents can glean most
        • Kaizen #126 - Circuits in Zoho CRM - Part 1

          Hello everyone! Welcome back to another week of Kaizen! Today, we will discuss an exciting topic—Circuits in Zoho CRM. For starters, we will discuss what Circuits are, how beneficial they are for businesses, different views of a Circuit, and the different
        • Workdrive on Android - Gallery Photo Backups

          Hello, Is there any way of backing up the photos on my android phone directly to a specific folder on Workdrive? Assuming i have the workdrive app installed on the phone in question. Emma
        • Rendering PDF to view on page

          My company upload lots of PDF files onto Zoho. But every time we open it, it downloads the file instead of viewing it on the web page. Does Zoho allow uploaded PDF files to be rendered to view on web page yet? I've been trying to use <embed> or <object> but it cannot be loaded.  (similar thread: https://help.zoho.com/portal/community/topic/how-to-open-a-pdf-file-of-a-view-in-preview-mode)
        • Dynamically Fetching Lookup Field Display Value

          I have an audit trail form, Audit_Changes, that tracks old vs new values across different forms. For lookup fields, the old/new value is the ID, but I also need the display value. What's a best practice for dynamically fetching the display value of the
        • Ability to Create New Items When Zoho Trident is Minimized via tray or taskbar icon

          Allow users to create new items (emails, calendar events, tasks, etc.) directly from the system tray icon or by right clicking the task bar icon, even when the window is minimized or not actively running in the foreground. This enables quick access to
        • I can not see Undeliverable emails from my Mass Email Leads activity in CRM

          I am sending email templates and I can not see the Undeliverables? I only receive the "Out of Office" replies and any manual replies from the lead. Can you please let me know where the Undeliverable emails are sent so I can use the information to clean up the database?
        • Select Zoho Contacts as Meeting Participants in Zoho Cliq

          Hello Zoho Cliq Team, We hope you're doing well. We would like to request an enhancement to the meeting scheduling functionality in Zoho Cliq. Current Limitation: When scheduling a meeting in Zoho Cliq, participants can only be selected from: Organization
        • Ability to Select External Users from Participants List When Scheduling Meetings

          Hello Zoho Cliq Team, We hope you're doing well. We would like to request an enhancement to the meeting scheduling experience in Zoho Cliq. Current Limitation when scheduling a meeting in Zoho Cliq: External users can be selected from the list only under
        • Kaizen #212 - Map Dependency Fields in Zoho CRM using APIs

          Hi Everyone!! Welcome back to another week of Kaizen series! Over the past few weeks, we have been addressing your questions and feedback shared through our Kaizen 200th feedback form. Thank you for your continued engagement and thoughtful queries. We
        • Outdated state in mexico

          Hello Zoho team, the drop down to add the state for customers, when they introduce their state in mexico has a city named “Distrito Federal” that name changed many years ago to “ciudad de mexico”. could you please update this so my clients can find the
        • Is anyone using Zoho Flow with airtable?

          I need to build a flow that collects data from airtable and uses some of that data to create folders and files in google drive. I have fully function version of this in zapier and want to migrate to zoho. I am trying to perform a very basic fetch from
        • AI in Zoho Workplace: A Sneak Peek into What’s Coming!

          Hello everyone, We’re super excited to share something we’ve been working on and we want you to be part of it! You may have seen our announcement blog post introducing a major evolution in how AI works within Zoho Workplace. Want to be among the first
        • Best way to share/download presentation files in Zoho without losing formatting?

          Hello Zoho Community, I often work with PPT/PDF files in Zoho Docs and share them with colleagues. While PDFs usually give a direct download option, I’ve noticed that PPT/PPTX files sometimes only open in the viewer without a clear download link. Is there
        • Workflow Failure - Notifications

          Good afternoon, I have just experienced an error whereby a Workflow failed, for a reason currently unknown. The problem is that one of my users had to flag this manually (thankfully he's very thorough) and this otherwise would have flown under the radar.
        • Introducing Bin Locations In Zoho Inventory

          Hello users, We are excited to let you know that your wait for the Bin Locations feature has now come to an end! Yes, you heard us right! We are here to introduce the much-awaited Bin Locations now in Zoho Inventory. But before we dive into the feature
        • Error "Invalid client task found corresponding properties" only when triggered from workflow ?

          Hi All, I am facing an error message I never encountered previously: Error in executing On Add - On Load script Error in executing thisapp.get_all_projects_api_call function. Line:(2) Error in executing thisapp.getAccessTokenFromRefreshToken function.
        • How to interpret Campaign report statistics - definitions/explanation

          I am trying to make sure I understand the Campaign report correctly Do you have a list of definitions for: Delivered - it has reached the recipient's inbox Campaign reach - is this the number that have opened the campaign email? Unique Opens Clicks/Open
        • Feature request - pin or flag note

          Hi, It would be great if you could either pin or flag one or more notes so that they remain visible when there are a bunch of notes and some get hidden in the list. Sometimes you are looking for a particular name that gets lost in a bunch of less important
        • Schedule a Call by Date and Time when a specific lead status is selected

          Hi Wanting to create a workflow where a call can be scheduled by date & time when a specific lead status is selected. Can only currently set the date by Due Date - Trigger Date - Plus 'x' day(s) Thanks
        • Zoho CRM's Copy Customization functionality now works across DCs, for customized accounts, and more

          Availability This feature is available in Standard, Professional, Enterprise, and Ultimate editions. These changes have been rolled out to all users in all DCs. For more information, please refer to these help documents: Overview | Instructions Hello
        • How can I bold text on Zoho Forms submit buttons?

          In the old theme builder, I could bold the text on a form's submit button. With the new theme builder, I can only change the text of the header or fields in the form, and not the button itself.
        • Hiding Pre-defined Views

          You can enhance Zoho with custom views - but you cannot hide the pre-defined views. Most users focus on 4 or 5 views. Right now for EVERY user EVERY time they want to move to one of their 4 or 5 views - they have to scroll down past a long list of pre-defined views - we don't use ANY of the pre-defined views. Adding the feature to allow a predefined view to be hidden completely or only visible to certain users would be a big improvement in usability for Zoho CRM. This feature is already available
        • [Integration Edition] Deluge Learning Series – Third-Party Integrations with Deluge | October 2025

          We’re excited to continue this three-month 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 3 – Third-Party
        • Next Page