Kaizen #104 - Bulk Write API using PHP SDK (v5) - Part II

Kaizen #104 - Bulk Write API using PHP SDK (v5) - Part II

Welcome to another exciting week of Kaizen! This week, we will continue our discussion on Bulk Write API.  In last week's post, we covered the features of Bulk Write API, and explained in detail the first two steps involved in using Bulk Write API. Today, we'll discuss how to create a bulk write job, fetch the job status, and download the results.

1. Prepare the CSV file

2. Upload your zip file

3. Create a Bulk Write job

After uploading the file and obtaining the file ID, the next step is to create a bulk write job. For this, you will require the file ID, callback URL, and the field API names to perform one of the three operations: insert, update, or upsert. Upon a successful API call, the response will provide a job ID, with which you can check the job status in the next step.

The following are the keys you need to set.
  • callback (JSON object, optional) :  The CallBack object defines the callback URL and method for receiving notifications or updates about the job's status.
  • character_encoding (string, optional) : Specify the encoding to be used for the data being written.
  • operation (string, mandatory) : Specify the type of operation to be performed in the bulk write job. Possible values are insert, update and upsert.
  • ignore_empty (Boolean, optional) : If you have a few empty fields while updating the record and you want the system to ignore it, input the value as TRUE.
  • resource (JSON array, optional): Initiate an object of Resource class that contains the details of the module, file, and field mappings associated with the bulk write job. The resource array contains the file_id, module, find_by, field_mappings and type keys. For more details, refer to our help document here.

Mapping fields in bulk write jobs

To specify which value in the CSV file should be mapped to which field in the CRM module, you can use the field_mappings key in the resource array. This is an optional key, and if you omit it, the system will use the headers of the CSV file to map the fields. When the field_mappings is skipped, the CSV headers must be the field API names and, all the columns of your CSV file will be used for import. In this case, you should remove columns that you do not want to import into your CRM account.

Please note that the CSV headers will be ignored if field_mappings is used while creating the bulk write job.

When to use the field_mappings key?

You should use the field_mappings key if:
  • The column headers in your CSV file are different from the field API names in the CRM module.
  • You want to ignore certain columns in the CSV file.
  • You want to specify a default value for a field in the CRM module.

Rules for using the field_mappings key

  • When you map a field by specifying the field_mappings key, it is mandatory to specify either the index or the default_value key, or the system will throw an error.
  • The index is the position of the field in the CSV file, starting from 0.
  • The default_value key is used when you want to provide a default value for a field. By specifying a default value, you ensure that if a cell in the CSV file is empty, the system will populate it with the default value.
  • Use the ignore_empty key when you want the system to skip updating fields that are empty in the source file. Please note that for insert operation, ignore_empty will be set as false by default.
Index
Default Value
Ignore Empty
Empty Cell
Action
YES
YES/NO
TRUE/FALSE
NO
CSV Value
YES
YES
TRUE/FALSE
YES
Default Value
YES
NO
TRUE
YES
No Update
YES
NO
FALSE
YES
Empty
NO
YES
TRUE/FALSE
YES/NO
Default Value

  1. If you specify the index and there are no empty cells in the source file, the system will use the values from the CSV file for the corresponding fields. The default_value will be ignored in this case.
  2. For update and insert operations, when the index is specified and there are a few cells for which the value is empty in the source file, then for the corresponding records with empty value:
    • If default_value is specified, the field will be updated with the default_value.
    • If default_value is not specified, the system will handle the corresponding fields differently depending on the value of the ignore_empty key.
      • The field will be left untouched if ignore_empty is set to TRUE.
      • The field will be updated to an empty value if ignore_empty is FALSE.
  3. When the index is not specified, but a default_value is given, the system will update the corresponding fields in the CRM module with the specified default value

Bulk Insert with lookup and user lookup data

Here is an example of a simple bulk write job request:

<?php
namespace bulkwrite;

use com\zoho\crm\api\bulkwrite\BulkWriteOperations;
use com\zoho\crm\api\bulkwrite\RequestWrapper;
use com\zoho\crm\api\bulkwrite\CallBack;
use com\zoho\crm\api\util\Choice;
use com\zoho\crm\api\bulkwrite\Resource;
use com\zoho\crm\api\bulkwrite\FieldMapping;
use com\zoho\crm\api\modules\MinifiedModule;
use com\zoho\crm\api\bulkwrite\DefaultValue;

require_once "vendor/autoload.php";

class CreateBulkWriteJob
{
    public static function initialize()
    {
        // Add init code here.
        // Refer to this post for more details
    }

   public static function createBulkWriteJob(string $moduleAPIName, string $fileId)
    {
        $bulkWriteOperations = new BulkWriteOperations();
        $requestWrapper = new RequestWrapper();

       // Set the callback URL, and method
        $callback = new CallBack();
        $callback->setUrl("add_your_callback_url_here");
        $callback->setMethod(new Choice("post"));
        $requestWrapper->setCallback($callback);

        $requestWrapper->setCharacterEncoding("UTF-8"); //character encoding
   $requestWrapper->setOperation(new Choice("insert")); //specify the type of operation
       // module, file and field mapping details
        
        $resourceIns = new Resource();
        // To set the type of module that you want to import. The value is data.
        $resourceIns->setType(new Choice("data"));
        $module = new MinifiedModule();
        $module->setAPIName($moduleAPIName);
        $resourceIns->setModule($module);
        $resourceIns->setFileId($fileId);
        $resourceIns->setIgnoreEmpty(true);

        $fieldMapping1 = new FieldMapping();
        $fieldMapping1->setAPIName("Account_Name");
        $fieldMapping1->setIndex(0);
      
        $fieldMapping2 = new FieldMapping();
        $fieldMapping2->setAPIName("Phone");
        $fieldMapping2->setIndex(1);
    
        $fieldMapping3 = new FieldMapping();
        $fieldMapping3->setAPIName("Parent_Account");
        $fieldMapping3->setIndex(2);
        $fieldMapping3->setFindBy("id");
      
        $fieldMapping4 = new FieldMapping();
        $fieldMapping4->setAPIName("Referred_User");
        $fieldMapping4->setIndex(3);
        $fieldMapping4->setFindBy("id");
        $defaultValue = new DefaultValue();
        $defaultValue->setValue("4876876327565");
        $fieldMapping4->setDefaultValue($defaultValue);

        $resourceIns->setFieldMappings([$fieldMapping1, $fieldMapping2, $fieldMapping3, $fieldMapping4]);
        $requestWrapper->setResource([$resourceIns]);

    //Call createBulkWriteJob method that takes RequestWrapper instance as parameter
        $response = $bulkWriteOperations->createBulkWriteJob($requestWrapper);
        // Add your code to handle the response received in the $response.
    }
}

CreateBulkWriteJob::initialize();
$moduleAPIName = "Accounts"; //The module to which you want to insert the records
$fileId = "48768764054001"; // add your file_id received in the response of Upload File
CreateBulkWriteJob::createBulkWriteJob($moduleAPIName, $fileId);


In the above code, Referred_User is a user lookup field, and Parent_Account is a lookup field in the Accounts module. The CSV file contains the unique ID of the corresponding records in the lookup modules.



Here is a sample CSV file used for the above Bulk Insert job. Note that the unique record IDs of the lookup (Parent_Account) and user lookup(Referred_User ) fields. If you choose to schedule the job without using field mappings, ensure that you provide headers for these fields in the format field_api_name.id with the record IDs in the corresponding columns.

Updating or Upserting records by unique key:

During an update operation, the find_by field acts as a unique key that identifies the record to be updated. You can use the unique record id, or any other unique field for this. For example, if the Phone field is a unique field in the Accounts module, specifying setFindBy("Phone") allows updates based on the values present in the Phone field. Similarly, for an upsert operation, if there is no existing record matching the provided Phone number, a new record will be inserted. Conversely, if a matching record is found, it will be updated. 

Here is the code snippet for the field_mapping for an update operation using the Phone field as the unique key.


//You can use setFindBy method to update/upsert records based on a unique field
         $resourceIns->setFindBy("Phone");

//fieldMapping for the unique field
        $fieldMapping1 = new FieldMapping();
        $fieldMapping1->setAPIName("Phone");
        $fieldMapping1->setIndex(1);
        
        $fieldMapping2 = new FieldMapping();
        $fieldMapping2->setAPIName("Description");
        $fieldMapping2->setIndex(8);

Importing Subform Data

The Bulk Write API allows you to import and update records with subforms. To insert or update records with subforms, you must import the parent records first with Bulk Write API. For this bulk write job, $moduleAPIName has to be set with parent module with proper $fieldMapping. Refer to the first sample for more details.  

Once you have imported the parent records, get the parent record ids, prepare the CSV file with the subform data, and create a Bulk Write job for the subform module. You can get the parent record ids from the result zip file in Step 5 (Download the result). Refer to our previous post to know how to prepare the CSV file with the Subform data.

Consider a subform named Contact_details in the Accounts module, with the fields Contact_Name, Contact_Email, and Contact_Phone. Here is the code snippet for the field_mapping to import the subform data. 

//field_mapping for the Parent_Id
        $fieldMapping1 = new FieldMapping();
        $fieldMapping1->setAPIName("Parent_Id");
        $fieldMapping1->setIndex(0);
        $fieldMapping1->setFindBy("id");

//add proper field_mapping for the subform fields with the subform field API names

Note that in this case, the $moduleAPIName is the api name of the subform (Contact_details) and the operation type should be insert. The subform data is added to the corresponding record specified by Parent_Id field in the subform CSV. 

Multiselect Lookup Fields in Bulk Write API

To upload records with multiselect lookup fields, you can follow the same steps as for subforms. First, import the parent records using a Bulk Write job. Then, import the multiselect lookup field data using another Bulk Write job. For the multiselect lookup field data, the CSV file should contain both the parent record ID and the multiselect lookup field data. Please note that this method does not work for line items.
Consider a multiselect lookup field named Clients in the Accounts module, which is linked to the Contacts module.  In your CSV file, ensure that you include both the Parent Record ID and the linked record IDs. For multiselect lookup data, the $moduleAPIName should be the API name of the linked module, and in the field_mappings, the API names used should correspond to the field API names from the lookup module. Check the following sample code for more details.

//field_mapping for module 1 (Contacts)
         $fieldMapping1 = new FieldMapping();
    $fieldMapping1->setAPIName("Client_Account"); //field API name in the linked module
        $fieldMapping1->setIndex(0);
        $fieldMapping1->setFindBy("id");
  
// field_mapping for module 2 (Accounts)    
        $fieldMapping2 = new FieldMapping();
        $fieldMapping2->setAPIName("Account"); // field API name in the linked module
        $fieldMapping2->setIndex(1);
        $fieldMapping2->setFindBy("id");

4. Check job status

The Bulk Write API offers two options for monitoring the status of a job: polling and callback. If you prefer not to poll for job status, you can wait for the system to notify you of job completion by using the provided callback URL in the Create Bulk Write Job request. Alternatively, you can choose to poll the API using the job ID obtained from the previous step to check the status of the scheduled bulk write job. The job status can be one of the following: ADDED, INPROGRESS, or COMPLETED. Only completed jobs will include the download-URL key in the response.

Here is a code snippet to check the job status and get the download URL from the response.

public static function getBulkWriteJobDetails(string $jobId)
  {
    $bulkWriteOperations = new BulkWriteOperations();
    //Call getBulkWriteJobDetails method that takes jobId as parameter
    $response = $bulkWriteOperations->getBulkWriteJobDetails($jobId);
    if ($response != null) {
        $responseWrapper = $response->getObject();
        if ($responseWrapper instanceof BulkWriteResponse) {
            $result = $responseWrapper->getResult();
            if ($result != null) 
                echo ("Bulkwrite DownloadUrl: " . $result->getDownloadUrl() . "\n");
            }
        }
    }


5. Download the result

In this step, you can obtain the result of the bulk write job in a ZIP file that includes a CSV file containing the details of the job. Please note that you can get the details of only one bulk write job in a single API call. 

To download the result, you need to use the download_url provided in the response. The CSV file will consist of the first three mapped columns from the uploaded file, as well as three additional columns: STATUS, RECORD_ID, and ERRORS.

{
    public static function initialize()
    {
        // Add init code here.
        // Refer to this post for more details
    }

    public static function downloadBulkWriteResult(string $downloadUrl, string $destinationFolder) 
    {
        $bulkWriteOperations = new BulkWriteOperations();
        $response = $bulkWriteOperations->downloadBulkWriteResult($downloadUrl);
        // Add your code to handle the response received in the $response.
    }
}

DownloadBulkWriteResult::initialize();
$downloadUrl = "paste_your_download_url_here";
$destinationFolder = "/Documents";
DownloadBulkWriteResult::downloadBulkWriteResult( $downloadUrl,$destinationFolder);



The image shows the result of an Upsert operation. As you can see, few of the records were skipped because the unique field had a duplicate value. 

We hope you found this post useful. If you have any further questions, reach out to us at support@zohocrm.com or let us know in the comments section. We are looking forward to hearing from you!

Stay tuned for more useful posts in the series. See you all next week!

    Access your files securely from anywhere

        All-in-one knowledge management and training platform for your employees and customers.






                              Zoho Developer Community




                                                    • Desk Community Learning Series


                                                    • Digest


                                                    • Functions


                                                    • Meetups


                                                    • Kbase


                                                    • Resources


                                                    • Glossary


                                                    • Desk Marketplace


                                                    • MVP Corner


                                                    • Word of the Day


                                                    • Ask the Experts



                                                              • Sticky Posts

                                                              • Kaizen #198: Using Client Script for Custom Validation in Blueprint

                                                                Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
                                                              • Kaizen #226: Using ZRC in Client Script

                                                                Hello everyone! Welcome to another week of Kaizen. In today's post, lets see what is ZRC (Zoho Request Client) and how we can use ZRC methods in Client Script to get inputs from a Salesperson and update the Lead status with a single button click. In this
                                                              • Kaizen #222 - Client Script Support for Notes Related List

                                                                Hello everyone! Welcome to another week of Kaizen. The final Kaizen post of the year 2025 is here! With the new Client Script support for the Notes Related List, you can validate, enrich, and manage notes across modules. In this post, we’ll explore how
                                                              • Kaizen #217 - Actions APIs : Tasks

                                                                Welcome to another week of Kaizen! In last week's post we discussed Email Notifications APIs which act as the link between your Workflow automations and you. We have discussed how Zylker Cloud Services uses Email Notifications API in their custom dashboard.
                                                              • Kaizen #216 - Actions APIs : Email Notifications

                                                                Welcome to another week of Kaizen! For the last three weeks, we have been discussing Zylker's workflows. We successfully updated a dormant workflow, built a new one from the ground up and more. But our work is not finished—these automated processes are


                                                              Manage your brands on social media



                                                                    Zoho TeamInbox Resources



                                                                        Zoho CRM Plus Resources

                                                                          Zoho Books Resources


                                                                            Zoho Subscriptions Resources

                                                                              Zoho Projects Resources


                                                                                Zoho Sprints Resources


                                                                                  Qntrl Resources


                                                                                    Zoho Creator Resources



                                                                                        Zoho CRM Resources

                                                                                        • CRM Community Learning Series

                                                                                          CRM Community Learning Series


                                                                                        • Kaizen

                                                                                          Kaizen

                                                                                        • Functions

                                                                                          Functions

                                                                                        • Meetups

                                                                                          Meetups

                                                                                        • Kbase

                                                                                          Kbase

                                                                                        • Resources

                                                                                          Resources

                                                                                        • Digest

                                                                                          Digest

                                                                                        • CRM Marketplace

                                                                                          CRM Marketplace

                                                                                        • MVP Corner

                                                                                          MVP Corner









                                                                                            Design. Discuss. Deliver.

                                                                                            Create visually engaging stories with Zoho Show.

                                                                                            Get Started Now


                                                                                              Zoho Show Resources

                                                                                                Zoho Writer

                                                                                                Get Started. Write Away!

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

                                                                                                  Zoho CRM コンテンツ



                                                                                                    Nederlandse Hulpbronnen


                                                                                                        ご検討中の方




                                                                                                                • Recent Topics

                                                                                                                • Candidate Assessments, no workflows.

                                                                                                                  I have an issue where I would like to trigger a workflow based on a candidate assessment being completed. Sometimes a returning candidate will complete a second assessment, on completion the status of the candidate will be updated to "Unqualified" if
                                                                                                                • Mail Merge in Zoho Desk

                                                                                                                  Hello Team, Do we have an option of mail merge within Zoho Desk like we have in Zoho CRM? We have a requirement to generate some pdf file in the form of mail merge doc from the ticket.
                                                                                                                • Support Required for Integrating Zoho SalesIQ in Flutter Web

                                                                                                                  Hi Team, I have developed a Flutter application and I am currently using the salesiq_mobilisten: ^6.5.4 package. As per the package documentation ( https://pub.dev/packages/salesiq_mobilisten ), it supports only Android and iOS, and it is working fine
                                                                                                                • Zoho vault filling in a form it's not supposed to fill in

                                                                                                                  Hey there, I have a problem with ZOHO Vault autofill. In a software package, we have these options: For some reason zoho vault always replaces what's in the top option and fills a 2fa password in there, and then saves that value.. Meaning whatever was
                                                                                                                • Zoho Booking Integration with Desk

                                                                                                                  Just wanting to share something in case it helps someone else who may run into a similar use case as we did. Issue: Currently, the Zoho Booking integration with desk will drop a comment into the ticket when a customer books a time, however it won't change
                                                                                                                • Syncing calendar with Google Calendar doesn't work when events are sent to auto repeat

                                                                                                                  Hi... The ZOHO CRM -- GOOGLE CALENDAR sync is broken. If I create a single event on either side, sync works, but if I create an event with auto repeat on either side it doesn't work. Furthermore, events created before the sync don't show up in the calendar.
                                                                                                                • Organization wide Account and Contacts Visibility/Sharing Capabilities?

                                                                                                                  Has anyone figured out a way to make visibility or sharing of Accounts and Contacts to be available across the entire organization without having to have every individual user edit their Sharing permissions? For our sales folks they need to be able to
                                                                                                                • Notification of Interaction Assignment

                                                                                                                  If a user is assigned an interaction, they should be notified via email. These are almost useless because if I assign an interaction for someone to respond to, they dont know that I assigned it to them without me telling them or them logging in and discovering
                                                                                                                • Custom Display Field for Lookup Dropdowns in Zoho CRM

                                                                                                                  Could Zoho CRM support changing the display field in lookup dropdowns, like Zoho Creator does? This would make it much easier to select the right record by showing a more useful field instead of only the default one. It would improve speed, clarity, and
                                                                                                                • A2P 10DLC Opt-in Rejection Issue with Zoho Creator Public Form

                                                                                                                  Hi everyone, I’m working on an A2P 10DLC SMS campaign and running into repeated rejections due to opt-in issues. I’m using Zoho Creator for the registration flow. The form is public (no login required). Users enter their phone number and there is an unchecked
                                                                                                                • 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
                                                                                                                • Books <-> CRM synchronisation with custom Fields

                                                                                                                  Hello, We are synchronising Books Customers with CRM Accounts. In CRM Accounts I set up last year a "segments" multiselect field shown below In Books, I set up a custom multi-select field with the same value as in the CRM And set up the synchronisation inside Books. Want to synchronise the Books Segments with the CRM Segments, but the later doesn't exist, and another non-existing is there ?! First, I don't understand where the field Segmentation is coming from. Second, I set CRM Segmentation to sync
                                                                                                                • Recording overpayment?

                                                                                                                  So a customer just overpaid me and how do I record this? I can't enter an amount that is higher than the invoice amount. Eg. Invoice is $195 and he sent $200. He's a reccuring customer so is there a way to record so that he has a $5 advance for future invoice?
                                                                                                                • Introducing the New Zoho Assist Quick Support Plugin

                                                                                                                  We are thrilled to announce the new Zoho Assist Quick Support Plugin, the upgraded and enhanced version of the Zoho Assist Customer Plugin. This new plugin allows organizations and IT administrators to deploy it directly onto their customers’ devices,
                                                                                                                • Automate your signing workflows with Zoho Sign + n8n

                                                                                                                  Hello! We're excited to announce that Zoho Sign is now available as a community node on n8n, a popular open-source workflow automation platform used by tens of thousands of teams worldwide. n8n lets you connect apps, APIs, and services through a visual
                                                                                                                • Retainer invoice in Zoho Finance modlue

                                                                                                                  Hello, Is there a way of creating retainer invoices in the Zoho Finance module? If not can I request this is considered for future updates please.
                                                                                                                • Spotlight #27: Embed visual collaboration Spaces in your presentations using the Vani add-on

                                                                                                                  Hello everyone! This month’s spotlight feature is the Vani add-on for Zoho Show. Every time you pause your presentation to open another tab or pull up supporting material, you lose a bit of momentum. At Zoho Show, we design features that keep everything
                                                                                                                • CRM

                                                                                                                  Is anyone else experiencing this issue? Our company is not moving out of using Gmail's web app. It just has more features and is a better email program than Zoho Mail. Gmail has an extension (Zoho CRM for Gmail) that we're using but we've found some serious
                                                                                                                • Good news! Calendar in Zoho CRM gets a face lift

                                                                                                                  Dear Customers, We are delighted to unveil the revamped calendar UI in Zoho CRM. With a complete visual overhaul aligned with CRM for Everyone, the calendar now offers a more intuitive and flexible scheduling experience. What’s new? Distinguish activities
                                                                                                                • Global Search / Command Palette in Live App

                                                                                                                  Zoho Creator applications can contain many forms, reports, pages, and dashboards. While navigation inside the app is smooth, users still need to move through multiple menus or screens to find specific records or open particular modules. Currently, in
                                                                                                                • New 2026 Application Themes

                                                                                                                  Love the new themes - shame you can't get a little more granular with the colours, ie 3 different colours so one for the dropdown menu background. Also, I did have our logo above the application name but it appears you can't change logo placement position
                                                                                                                • Smarter appointment allocation with round-robin distribution

                                                                                                                  Greetings from the Zoho Bookings team! We’re excited to introduce the Appointment Distribution feature, a new way to decide how appointments are assigned among users. By default, appointments are distributed evenly across all event types, but this enhancement
                                                                                                                • Analytics & Reporting Improvements + Export Bug

                                                                                                                  Hello, I would like to raise several important product suggestions and issues regarding Zoho Expense: 1. Filter in Admin View → Analytics → Expense Details → Receipt Is it possible to add a filter that allows us to prioritize or sort reports that have
                                                                                                                • Make Quick Edits to Images Before Attaching

                                                                                                                  Hello everyone, We have enhanced how attachments are handled in tickets to help agents preview and share files more efficiently in Zoho Desk. Agents can preview image attachments before adding them to tickets and edit them using attachment annotator.
                                                                                                                • 3/18 オンライン勉強会のお知らせ Zoho ワークアウト (無料)

                                                                                                                  ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 3月開催のZoho ワークアウトの開催が決定しましたのでご案内します。 今回はZoomにて、オンライン開催します。 ▶︎参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/BoNTN7zYR8OvOPGShqBY0A ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目指すイベントです。
                                                                                                                • Extend color coding to custom picklist fields

                                                                                                                  Objectively, Projects has the best UI of any Zoho app — clean, intuitive, and never feels bloated. Big props to whoever owns the design. Feature request: color coding for custom picklist field values in field customization. You've already done it in two
                                                                                                                • New in Office Integrator: In-sheet text translation

                                                                                                                  Hi users, We're pleased to introduce translation capability in the spreadsheet editor in Zoho Office Integrator. This allows you to translate the text in your spreadsheet's cells into 70+ languages from within your web app. Office Integrator's spreadsheet
                                                                                                                • Streamline email communication with Out of Office configuration

                                                                                                                  Managing user communication effectively is the key to ensuring timely responses and consistent messaging. However, when users are unavailable, the absence of an Out of Office response can lead to delays and missed expectations. Managing these settings
                                                                                                                • Changing settings for auto logoff

                                                                                                                  I've noticed that when I haven't used Cliq for a while, I have to re-enter my password. That is really clumsy, especially if you have a complicated password. Because it won't be filled in automatically. Is there a way to change that behaviour? We are
                                                                                                                • A few Issues when using "Pay Bill via Check"

                                                                                                                  We have quite a bit of issues with how paying for Bills via Check works. Would love some feedback from the Zoho team in case we are doing something incorrectly. 1. When we go from a vendor and select "Pay Bill via Check" option, we see ALL the outstanding
                                                                                                                • Prevent tracking users from specific countries

                                                                                                                  Currently, I’m receiving many bot visits from the United States and Malaysia. I would like these visits not to be recorded in SalesIQ. I already enabled the option to exclude traffic from cloud service providers, but I’m still receiving bot visits. Ideally,
                                                                                                                • Edit Project Number?

                                                                                                                  Hi all: We just signed up for a trial of zoho one, which includes ZoHo Projects. We've noticed there was a 'dummy project' preloaded in projects to help familiarize yourself with the software. We've created a couple of our own projects now but noticed since the dummy project was preloaded, our projects start with number 2 then 3, sequentially. Since it seems we will be keeping zoho past the trial, If we delete the dummy project, how do we get our own projects renumbered, beginning with 1? We'd like
                                                                                                                • Download pricebook products & details - not just pricebook creation date & name

                                                                                                                  We're looking to download a copy of a pricebook and its associated products & book prices (as we have several offices in different countries selling the same products), however, when using the export feature under Data administration it only gives me
                                                                                                                • Allow Global Admin to access/edit all forms without changing owners

                                                                                                                  Hi there, Please consider adding a feature where the Global Admin of the account an automatically access/edit any form in the Company Account. I'm the Global Admin on our Zoho One plan, and we have multiple users that use/create forms. But for me to access
                                                                                                                • ERROR: "Please enter a valid Phone"

                                                                                                                  WHAT IS THE PHONE FORMAT? There is nothing ANYWHERE to define the format. At least the error should either show the correct format or provide a link to the help file I enter a valid phone number in as many formats as I can think of and none of them allow me to save the number to CRM Nothing works! No matter what format I enter I keep getting a red error "Please enter a valid Phone" The international format for MY mobile is +61414652366 (or +61 414 652 366) Local format is 0414652366 I call all over
                                                                                                                • Introducing Zoho Sprints 3.0

                                                                                                                  Zoho Sprints is consistently evolving in steady increments. The introduction of the latest version, with its enterprise level solutions, brings to you advanced capabilities that propel your agile efforts in the right direction. Here's a quick glimpse
                                                                                                                • Customize Sign-out Button

                                                                                                                  Are there some url parameters I can use to make a form button sign-out the user from the app? The sign-out link on the top right is small. Here's and example of the url for the top right sign-out: https://creator.zoho.com/logoutpage.jsp?sharedBy=niskypto&appID=212085000006568003&appLinkName=MYAPP&signOutUrl=niskypto/MYAPP/view-login/SOMEPAGE Note: In my account, the sign-out is set to redirect users to my website. Can I also override this with some url parameters? John M. Whitney
                                                                                                                • Please can the open tasks be shown in each customer account at the top.

                                                                                                                  Hi there This has happened before, where the open tasks are no longer visible at the top of the page for each customer in the CRM. They have gone missing previously and were reinstated when I asked so I think it's just after an update that this feature
                                                                                                                • Tip #65 - Exploring Technician Console: Short Keys - 'Insider Insights'

                                                                                                                  Hello Zoho Assist Community! Have you ever been in the middle of a remote support session, trying to pass a key combination onto the remote machine, only to find it's reflecting on the technician's computer. The Short Keys feature in Zoho Assist is here
                                                                                                                • Reading from and writing to Zoho Projects Custom Module with Deluge

                                                                                                                  Does anyone know if there is a way to read from and write to the Custom Modules that Zoho now supports. I would love to be able to loop through a set of data and create the entities I need to for this new custom module I'm looking to put together.
                                                                                                                • Next Page