Kaizen #195: Frequently Asked Questions on Bulk Read API and Bulk Write API

Kaizen #195: Frequently Asked Questions on Bulk Read API and Bulk Write API

🎊 Nearing 200th Kaizen Post – We want to hear from you!
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. 

Hello all!!
Welcome back to another post in the Kaizen series!

In this post, we will address some of the most frequently asked questions about Zoho CRM's Bulk Read API and Bulk Write API from the Zoho CRM Developer Community Forum.

 Frequently Asked Questions on Bulk Read API 

1. What is the Bulk Read API, and when should I use it?

Bulk Read refers to bulk data export. This API allows you to export large datasets i.e., you can export up to 2,00,000 records in a single export job from Zoho CRM in CSV format. Bulk Read APIs are best suited for backups and data migration.

2. Since Zoho CRM has other record APIs such as GET Records API, COQL API, and Search API to retrieve data, why should I use the Bulk Read API? 

Other record APIs like the GET Records API, COQL API, and Search API are used to retrieve data, but they return fewer records per API call. This can quickly lead to reaching your daily API limits, unlike the Bulk Read API, which can be used to export larger datasets.
  • GET Records API : You can fetch up to 200 records per API call. Use pagination to retrieve up to 1,00,000 records from a module.
  • COQL API : You can fetch up to 2000 records per API call. Using LIMIT and OFFSET, you can fetch up to 100,000 records. To get beyond 100,000 records, refer to Pagination section of the API help documentation. Also, it supports cross-module queries.
  • Search API : You can fetch up to 200 records per call. With pagination, you can retrieve up to 2,000 records in total. Using this API, you can search for records in a module based on a criteria that you define. 
  • Advantages of Bulk Read API
    • You can export up to 2,00,000 records per API call.
    • Use the page_token to export the next set of 2,00,000 records until all records are fetched.

3. How do I make a Bulk Read API call?

The process involves three steps:
  • Create a Bulk Read Job : Make a POST call with the required details, including module, fields, and filter criteria. For a successful API call, you will receive a unique job_id in the response. 
  • Check Job Status : Use the job_id to poll for status of the Bulk Read API. You can also set up a callback URL for notifications, where you will be notified when the Bulk Read job is complete.
  • Download Results : Once the Bulk Read job is complete, you will get the download_url in the response of the Get Status API. Use this download URL to download the ZIP file containing the CSV or ICS files. 

4. What are the supported and unsupported modules in the Bulk Read API?

Supported modules :
leads, accounts, contacts, deals, campaigns, tasks, cases, events, calls, solutions, products, vendors, price books, quotes, sales orders, purchase orders, invoices, subforms, linking module, and custom modules.

Unsupported modules :
Modules that appear as related lists in a record like Emails and Attachments are treated as separate modules in Zoho CRM. The Bulk Read API does not support these related list modules.

5. How can I export subform records in a module using the Bulk Read API?

To export subform records using the Bulk Read API, specify the subform’s API name in your request. 

Request Method: POST
Sample Request:


{
    "callback": {
        "method": "post"
    },
    "query": {
        "module": {
            "api_name": "Project_Details"
        }
    },
    "file_type": "csv"
}

Note: In the above example, the Project_Details is the API name of the subform to be exported. 

Exporting subform records based on criteria


  {
    "query": {
        "module": {
            "api_name": "Project_Details"
        },
        "fields": [
            "Project_Name",
            "Project_Type",
            "Expected_Budget",
            "Status"
        ],
        "criteria": {
            "field": {
                "api_name": "Expected_Budget"
            },
            "comparator": "greater_equal",
            "value": "40000" //Retrieving subform records with an expected budget greater than or equal to $40,000
        }
    }
}


For more details on subforms, refer to Kaizen #124 - Manipulating Subform using Zoho CRM APIs

6. How can I export multi-select lookup (MxN) records in a module using the Bulk Read API?

Specify the API name of the linking module in your request to export records from a multi-select lookup (MxN) field.

Request Method: POST
Sample Request:


{
    "callback": {
        "method": "post"
    },
    "query": {
        "module": {
            "api_name": "EmpXSkills"
        },
        "fields": [
            "Employees.Name",
            "Employees.Year_of_Experience",
            "Skills.Name"
        ],
        "criteria": {
            "group": [
                {
                    "field": {
                        "api_name": "Employees.Year_of_Experience" 
                    },
                    "comparator": "greater_than",
                    "value": "4"
                },
                {
                    "field": {
                        "api_name": "Skills.Name"
                    },
                    "comparator": "contains",
                    "value": "Social"
                }
            ],
            "group_operator": "AND"
        }
    }
}


In the sample, EmpXSkills is the API name of the linking module.

7. How can I export multi-module lookup field's data in a module using the Bulk Read API?

The Appointments module has a multi-module lookup field called Appointment_For. To export data that includes this field, specify the API name of the Appointments module in the module key of your Bulk Read API request.

Request Method: POST
Sample Request: 


{
    "callback": {
        "method": "post"
    },
    "query": {
        "module": {
            "api_name": "Appointments__s" //API name of the Appointments module
        }
      
    },
    "file_type": "csv"
}

Note: The Appointment_For field cannot be used in the criteria. 


8. What are the field limits for a Bulk Read API request?

You can specify up to 200 fields per request. If the limit is exceeded, the API returns all fields in the module by default.

9. What are the criteria limits for the Bulk Read API in Zoho CRM?

The Bulk Read API supports a maximum of 25 criteria per query, including the criteria defined in custom views. Make sure your filter conditions do not exceed this limit to avoid errors during query execution.
Request Method: POST
Sample Request:


{
    "callback": {
        "method": "post"
    },
    "query": {
        "module": {
            "api_name": "Contacts"
        },
        "fields": [
            "Last_Name",
            "Owner",
            "Lead_Source",
            "Created_Time"
        ],
        "criteria": {
            "group_operator": "and",
            "group": [
                {
                    "field": {
                        "api_name": "Lead_Source"
                    },
                    "comparator": "equal",
                    "value": "Advertisement"
                },
                {
                    "field": {
                        "api_name": "Owner"
                    },
                    "comparator": "equal",
                    "value": "Boyle"
                },
            .
            .
            .
             // Add more criteria objects here, up to 25 total
            ]
        }
    }
}


10. How do I fetch data from lookup fields using the Bulk Read API?

To fetch data from lookup fields, use the dot (.) operator. Refer to the following Sample Request for reference.
Request Method: POST
Sample Request:



{
    "callback": {
        "method": "post"
    },
    "query": {
        "module": {
            "api_name": "Contacts"
        },
        "fields": [
            "Last_Name",
            "Owner",
            "Owner.last_name",
            "Account_Name.Account_Name", //account lookup field 
            "Account_Name.Phone",
            "Lead_Source"
        ],
        "criteria": {
            "group_operator": "or",
            "group": [
                {
                    "field": {
                        "api_name": "Lead_Source"
                    },
                    "comparator": "equal",
                    "value": "Advertisement"
                },
                {
                    "field": {
                        "api_name": "Owner.last_name" //owner lookup field in the Contacts 
                    },
                    "comparator": "equal",
                    "value": "Boyle"
                },
                {
                    "field": {
                        "api_name": "Account_Name.Phone" //account lookup field in the Contacts 
                    },
                    "comparator": "contains",
                    "value": "99807"
                }
            ]
        }
    }
}


11. Why do I get a "RESOURCE_NOT_FOUND" error when checking the status of a Bulk Read job?



{
    "status": "error",
    "code": "RESOURCE_NOT_FOUND",
    "message": "The requested resource doesn't exist.",
    "details": {
        "resource": "5725767000006841003"
    }
}




The "RESOURCE_NOT_FOUND" will be thrown for the following three reasons.

  • API version mismatch : If there is a version mismatch between the API used to create the job and the API used to fetch its status. For example, if you create a Bulk Read job using v6 and then try to check the job status using v8, you will get the "RESOURCE_NOT_FOUND" error. Always use the same API version consistently for all operations related to a Bulk Read job, from creation to status check to file download. Double-check the version in your request URL before making API calls.
  • Job ID expiration : If you pass an expired job ID, the system will return this error.
  • Invalid job ID : If you pass an incorrect job ID in the job_id key, the system will return this error.

12. What file formats are supported?

The data is returned as a ZIP file containing either a CSV or ICS file upon job completion. You can download the file from the URL provided in the response of the Status API call.
  • CSV: Default format for all modules.   
  • ICS: Available only for the Events module.

13. How long are the exported files available for download?

The download_url is valid for one day after job completion. After that, the file is inaccessible.

14. How to handle large datasets beyond the record limit?

Use the page key to paginate the export of large datasets. The maximum possible value of page key is 500.

For example, 
  • page=1 retrieves records 1 to 200,000
  • page=2 retrieves records 200,001 to 400,000
If the more_records key is true in the response of Get the Status of the Bulk Read Job API, it indicates that there are more records available to fetch. In such a case, use pagination and make more Bulk Read API calls to retrieve them. 

Request Method: GET
Sample Response:

{
    "data": [
        {
            "id": "3652397000000646004",
            "operation": "read",
            "state": "COMPLETED",
            "result": {
                "page": 1,
                "per_page": 200000,
                "count": 200000,
                "download_url": "/crm/bulk/v8/read/2276164000001136017/result",
                "more_records": true,
                "next_page_token": "bca6fba106357ae3b1ecbd63f"
            },
            "query": {
                "module": {
                    "id": "2276164000000000125",
                    "api_name": "Contacts"
                },
                "page": 1
            },
            "created_by": {
                "id": "2276164000000471001",
                "name": "Patricia"
            },
            "file_type": "csv"
        }
    ]
}


Use the page_token key to get the next set of records. You can find the value for page_token in the next_page_token field of the response from your Get Bulk Read Job Status API call. 

Now, again, use the POST - Bulk Read API with this token to fetch the next batch of records.
Request Method: POST
Sample Request: 

{
    "query": {
        "page_token": "bca6fba106357ae3b1ecbd63f"
    }
}


15. What are the download rate limits for the Bulk Read API?

A maximum of 10 download requests are allowed per minute. If this limit is exceeded, the server returns an HTTP 429 (Too Many Requests) error.

16. Is it possible to export records based on a custom view?

Yes, the Bulk Read API supports exporting records based on a custom view by specifying the CVID in your request. Refer to the Bulk Read API documentation for details.

17. Does the Bulk Read API preserve the order of fields in the response?

The Bulk Read API does not follow a specific order for fields in the response when all fields from a module are requested. However, if you specify a set of fields using the fields JSON array, the response will maintain the same order as provided.

18. Is it possible to schedule multiple Bulk Read jobs?

Yes, you can schedule multiple Bulk Read jobs simultaneously.

19. Is it possible to cancel a Bulk Read request after it is initiated?

No, once a Bulk Read request is initiated, it cannot be cancelled.

20. Do the download URLs require any kind of authentication? Or can anyone access them?

Yes, authentication is required to access download URLs.
  • Admin users can download the results of all Bulk Read jobs.
  • Non-admin users can only download their own Bulk Read jobs.

21. How many records can be exported from the Events module in ICS format per API call?

The ICS format is supported only for the Events module. You can export up to 20,000 records in ICS format from the Events module in a single API call.

Frequently Asked Questions on Bulk Write API

1. What is the Bulk Write API and what operations does it support?

The Bulk Write API allows you to insert, update, or upsert large sets of data (up to 25,000 records) asynchronously in Zoho CRM. 

It supports three main operations:
  • Insert: Create new records
  • Update: Modify existing records 
  • Upsert: Update existing records or create new ones if no matching record exists.

2. What file formats are supported for bulk operations?

The Bulk Write API accepts one ZIP file containing CSV files.
  • To import records into modules such as Deals and Accounts,i.e, to import records only to the parent modules, the ZIP file should contain only one CSV file. For example, if you want to import 50,000 records into the Leads module, you need to make two CSV files (25,000 records each), compress each CSV file into a separate ZIP file, and make two separate Bulk Write API requests.
  • To import parent and child records (subform or linking module) in a single API call, the ZIP can include multiple CSV files - one for the parent module and others for the child modules. For more details on handling parent-child records, refer to Kaizen #131 - Bulk Write for parent-child records using Scala SDK.
  • The maximum allowed size of the ZIP file is 25 MB.

3. What are the key points to keep in mind while preparing a CSV file for the Bulk Write API?

  • Maximum of 25,000 records per file
  • Maximum of 200 column headers
  • Supported delimiters: comma (,), semicolon (;), colon (:), or pipe (|)
  • All records must belong to the same module
Things to note with the header row 
  • If field mapping is not provided in the API request, then the first row must contain CRM field API names. This enables automatic mapping by the system.
  • If field mapping is provided explicitly in the API request, then the first row can contain any name like display_label. In this case, the first row will be discarded by the system, and it will rely only on the field mapping in the API request.
Recommended way to create a ZIP file for Bulk Write API

It is recommended to create the ZIP file from the terminal. When you zip files through UI (right-click -> Compress), hidden files like __MACOSX may be added to the zip file, which can cause upload errors.
 
Example : 

zip bulk_data.zip parent.csv -> zip test.zip test.csv


Field mapping is
  • Optional for single-module bulk jobs.
  • Mandatory for parent-child module jobs.

4. What are the mandatory headers to include while making a Bulk Write job?

        

                            Header

 

                             Value

Authorization

Zoho-oauthtoken {access_token}

Content-Type

multipart/form-data

X-CRM-ORG {org_id}  Use the Organization API to get your org ID.

123456789

feature

bulk-write 


5. Why am I getting the "403 Invalid Response From Service Team" error while uploading my ZIP file using the Bulk Write API?

Using an incorrect or missing Org ID in the X-CRM-ORG header will result in this 403 error response. Specify a valid Org ID in the header when uploading the ZIP file.  Use the Organization API to get your Org ID.

6. How do I handle lookup fields in my input CSV?

For lookup fields, the column header should follow one of the following formats:

 

Option 1: To reference by ID

 

Option 2: To reference by a field value (like name)

Use the format: field_api_name.id

Example: Account_Name.id

Use the format: field_api_name.field_api_name

Example: Account_Name.Account_Name

7. How do default values work in field mappings for the Bulk Write API?

While mapping fields in your Bulk Write API request, you can set a default_value for any field. This is helpful when the uploaded CSV file does not have a corresponding value for the field, but you want to map a default value to that field in that case. 
Here is a sample field mapping for a picklist field Lead_Source with a default value:

Sample Field Mapping


{
    "api_name": "Lead_Source", // Picklist field
    "index": 2, // Column index in the CSV
    "default_value": { // Optional key with a default value
        "value": "call"
    }
}


If the CSV file has a value in column index 2, that value will be used. If the CSV column is empty for a record, the default_value - call (in our case) will be used instead. 
Please note that the default key is optional. If default_value is not provided and the field is required, records with missing values may fail.

8. How do I handle multi-select picklist fields in the Bulk Write API?

Use semicolons (;) to separate multiple values in the CSV file and in the default value mapping in the request body.
Example in CSV:  "A;B;C"

Sample Field Mapping

{
    "api_name": "Rating",
    "default_value": {
        "value": "A;B"
    }
}

If the CSV does not contain a value for the field, the value specified under default_value will be used.

9. How do I set a default value for a date field in the Bulk Write API? 

When setting a default value for a date field, only the ISO format is allowed. 

Sample Field Mapping


{
 "api_name": "Registered_day",
 "default_value": {
 "value": "2025-03-21"
 }
}

If the CSV column for the date field is empty, the default date in ISO format will be used. 

10. How do I set a default value for a decimal field in the Bulk Write API?

For decimal fields, the default value must be a number using a dot (.) as the decimal separator. Commas (;) are not allowed.

Sample Field Mapping

{
    "api_name": "Decimal",
    "default_value": {
        "value": "99.75"
    }
}

Only numbers with a dot (.) as the decimal separator are supported. Values like "99,75" are invalid and will cause errors.

11. Can I import Subform and MxN (linking module) data using the Bulk Write API?

Yes, the Subform and MxN (linking module) modules are treated as separate modules in Zoho CRM. Like modules such as Leads and Contacts, you can import data into CRM using the Bulk Write API.

For cases such as importing parent-child data, for example, Leads (parent module) and its associated subform records (child module), you must include multiple CSV files - one for the parent and one for the subform within a single ZIP file and upload it in a single Bulk Write request. Also, make sure the field mappings are correct in the input request.
Refer to Kaizen #131 - Bulk Write for parent-child records using Scala SDK for more details on handling parent-child records.

12. Is Multi-module Lookup (MML) supported in the Bulk Write API?

No, Multi-module Lookup (MML) fields are not currently supported in the Bulk Write API.
Currently, in Zoho CRM API Version 8, the Appointment_For field in the Appointments module is an MML field. Since the Appointments module itself is not supported in Bulk Write, importing data into it - including MML fields is not possible using the Bulk Write API.

13. Is it possible to cancel a Bulk Write request after it is initiated?

No, once a Bulk Write request is initiated, it cannot be cancelled. The job will run to completion unless it fails due to an error.

14. Can I schedule multiple Bulk Write jobs simultaneously?

Yes, you can schedule multiple Bulk Write jobs simultaneously. There is no restriction on the number of jobs you can initiate in parallel.

15. Are there any restrictions on the file name for CSV or ZIP files in the Bulk Write API?

No, there are no specific restrictions on the file name. You can name your CSV or ZIP files as needed. For example, leads_data.csv and leads_with_subform.zip.

16. Are Auto Number and Formula field types supported in the Bulk Write API?

No, both Auto Number and Formula fields are not supported in the Bulk Write API.

17. Are External ID fields supported in the Bulk Write API?

Yes, only the Org-based external ID field is supported, and user-based external fields are not supported.

18. What are the unsupported Modules in Bulk Write API?

The Attachments, Notes, Events, Calls, Upload file fields, and Record images are treated as separate modules in Zoho CRM and are not supported by the Bulk Write API. 




                                        x-----------------------------x



We trust that this post meets your needs and is helpful.
Let us know your thoughts in the comment section or reach out to us at support@zohocrm.com


Stay tuned for more insights in our upcoming Kaizen posts!


Other Frequently Asked Questions in Kaizen

    • 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

      • Is Zoho Live Chat compatible with WordPress CMS?

        Hello, I have a website called www.jjrlab.com and I'm interested in using Zoho Chat on it. Does it support WordPress CMS? Thanks.
      • Introducing spam detection for webforms: An additional layer of protection to keep your Zoho CRM clean and secure

        Greetings all, One of the most highly anticipated feature launches—Spam Detection in webforms—has finally arrived! Webforms are a vital tool for record generation, but they're also vulnerable to submissions from unauthenticated or malicious sources, which
      • Bring your CRM and Desk app inside SalesIQ with widgets

        Have you ever been confused and frustrated with multiple open tabs and switching back and forth from SalesIQ to other apps to perform your business-specific operations? How effective would it be to have all the required tools and data of the apps you
      • Speak Your Customers' Language: SalesIQ's chatbots now support 30 languages 🤖

        We're unveiling some major upgrades to our chatbot that are set to revolutionize your experience! Now SalesIQ support 30 languages for both Zobot and Answer bot. By speaking your customers' language, you can enhance engagement, improve customer satisfaction,
      • Repeat Column merge in ZOHO writer columns doesn't allow to set max columns per row

        I'm using ZOHO writer to merge data from a ZOHO CRM subform and I want it to make a table. We're using Insert Table for Column Repeat, because this is what we need. (Name of column (Teamname) and underneath that a list of names of teammembers). It works
      • Persisting email signals to contact timeline?

        Hello there. Regarding the email signals that are logged when a contact opens an email, am I correct that these signals are not logged to a contact's timeline? Ideally, I would like to have this context available for future follow-ups, if the contact
      • Trouble with using Apostrophe in Name of Customers and Vendors

        We have had an ongoing issue with how the system recognizes an apostrophe in the name of customers and vendors. The search will not return any results for a name that includes the mark; ie one of our vendors names is "L'Heritage" and when entering the
      • Really want the field "Company" in the activities module!

        Hi team! Something we are really missing is able to see the field Company when working in the activities module. We have a lot of tasks and need to see what company it's related to. It's really annoying to not be able to see it.🙈 Thx!
      • Upcoming update to Google Drive integration in Zoho Creator

        Hello everyone, We're writing to inform you about an upcoming update to how Zoho Creator integrates with Google Drive. In Zoho Creator, during actions like importing files to create an app or attaching files to fields, you can choose files directly from
      • Changing Account Type in Chart of Accounts

        Does anyone know how to change/edit the account type for an Account name in Chart of Accounts. Zoho will not let me do this for some reason
      • Managing Scheduled Replies

        Communication is most effective when the intended message reaches the right person at the right time. However, this can be challenging when communication occurs across different time zones. By scheduling replies, businesses can ensure that responses reach
      • Show price book list price

        When using price books, once you add products to the price book in the Products related list you can display the Unit price which is the default list price; however, there is no option to show the price book list price. To see the price book list price
      • Allow Attaching Quartz Recordings to Existing Zoho Support Tickets

        Hi Zoho Team, We would like to request an enhancement to how Zoho Quartz recordings integrate with Zoho Support tickets. Current Behavior: At the moment, each Quartz recording automatically creates a new support ticket. However, in many real-world scenarios:
      • Issue with open-rate reporting in Zoho Campaigns

        Hello, Since yesterday I’ve been experiencing an issue with the open-rate reports in Zoho Campaigns. The campaigns I send appear in the reports as if none of the emails have been opened, even though I know they have. To verify this, I replicated the campaign
      • Can I hide empty Contact fields from view?

        Some contacts have a lot of empty fields, others are mostly filled. Is there a way I can hide/show empty fields without changing the actual Layout? I would like to de-clutter my view, and also be able to add information later as I am able. I would be
      • Manage user roles and profiles from the Bigin app (iOS and macOS)

        Hello everyone! We're happy to announce that you can manage user roles and profiles from the Bigin mobile app. The Users & Controls section has three subsections: Users, Profiles, and Roles. Users Employees who belong to your Bigin organization are called
      • Support Bots and Automations in External Channels

        Hello Zoho Cliq Team, How are you? We actively use Zoho Cliq for collaboration, including with our external developers. For this purpose, external channels are a key tool since they work seamlessly within the same interface as all of our other channels
      • Zoho Books Sandbox environment

        Hello. Is there a free sandbox environment for the developers using Zoho Books API? I am working on the Zoho Books add-on and currently not ready to buy a premium service - maybe later when my add-on will start to bring money. Right now I just need a
      • Form to PDF template

        I am looking to create a Form and when information is inputted, it will merge it into a PDF template we already have. There could be multiple lines in the form and each line inputs information into a new page of a PDF template.
      • Please verify my account

        Hi, We have just launched our website and received media coverage in our country. Hundreds of users are signing up for our platform every day. We would like to send them a welcome email, but we are unable to do so because our ZeptoMail account has not
      • Subject character limit increase

        We have an occasional user case where subject lines exceed 500 characters which is the ZeptoMail imposed limit. While I understand long subject lines are not "best practice", these are particular notification emails with specific information for client
      • Account blocked

        Yesterday I got my Zeptomail account blocked due to too many hard bounces. My account is used exclusively for sending transactional emails (eg. your order has been shipped, a form has been filled, etc) and the sudden blocking impacted hundreds of websites
      • Nested notebooks

        Dear Sir/Madam, I would like to know if it is possible to nest notebooks. It would be very helpful when there are too many, as it would improve organization. Thank you for your response. Best regards.
      • Cannot see correct DNS config for mail after moving domain to another provider

        I have moved my domain from one provider to another and after that zoho mail stopped working (expected). Problem is, zoho mail admin panel still shows (10 hours after move) that all records are correct while I haven't changed anything in my domain DNS
      • Proactive Alert for Existing Open Tickets per Contact / Account

        Hello Zoho Desk Team, Greetings, and hope you’re doing well. We would like to submit a feature request aimed at improving agent awareness and efficiency when handling tickets in Zoho Desk. Use case When an agent opens a ticket (new or existing), it is
      • Ticket resolution field - can you add links, video, and images?

        Seems like the ticket resolution fields is just a text field. Any plans to add the ability to add links, images...the same functionality in the problem description box? I would like to send the customer a link to a KB article, a link to our Wiki, embed
      • Ticket Resolution - Add rich formatting, screenshots and attachments

        The resolution field only allows plain text at the moment. Many of our resolutions involve posting screenshots as evidence, it would be great for us to be able to have rich text formatting, be able to paste screenshots and add attachments in the solution
      • CRUD actions for Resources via API

        Hello, is it possible to perform CRUD actions through the API for Resources? We want to create a sync from Zoho CRM Car record to Bookings resources to create availabilities for Car bookings. For Test drives, not only the sales person needs to be available,
      • Kaizen #140 - Integrating Blog feed scraping service into Zoho CRM Dashboard

        Howdy Tech Wizards! Welcome to a fresh week of kaizen. This week, we will look at how to create a dashboard widget that displays the most recent blog post of your preferred products/services, updated daily at a specific time. We will leverage the potential
      • Convert Lead Automation Trigger

        Currently, there is only a convert lead action available in workflow rules and blueprints. Also, there is a Convert Lead button available but it doesn't trigger any automations. Once the lead is converted to a Contact/Account the dataset that can be fetched
      • I'm getting this error when I try to link an email to a deal inside the Zohomail Zoho CRM extension.

        When I click "Yes, associate," the system displays an "Oops!! Something went wrong" error message. I have attached a screenshot of the issue for reference.
      • Zoho Sheet - Desktop App or Offline

        Since Zoho Docs is now available as a desktop app and offline, when is a realistic ETA for Sheet to have the same functionality?I am surprised this was not laucned at the same time as Docs.
      • ZOHO add-in issue

        I cannot connect ZOHO from my Outlook. I am getting this error.
      • Marketing Automation

        L.S. Marketing Automation is and has always been part of the Zoho One bundle - according to the information provided on the Zoho Website. Why when I open Marketing Automation do I get the following message?: "Your trial has expired. We hope you enjoyed
      • What's New in Zoho Analytics - January 2026

        Hello Users! We are starting the year with a strong lineup of updates, marking the beginning of many improvements planned to enhance your analytics experience. Explore the latest improvements built to boost performance, simplify analysis, and help you
      • Translation from Chinese (Simplified) to Chinese (Traditional) is not working. It randomly translated. Google Translate accurately but zoho translate is not working at all

        Hi friends, The newly added language for translation. https://www.zoho.com/deluge/help/ai-tasks/translate.html "zh" - Chinese "zh-CN" - Chinese (Simplified) "zh-TW" - Chinese (Traditional) my original text: 郑这钻 (and it is zh-CN) translated traditional
      • The Social Playbook - January edition: Getting started with content creation

        Social media isn’t just about posting some random content. It’s about why certain content works, how brands stand out, and what makes people pause mid-scroll. The Social Playbook is a monthly community series where we break all of that down. Through real
      • Support for Custom Fonts in Zoho Recruit Career Site and Candidate Portal

        Dear Zoho Recruit Team, I hope you're doing well. We would like to request the ability to use custom fonts in the Zoho Recruit Career Site and Candidate Portal. Currently only the default fonts (Roboto, Lato, and Montserrat) are available. While these
      • Adding bank details to the contact through API

        How to add bank-related information to the contact while creating it using API? The account number needs to be encrypted before sending it through API but not sure how to encrypt and get those values. Please guide me in this.
      • Font breakage in Zoho Mail Desktop Lite application for Mac

        Dear Zoho Mail and Workplace Community, With the latest update of macOS Sequoia and macOS Tahoe, there has been font breakages in the email preview of Zoho Mail Desktop Lite application for Mac. This breakage is due to the corruption of the System fonts
      • Next Page