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

    • 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
    • Meet Canvas' Grid component: Your easiest way to build responsive record templates

      Visual design can be exciting—until you're knee-deep in the details. Whether it's aligning text boxes to prevent overlaps, fixing negative space, or simply making sure the right data stands out, just ironing out inconsistencies takes a lot of moving parts.
    • 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
    • Feature Request: Tag, Search, and Report on Individual Private Comments

      Zoho Desk Team, First, I want to say that we are extensive users of Zoho Desk and it is a core part of our support operations. We rely heavily on the private comments feature for internal communication, knowledge sharing, and maintaining a clear history
    • Zoho CRM Community Digest - August 2025 | Part 2

      Hello Everyone! Here's a quick round-up of handy tips, clever workarounds, and product updates from late August. Product Updates: Meeting Enhancements in Zoho CRM! Track whether a meeting is online, in-office, or at the client’s location using the new
    • Assistance Needed: Ticket Status Not Updating and Sorting by Last Customer Reply in Zoho Desk

      Hello, I’m facing two issues in Zoho Desk that I’d like your guidance on: Ticket Status Not Updating: When a customer replies to a ticket, the status does not change to Reopened. Instead, it remains in Waiting on Customer, even after the customer’s response
    • Round robin

      Hi, I'm trying to set up a round robin to automatically distribute tickets between agents in my team but only those tickets that are not otherwise distributed by other workflows or direct assignments. Is that possible and if so which criteria should I
    • Time Entry Notifications

      Hi All - I have support staff who place notes of their work in the time entry section of Zoho Desk. Is there a specific workflow or setting I need to enable to have the ticket holder updated via email when an entry is saved?
    • Change text in help desk

      Hi, Please let me know how can i change the this text, see screenshot.
    • Customer happiness customisation

      Hi, I was wondering if it's possible to somehow customise to whom and when customer happiness request is sent? Can you enable it only for selected tickets for example based on workflow or any other criteria (customer name, tag or anything else)? Also
    • No Zoho Support Response in Months

      I want to say that I love Zoho FSM, Books, and CRM, but the support is scary bad. About 2-3 months ago, I emailed Zoho FSM support with two specific issues I needed help with, and I have still not received one single response. I also submitted a support
    • Has anyone built a custom AI support agent inside Zoho (SalesIQ/Zobot)?

      Hi all, I’ve been experimenting with building my own AI support assistant and wanted to see if anyone here has tackled something similar within Zoho. Right now, I’ve set up a Retrieval-Augmented Generation (RAG) pipeline outside of Zoho using FAISS. It
    • Null

      If a result is null how do I make it so that a custom error pops up instead of the default error? Can someone write an example as if I were using the script builder?
    • Format a "return" message

      Good day, Is there a way to format the message of the "return" function in CRM deluge script?
    • Change Last Name to not required in Leads

      I would like to upload 500 target companies as leads but I don't yet have contact people for them. Can you enable the option for me to turn this requirement off to need a Second Name? Moderation update (10-Jun-23): As we explore potential solutions for
    • Having Trouble Opening The Candidate Portal

      Recently am having trouble opening the Candidate Portal. It keeps loading but cannot display any widgets. Tried Safari, Chrome and Edge. Non of them work. Please solve the problem ASAP.
    • Tip of the Week - Spot Risky Sales with Conditional Formatting

      In Zoho Analytics, small tweaks can lead to big insights. One such feature is Conditional formatting based on other columns, your key to instantly spotting where sales success is overshadowed by product returns. Our tip this week shows you how to apply
    • How do I duplicate / copy a campaign

      I am evaluation Zoho Campaigns and sent an email to one of my personal email accounts from Zoho Campaigns.  It went into my junk file in Hotmail. I want to duplicate that same (1-page) campaign and send it to another of my personal accounts to try to
    • For a Bill, can "Pay via Check" - Can we also "Pay via Check" when documenting refund for payment?

      We really like when we have a Bill in Zoho Books that we can record payment by selecting "Pay via Check" and that will cut the check for us from Zoho Books. However, when we have to write checks as a result of invoice overpayment, we can not select "Pay
    • Creator Change History: Ways to improve

      Hi Everyone, Recently been working in developing this change history(an idea from Zoho Forms) - unlike forms that you can this with a click but using Creator, we can use "old" keyword. The concept I come up with is to put the result in a table however,
    • Suitability of Zoho One (Single User License) for Multi-State GST Compliance & Cost Analysis

      Hello Zoho Team, I am an e-commerce business owner selling on platforms like Amazon, Flipkart, and Meesho, and I'm currently using their fulfillment warehouses. I have two GSTIN registrations and am planning to register for an additional 2-3 to expand
    • add employees and customiz

      I want a Zoho software to track employees record. I logged in a demo so now I tried adding employee, first thing when I click on add employee it takes me to a page where it says add user maximum 10 users, my first doubt why users I don't want employees
    • Inactive User Auto Response

      We use Zoho One, and we have a couple employees that are no longer with us, but people are still attempting to email them. I'd like an autoresponder to let them no the person is no longer here, and how they can reach us going forward. I saw a similar
    • Zoho People Attendance Module - Split Shifts

      Hello, Our business employs a number of college students who often split their workdays between work hours and class schedules, resulting in split shifts. For example: Employee 1 works 9am to 11:30am and then leaves for class, returning to work at 3pm
    • Zoho One subscription

      we have got Zoho CRM for 3 users and we paid for the app , and we have still 9 months to go , but if we join Zoho one , does it mean the payment for that subscription would be a waste? Please help. Thanks.
    • How Zoho CRM Can Enhance Your Faucets Accessories Business Operations?

      In today's competitive market, having a reliable CRM system is crucial for managing customer relationships and streamlining business operations. For businesses in the faucets accessories niche, Zoho CRM offers powerful tools to help manage everything
    • Dashboard

      I’m currently working on a project using the Zoho IoT Cloud with an ESP32 and MQTT. I’ve successfully connected the ESP32 to Wi-Fi and MQTT, and the data from the ESP32 is displayed in the telemetry section of the cloud. However, when I try to create
    • Can i connect 2 instagram accounts to 1 brand?

      Can i connect 2 instagram accounts to 1 brand? Or Do i need to create 2 brands for that? also under what subscription package will this apply?
    • Zoho Forms - Improved Sub-Forms

      Hi Forms team, I'm helping a client move from JotForms to Zoho Forms and I've found another opportunity for improvement. In the below screenshot, JotForm left and Zoho Forms right. The Zoho Forms Sub-Form is quite a poor visually. There is no way to make
    • What's New in Zoho Billing | Q3 2025

      Hello everyone, We are excited to share the latest set of updates and enhancements made to Zoho Billing in Q3 2025. From the latest GST updates to multi-level discounting, Zia-powered report summaries, and customizable web forms, these updates are designed
    • Next Page