Configure Batch state in Circuit | Qntrl | Circuit | Online Help

Batch

Batch state allows you to execute a Function, Webhook, or Circuit in batches as multiple jobs in an iterative manner.


While the Parallel state executes multiple states simultaneously using the same input, the Batch state executes the (same set of) State(s) for multiple entries of an array in the state input. This helps to handle a large volume of input or tasks in sets rather than overloading the involved resource. 

Collection Path

The Collection Path field in the Batch state allows you to specify an array within an input JSON for the state to iterate over. This is particularly useful when you have a JSON input that contains an array of items, and you want to process each item individually within the Batch state. Use JSONPath syntax to specify the location in the input of the JSON array used for iteration.

 

Let us consider the following JSON input:
{
    "employee_list": [
        {
            "name": "John",
            "email": "john@zylker.com",
            "role": "Business Analyst"
        },
        {
            "name": "Helena",
            "email": "helena@zylker.com",
            "role": "Programmer"
        },
        {
            "name": "Mark",
            "email": "mark@zylker.com",
            "role": "QA Analyst"
        }
    ]
}
Every index in the above input can be iterated, set to a variable, and sent for processing using the collection path $.employee_list.

Collection Variable

The Collection Variable is used to store the JSON values that need to be processed in the associated resource (Circuit, Webhook, or Function states) of the Batch state.

 

For example, if we want to process the employee details of each employee from the 'employee_list' array in the above JSON input, in the Batch state configuration, set the Collection Path as $.employee_list and the Collection Variable as an employee. This will extract each employee object within the 'employee_list' array and assign it to the 'employee' variable.

 

If the associated resource is a Circuit, the values from 'employee_list' will be processed using the collection variable. The values in the Collection Variable can be used as $.employee.name, $.employee.email, $.employee.role in the Circuit.

 

Example Use Case: In the employee onboarding scenario, a Circuit named 'New Employee Onboarding' is already designed for the onboarding of a single employee, which has a predefined sequence of steps or actions to be followed during the onboarding process. However, to onboard multiple employees efficiently, we can execute the Circuit in batch mode for multiple entries of employee details using the Batch state. Each entry represents an individual employee going through the onboarding process, ensuring that each step of the process is followed consistently for all employees.

 

This enables us to onboard multiple employees simultaneously. By setting the number of jobs in the Batch state, let's say 10, the Circuit can be executed concurrently for 10 employees, processing their respective inputs. Once the initial 10 jobs are completed and the first set of employees is processed, the subsequent iteration will initiate the next batch of 10 jobs to onboard the next set of employees. This iterative process continues until all employees are successfully onboarded.

 

Now, let's configure a Batch state in Builder View and Code View for executing multiple employee onboarding Circuits as a batch.

Builder View

To configure a Batch state to your Circuit:

  1. In Builder View, drag and drop the Batch state from the left pane into your Circuit or click the required Batch state in your Circuit.

  1. Under Configuration, update the common state field attributes.

  1. In the Collection Path, enter the key that contains the JSON array with the values to be processed by the Batch state in the input JSON.

  1. In the Collection Variable, provide a variable name to hold the JSON value or object extracted from the list specified in the Collection Path. The iterated JSON value or object can be accessed using this variable.

  1. Using Bind Type, you can bind the Batch state to a Function, Webhook, or Circuit.

In this process, we are binding Circuit developed for single employees onboarding and executing as a Batch for multiple employees during the employee onboarding process.

  1. In the No. of Jobs field, define the number of threads for each batch.
  2. In the Input/Output section, configure the paths for the Batch state; refer to Input & Output Processing. 
      

Since multiple instances of a Function or a Circuit are executed, this ensures that they do not face a timeout error.

‌If you define the Retry option for the Batch state, the retry policy applies only if all iterations of the Batch state fail. For example, if you configure the Retry field in a Batch state with three iterations, the retry policy applies only if all three iterations fail.

Code View

In Code View, JSON details can be provided in fields collectionPath and collectionVariable. You can link a Function, Webhook, or Circuit using bind and define the number of threads for batch using degree.

Batch state example:

"Employee Onboarding Tasks": {
      "type": "batch",
      "next": "End",
      "start": true,
      "collection_path": "$.employee_list",
      "collection_variable": "employee",
      "degree": 10,
      "bind": {
          "type": "circuit",
          "circuit_id": "new_employee_onboarding"
      }
}







Next : Success state

    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now


            Zoho Sign now offers specialized one-on-one training for both administrators and developers.

            BOOK A SESSION








                                    You are currently viewing the help pages of Qntrl’s earlier version. Click here to view our latest version—Qntrl 3.0's help articles.




                                        Manage your brands on social media

                                          Zoho Desk Resources

                                          • Desk Community Learning Series


                                          • Digest


                                          • Functions


                                          • Meetups


                                          • Kbase


                                          • Resources


                                          • Glossary


                                          • Desk Marketplace


                                          • MVP Corner


                                          • Word of the Day


                                            Zoho Marketing Automation

                                              Zoho Sheet Resources

                                               

                                                  Zoho Forms Resources


                                                    Secure your business
                                                    communication with Zoho Mail


                                                    Mail on the move with
                                                    Zoho Mail mobile application

                                                      Stay on top of your schedule
                                                      at all times


                                                      Carry your calendar with you
                                                      Anytime, anywhere




                                                            Zoho Sign Resources

                                                              Sign, Paperless!

                                                              Sign and send business documents on the go!

                                                              Get Started Now




                                                                      Zoho TeamInbox Resources



                                                                              Zoho DataPrep Resources



                                                                                Zoho DataPrep Demo

                                                                                Get a personalized demo or POC

                                                                                REGISTER NOW


                                                                                  Design. Discuss. Deliver.

                                                                                  Create visually engaging stories with Zoho Show.

                                                                                  Get Started Now









                                                                                                      • Related Articles

                                                                                                      • Wait

                                                                                                        The Wait state introduces a pause or delay within your Circuit, temporarily halting the execution for a specified duration before resuming and progressing to the next state. The delay duration can be configured in seconds. For instance, if you set a ...
                                                                                                      • Circuit

                                                                                                        As you may know, Circuit enables you to create automated workflows for IT and business by organizing a sequence of tasks. In certain cases, a process might include complex sub-processes that can be constructed as separate standalone Circuits. These ...
                                                                                                      • Sample Use Cases

                                                                                                        Payment process In a typical payment process, for every purchase made, a payment link with the invoice will be shared with the purchaser. Upon successful payment, a receipt will be generated, and in the event of failure, the entire process will have ...
                                                                                                      • Execution logs

                                                                                                        A copy of all the executions that were tested is maintained in the Circuit. You can access the execution history of a Circuit anytime. This means you can select and re-run a specific execution at any time. To view the execution history of a Circuit: ...
                                                                                                      • Create and configure a Circuit

                                                                                                        Create a Circuit Log in to Qntrl. Navigate to (settings) >> Automation >> select Circuit. Click Add New Circuit. Alternatively, you can also select New Circuit at the top-right corner of the home page. Specify a unique Name and add a Description for ...
                                                                                                        Wherever you are is as good as
                                                                                                        your workplace

                                                                                                          Resources

                                                                                                          Videos

                                                                                                          Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                                          eBooks

                                                                                                          Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                                          Webinars

                                                                                                          Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                                          CRM Tips

                                                                                                          Make the most of Zoho CRM with these useful tips.



                                                                                                            Zoho Show Resources