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!



      Zoho Campaigns Resources


        • Desk Community Learning Series


        • Digest


        • Functions


        • Meetups


        • Kbase


        • Resources


        • Glossary


        • Desk Marketplace


        • MVP Corner


        • Word of the Day


        • Ask the Experts


          • 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

          Zoho CRM Plus Resources

            Zoho Books Resources


              Zoho Subscriptions Resources

                Zoho Projects Resources


                  Zoho Sprints Resources


                    Zoho Orchestly Resources


                      Zoho Creator Resources


                        Zoho WorkDrive Resources



                          Zoho CRM Resources

                          • CRM Community Learning Series

                            CRM Community Learning Series


                          • Tips

                            Tips

                          • Functions

                            Functions

                          • Meetups

                            Meetups

                          • Kbase

                            Kbase

                          • Resources

                            Resources

                          • Digest

                            Digest

                          • CRM Marketplace

                            CRM Marketplace

                          • MVP Corner

                            MVP Corner




                            Zoho Writer Writer

                            Get Started. Write Away!

                            Writer is a powerful online word processor, designed for collaborative work.

                              Zoho CRM コンテンツ




                                ご検討中の方

                                  • Recent Topics

                                  • Zoho Invoice en Navarra (Spain)

                                    Hola, ¿Alguien usa Zoho Invoice en la Comunidad Foral de Navarra? En Navarra tenemos un sistema tributario diferente y no aplica Verifactu (la Hacienda Foral de Navarra ha anunciado su alternativa, NaTicket, pero no ha informado cuándo entrará en vigor).
                                  • Emails from Zoho are getting blocked due to Zoho IP address being blacklisted

                                    This is the info I got from my hosting provider – please address this issue immediately. I don’t expect this from such a big household name. Every single invoice I have sernt it not being received by my clients, all being blocked. All of a sudden. As
                                  • agentid : Where to find?

                                    I've been looking around for this agenId to check for the total ticket assigned on a specific agent url :"https://desk.zoho.com/api/v1/ticketsCountByFieldValues?departmentId=351081000000155331&agentId=35108xxxxxx132009&field=statusType,status" type :GET
                                  • Zoho DataPrep integration with OpenAI (beta)

                                    We are thrilled to announce Zoho DataPrep's integration with OpenAI. The public beta roll-out opens up three features. Users who configure their OpenAI Organizational ID and ChatGPT API key (Find out how) will be able access the features. The features
                                  • AI Bot and Advanced Automation for WhatsApp

                                    Most small businesses "live" on WhatsApp, and while Bigin’s current integration is helpful, users need more automation to keep up with volume. We are requesting features based on our customer Feedbacks AI Bot: For auto-replying to FAQs. Keyword Triggers:
                                  • Setting total budget hours for a specific project

                                    Hi there, I work on a lot of projects that have fixed budget hours. Is there a way to enter the total budgeted hours so i can track progress and identify when hours have been exceeded. I see in the projects dashboard there is a greyed out text saying
                                  • Clone entire dashboards

                                    If users want to customize a dashboard that is used by other team members, they can't clone it in order to customize the copy. Instead they have to create the same dashboard again manually from scratch. Suggestion: Let users copy the entire dashboard
                                  • Introducing Formula Fields for performing dynamic calculations

                                    Greetings, With the Formula Field, you can generate numerical calculations using provided functions and available fields, enabling you to derive dynamic data. You can utilize mathematical formulas to populate results based on the provided inputs. This
                                  • Getting started with Zoho PDF Editor

                                    Hello users, If you are new to Zoho PDF Editor or aren't sure of its full potential, then this article is for you. Zoho PDF Editor is a free online PDF editing tool, that allows you to upload and edit PDFs, insert text and images, add fillable and e-signature
                                  • Mercury Bank Integration

                                    Mercury Bank is a fintech company in the US that is quite popular with startups, e-com companies, and other businesses. https://docs.mercury.com/reference/welcome-to-mercury-api Unlike most traditional banks, they have a full-featured API that allows
                                  • Zoho Projects - Cloning a task does not trigger task workflow when created

                                    Hello! I have a Project where my team uses a set of tasks from a tasklist as templates, so we could simply clone it and drag it to another list in kanban view to avoid creating a new one from scratch. The process works well, but after cloning it the new
                                  • Purchase Orders not in sequence

                                    I am unable to sort by Purchase Order Numbers. I can only sort by date; however, the PO numbers aren't in the order they were entered. This was not the case prior to today.
                                  • Date/time displayed in ZohoCRM does not match date/time of entries in ZohoForm

                                    Hello there, we use a ZohoForm as a worksheet, i.e. users use it to track start time, break and stop time for every working day. The ZohoCRM org time zone is set on GM -4, so is the Time Zone in the Date&Time section in ZohoForm (see attachment). Despite
                                  • Update Existing Records greyed out in Free Version

                                    Trying to update records from an Excel sheet, and not getting the option to update. Only option is to add as new accounts. All documentation I can see says update should be an option! Accounts, Leads, Contacts, all the same.
                                  • Dynamically Populate Picklist Values from Another Module Using Client Script

                                    I am working in Zoho CRM and trying to dynamically populate a picklist field in the Partners module using values stored in another custom module. I have two modules: 1. Partners Module Field: Partner_Type_Pick Field Type: Picklist 2. Partners_Type Module
                                  • Add zoho calendar to google calendar

                                    Hi I keep seeing instructions on how to sync Zoho CRM calendar with google calendar but no instructions on how to view Zoho calendar in my google calendar.
                                  • Zoho Community Digest : Jan 2026 | Part 1

                                    Hello Everyone! Staying in the loop with Zoho's latest product updates and features across the vast Zoho Community Forums can be a real challenge. We get it. With over 50+ applications, each with its dedicated forum, it's easy to miss out on important
                                  • World date & time format

                                    Hello, Is there a timeline to get the worldwide used date and time format ? I mean not the american one... I mean day month year, and 24 hours clock. Regards
                                  • Nimble enhancements to WhatsApp for Business integration in Zoho CRM: Enjoy context and clarity in business messaging

                                    Dear Customers, We hope you're well! WhatsApp for business is a renowned business messaging platform that takes your business closer to your customers; it gives your business the power of personalized outreach. Using the WhatsApp for Business integration
                                  • Conditional layouts - support for multi-select picklists

                                    Hi, The documentation for conditional layouts says the following: "Layout Rules cannot be used on the following field types: Auto Number Lookup Multi Select Lookup User Lookup Formula File Upload Multi Line" I have a custom module with a multi-pick list
                                  • Client Script Not Working When Field is Set by Workflow

                                    Problem Context: I have implemented a client script in the Cases module that automatically assigns commands based on the value of the Priority field. The script functions correctly when the Priority field is manually set by a user through the form. Observed
                                  • Integration of CRM and Recruit

                                    hi team, Is it possible to sync deals <> job openings from only 1 pipeline? My configuration of CRM has pipeline for each business unit, so I will have all data in the CRM system. body leasing and recruitment is one BU (hence 1 pipeline) - can I sync
                                  • integrating Zoho CRM vendors with Zoho projects

                                    In most of our projects we collaborate with our Vendors. Being able to integrate only Accounts and not Vendors from CRM, is a huge limitation for our perspective and needs. We would really love to see this feature in the CRM-Projects integration.
                                  • Zoho Creator Workshops 2026—Europe & UK | Coming to a city near you!

                                    Hello everyone! We're excited to announce the Zoho Creator Workshop Series 2026, coming to cities across Europe and the United Kingdom this year! Whether you're looking to explore the intermediate-to-advanced capabilities of Creator or you're a seasoned
                                  • Number 9 envelopes for invoice printing

                                    I email and print invoices. Being new to Zoho and coming from QB, we did both as we have a more traditional So in Zoho i want to do the same using Number 9 envelopes. These have both a return window and mail to windoow see attached image. Im just looking for best suggestions on how to get a ZOHO invoice to work, so I can mail my invoices...
                                  • Zoho Books/Square integration, using 2 Square 'locations' with new Books 'locations'?

                                    Hello! I saw some old threads about this but wasn't sure if there were any updates. Is there a way to integrate the Square locations feature with the Books locations feature? As in, transactions from separate Books locations go to separate Square locations
                                  • Open Sans Font in Zoho Books is not Open Sans.

                                    Font choice in customising PDF Templates is very limited, we cannot upload custom fonts, and to make things worse, the font names are not accurate. I selected Open Sans, and thought the system was bugging, but no, Open Sans is not Open Sans. The real
                                  • Add Reporting feature to display variance/change columns when comparing periods

                                    When running reports to compare periods (for example, Profit and Loss comparing current year to previous), I would like to be able to display variance columns in both (a) amount or (b) percentage.
                                  • Payroll and BAS ( Australian tax report format )

                                    Hello , I am evaluating Zoho Books and I find the interface very intuitive and straight forward. My company is currently using Quickbooks Premier the Australian version. Before we can consider moving the service we would need to have the following addressed : 1.Payroll 2.BAS ( business activity statement ) for tax purposes 3.Some form of local backup and possible export of data to a widely accepted format. Regards Codrin Mitin
                                  • Invalid scope choice: Workdrive integration in CRM

                                    Bug: There is an invalid option in the permission choices for Workdrive integration in CRM. If the entry "WorkDrive.teamfolder.CREATE" is selected, it will return a message indicating invalid OAuth scope scope does not exist.
                                  • What's New - February 2026 | Zoho Backstage

                                    February 2026 brings a major new addition and a collection of enhancements across Zoho Backstage. We thought about writing a long introduction, but the updates in this release make a strong case on their own. So we’ll skip the buildup and dive straight
                                  • Attaching files to emails within CRM Deals.

                                    Hello, We have recently started using the extension "Workdrive for CRM" (Related List) to view/store our documents for each Deal, instead of using Attachments. Overall it feels like a better way to go but the user experience is not so great when it comes
                                  • One Contact with Multiple Accounts with Portal enabled

                                    I have a contact that manages different accounts, so he needs to see the invoices of all the companies he manage in Portal but I found it not possible.. any idea? I tried to set different customers with the same email contact with the portal enabled and
                                  • Anyone worked out how to export or screengrab a full heatmap?

                                    I'd love to be able to include a copy of a heatmap in a report but can't work out how to grab the whole thing as there doesn't appear to be an export function? Thanks in advance.
                                  • Establishing Relationships among contacts/leads with Reciprocal

                                    Is there any way to create a relationship between contacts and leads and be able to go into just one of the files and have it reciprocate the entry in the other file? For example, if I have two people say John and Jane Smith who are husband and wife.
                                  • Placeholder for Agent Signature in Email Templates

                                    Dear Zoho Team, I hope this message finds you well. We currently face a limitation when designing email templates in Zoho Desk. While we can create email templates and include a footer at the end, the agent signature is always appended by default at the
                                  • Custom View and Custom Fields on Zoho Books

                                    Hi, I have some custom fields on Estimates and Invoices. I also use Custom Views so I can have a lot of information at a glance. I want to include my custom fields as columns in my custom views of estimates / invoice, but it looks like is not possible.
                                  • %PaymentLink%

                                    Does not work. Software creates a BAD link. ....and yes payment options are turned on. Link on the invoice pdf once opened will work but this template is a joke.
                                  • Can Zoho Marketing Automation send OTP codes via WhatsApp during user registration?

                                    The flow I would like to implement is: A user signs up in the mobile app and enters their phone number. The system generates a one-time verification code (OTP). The OTP is sent to the user via WhatsApp message. The user enters the code in the app to confirm
                                  • Where to show Customization Field ?

                                    Dear Sir, I have made some New Field in Item Field Customisation. Now I don't require that field in Estimate, Sales Orders etc. I just wants that field in Sales Invoice to Show/Hide... Is that possible ?
                                  • Next Page