
Maximum of 500 Circuits can be created per organization.
A Circuit can contain 1 to 50 states.
Each circuit has a unique circuit ID, used in SDKs, APIs, and when nesting or batching circuits.
Pre-built templates help you launch automation flows quickly with minimal setup.
Click Explore under the Choose from template option.
Browse the list of available templates under Circuit Templates.
Use the left pane to filter templates by category, if needed.
Select a template that suits your requirement and preview its components.
Click Use this Template button at the top right to install.
Click Create under the Start from scratch option.
Specify a unique Name and add a Description for the Circuit.
Click Save.
You can configure the Circuit in two different ways.
Builder View
Code View
In Builder View, you can construct a circuit using the available states in the left pane. States are the building blocks of a circuit that perform actions, make decisions, or or simply pass the output from one state to another.
Circuit states are categorized into the following groups:
To learn more about each state, refer to States of the Circuit.
Constructing a circuit in Builder View involves two steps:
Add a State
Define a State
Under Input / Output:
Configure the paths and parameters required for input and output processing
Refer to Input and Output Processing section for more details
Click Save.

In Code View, you can define the circuit using a structured JSON format. Switch to Code View using the code view icon in the builder.
Common properties include:
next field, it is considered the last state
next by any other state, it is treated as the first state
Ensure that the circuit follows standard JSON syntax.
Constructing a circuit in code view involves the following steps:

Whenever you configure a Circuit, whether defining Parameters, Input Path, Result Selector, or Output Path, you can supply values in any of the following ways:
A fixed value provided directly in the configuration field.
Example:
"api_url": "https://swerio.com/employee/update"
Use static values for constants such as URLs, string literals, flags, or tokens.
Retrieve centrally managed configuration values stored in Qntrl’s Config Store using variable references.
Example:
"base_url": "${<config_linkname>}"
Refer to Config Store to learn how to create and use these variables.
Extract values directly from the state input using JSONPath.
Example Input JSON:
{"employee_details": {"emp_name": "John Doe","emp_id": "357"}}
Parameter usage:
"name": "$.employee_details.emp_name","ID": "$.employee_details.emp_id"
Retrieve dynamic execution metadata such as circuit ID, execution ID, timestamps, origin, or requestor details.
Example
"execution_id": "$$.execution.id","requested_by": "$$.requestor.email"
These values reflect live execution context and allow building highly dynamic automations.
Refer to Context Object for full structure.
Generate randomized test values during execution, useful for test runs, demos, or simulating data.
Faker method names must be in lower underscore case.
"phone_number": "${#random.phone_number.cell_phone}","city_name": "${#random.address.city}"
Refer to the Faker Methods guide for the complete list of supported generators.
You are currently viewing the help articles of Qntrl 3.0. If you are still using our older version and require guidance with it, Click here.