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

    • Read webpage - MSXML2.ServerXMLHTTP

      I have the following VBA script, put together from various sources (mainly zoho forum/help/support, so it once worked, I guess): private Sub GetListOfSheets() Dim url As String Dim xmlhttp As Object Dim parameters As String Dim html As String range("B1").value
    • Automated log-out/session end

      I'm concerned about security of our data. Is it possible to set an automatic time-out for user sessions on Zoho CRM, after a certain period of inactivity or when the session reaches a certain duration (12 hours perhaps)? 
    • Sales Receipts Duplicating when I run reports why and how do we rectify this and any other report if this happens

      find attached extract of my report
    • Boosting efficiency through faster ticket rendering

      This enhancement will provide faster access for support teams and end-users, significantly boosting productivity for everyone. Get ready for a more efficient and satisfying experience! Immediate benefits Faster ticket rendering reduces wait times and
    • Subform auto populate values

      Hi Team, I’m trying to retrieve values from Zoho People using API functions and dynamically populate them into a subform. For example, I’ve created a form with several fields that users will fill out. Based on their input, I need to fetch records from
    • Can I execute two 'functions' when completing a mail merge from CRM?

      Hi, I have set up a mail merge from CRM Deals to a template. I want a copy of this to be saved in Workdrive, and then a copy also saved back into the deal record from which the merge occurred. I can do both independent of each other, and managed to get
    • Assign multiple departments to multiple helpcenters

      Hi there! I have a reseller company for a software and I'm using Zoho Desk as my helpcenter and ticket management system. The software is great and I would like to make a suggestion! With multi-branding activated, your departments that visible in help
    • No Functional Autosave or Manual Save Button

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

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

      Hi, I found the following code produces unexpected results: if(-1.0 < 0.0000000) {       info "True"; } else {       info "False"; } if(-1.0 < 0.000000) {       info "True"; } else {       info "False"; } The output returned is: False True However, the
    • Embed CRM record images in email templates

      I have email templates that I want to embed dynamic images in their body - not as an attachment. For the context, the image is a QR code individual to each contact. So there are couple of challenges for which I think there is no solution in CRM: 1/ I
    • Need option to send Package PDF in shipment email (Shipment PDF is missing Lot info)

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

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

      Can i fetch only first name of the user in portal email template instead of the below code Hi ${User.FULL_NAME}
    • How to get Quickbooks Desktop Info into Zoho?

      Our team has used Quickbooks desktop for years and is looking at switching to Zoho books in 2026. I want to bring all old sales history over since we use Zoho CRM. I can export Item sales history and generic sales orders from Quickbooks desktop. How do
    • Can't we let users decide which options they'd like to add at embed widget?

      It seems embed widget DOES NOT offer a feature, where users can choose options upon subscribing plans. What Zoho has instead, is that admins have to manually create plan with options. How come no one in Zoho dev team never raised issue about usability
    • Reupload and rename from one field to another field (file upload)

      Hi Everyone, Sorry, i have question to use invoke url for rename and reupload attachments file to another field. Tested on development mode. Zoho C6. Refer to https://www.zoho.com/creator/help/api/v2/upload-file.html look my error notification. Does anyone
    • Refund

      My plan expired today, and I updated my payment details with a new credit card. At the same time, I wanted to downgrade, but the system wouldn’t allow the downgrade until the payment details were updated. As a result, I was charged for the same plan before
    • Printing Multi-Page Reports (PDF Export)

      Hi, I am moving a report from Google's Looker Studio to Zoho Analytics and trying to reproduce the Looker page by page dashboard editing experience. With Google, what you see is what you get when you print to PDF. But I can't seem to create the same experience
    • Resume Harvester: New Enhancements for Faster Sourcing

      We’re excited to share a set of enhancements to Resume Harvester that make sourcing faster and more flexible. These updates help you cut down on repetitive steps, manage auto searches more efficiently, and review candidate profiles with ease. Why we built
    • I NEED TO NUMBER TO TEXT NO HERE

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

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

      All of us in business know that when you get your priorities right, your business grows. Zoho CRM and Zoho Books are excellent products, but sadly, Zoho Inventory continues to lag behind. Just this morning, I received yet another one-sided email about
    • Is there any way to send an Excel received by email to Dataprep?

      Every day I receive an email alert with an Excel file that I want to process through a Dataprep pipeline. To do this, I need to: -Save the file to disk -Open the pipeline -Run the pipeline -Update the source -Several clicks to select and open the saved
    • Bin Locations

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

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

      How to Prevent Users From Skipping LMS Videos in Zoho People Hello Zoho Developers, In this blog, we will quickly look at how you can stop users from skipping or fast-forwarding videos in Zoho People LMS. Zoho People provides a feature called Disable
    • Sent mail sort by date disappeared

      Hello, We used to be able to sort the emails by date in the sent folder, but this feature has recently disappeared. Can we bring it back?
    • Sync desktop folders instantly with WorkDrive TrueSync (Beta)

      Keeping your important files backed up and accessible has never been easier! With WorkDrive desktop app (TrueSync), you can now automatically sync specific desktop folders to WorkDrive Web, ensuring seamless, real-time updates across devices. Important:
    • [Integration Edition] Deluge Learning Series – Custom API with Deluge | November 2025

      We’re excited to conclude this four-month Integration Edition of the Deluge Learning Series: Session 1 – Integrating Zoho Apps with Deluge Using Built-In Integration Tasks Session 2 – Integrating Zoho Apps with Deluge Using invokeURL and invokeAPI Session
    • Important update: Enhanced security measures for account operations in Zoho Cliq

      Greetings from the Zoho Cliq team! We’d like to share an important security update that has an influence on some admin actions such as password reset, MFA reset, and MFA backup code generation. What’s changing? With our latest security enhancements, these
    • Automate Backups

      This is a feature request. Consider adding an auto backup feature. Where when you turn it on, it will auto backup on the 15-day schedule. For additional consideration, allow for the export of module data via API calls. Thank you for your consideration.
    • Zoho Desk Training

      Hello, We've had Zoho desk for a while now, but we run into issues occasionally, and I was wondering if there was a customer who currently uses it and really enjoys the functionality, that would be wiling to chat with us?
    • Tips for Organizing Workflows and Improving Team Coordination in Zoho

      Hi everyone, I’m looking for some general advice on how different teams are organizing their daily work within Zoho’s apps. Our team recently expanded, and we’re trying to streamline how tasks, discussions, and documents are shared so everything stays
    • Batch/lot # and Storage bin location

      Hi I want to ask for a feature on Zoho inventory I own a warehouse and I've gone through different management software solutions with no luck until I found Zoho, it has been a game changer for my business with up to the minute information, I'm extremely happy with it. It's almost perfect. And I say Almost because the only thing missing for me (and I'm sure I'm not alone) is the need of being able to identify the lot number of my inventory and where it is located in the warehouse. Due to the nature
    • Prevent user from viewing all records?

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

      My legend reads 'Series 1' and 'Series 2'. From everything I read online, Zoho is supposed to change the data names if it's formatted correctly. I have the proper labels on the top of the columns and the right range selected. I assume it's something in
    • Zoho Site pages not displaying in iframes

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

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

      I have set up Zoho Forms and CRM integration to pre-populate data from Zoho CRM to Zoho Forms. The setup is working fine. I have also created an email template in the Zoho CRM deals module to send Zoho forms links. So when I send an email using that template
    • Next Page