Understand Your Flow Units
Overview
A Flow Unit is a configurable and reusable building block within the Flow Designer that represents a single action or logic step in an automation flow. Each flow unit processes input data, performs a defined operation, and produces an output that can be used by subsequent units in the flow. Flow units are arranged in a logical sequence to design end-to-end automations and can be configured independently based on business requirements.
Fixed Flow Units
Please note that the Start and End units are the default units that are included in every flow. You cannot remove these units from the flow. Configurable flow units are available under the Flow Unit tab, which can be added or removed from the flow.
Start Unit
Purpose: The Start Unit is the entry point of a flow in the Flow Editor/Designer. It defines when and how an automation flow is initiated and marks the start of execution. The start unit is mandatory for every flow. It is responsible for capturing initial input data, triggering the flow based on defined conditions or events, and passing control to the following flow unit.
Option 2:
The Start Unit is the first step in a flow. It decides when and how the flow begins. Every flow must have a Start Unit. It collects the initial data, starts the flow based on certain conditions or events, and then hands control to the next step.
Start Unit Properties
- To view the unit property, click on the Start unit. Upon clicking the unit, a property panel opens below.
- The property panel will open and display the Processing section. Please note that the start unit will not have the Input and Output sections in the property panel.
- The Processing section of the panel displays the Port Assignment, User Settings, and Test Message tabs. You can switch between the tabs by clicking on them.
Port Assignment Tab
- By default, the Port Assignment tab will open.
- It provides information about the system attached to the automation.
- The section shows two columns:
- The first column (left) provides the system's port information.
- This indicates which system is involved in the automation.
- The second column (right) lists the SLDs you have already created. You might have multiple SLDs with the same type.
- You need to map the SLD to the system port. Select the SLD that you want to use.
- Once the SLD is selected, the band in the left-hand column will display a tick icon. A toaster message confirms that the system is assigned successfully.
User Settings
Test Message
End Unit
Purpose: The End Unit is the last step in a flow. It shows where the flow stops and makes sure everything is finished properly before ending. It receives the flow's final output, does any closing tasks, and confirms whether the flow ended successfully.
End Unit Properties
- To view the unit property, click on the End unit. Upon clicking the unit, a property panel opens below.
- The property panel will open and display the Processing section. Please note that the end unit will not have the Input and Output sections in the property panel.
- A Processing section of the panel will display the Details and Design tabs. You can switch between the tabs by clicking on them.
Detail Tab
- By default, the Details tab will be shown.
- The tab will display the Name and Description fields, and the default name and description will appear in them.
- However, you can modify the unit's name and description as needed.
- The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field does not have any limitations.
Design Tab
- Click on the Design tab to switch to the Design tab.
- You can view the flow's final outputs in this section, which may be one or many.
- Each output is shown in a separate band, along with its name and the unit that generated it.
- You can select any output to expose it as the flow's final output.
- To set an output as the final flow output, click on the respective band. The selected band will be highlighted.
- The selected output will only be exposed as the flow's final output. Any outputs that are not selected will not be exposed as the final output of the flow.
Configurable Flow Units
- The configurable flow units are provided under the Flow Unit section and categorized into subsections:
- General:
- Decision/For-Each Unit
- Repeat Until
- Calls:
- System Call Unit
- Expansion Call Unit
- HTTP Call Unit
- FTP Call Unit
- Delegate:
- Component Unit
- Automation Unit
- Flow Unit
- Queue Unit
- Trasformation:
- Mapping Unit
- Java Class Unit
- JSONata Unit
- XSLT Unit
- Store Operations:
- Key-Value
- Documents
- Database
- Click on any of the sections to expand them. The corresponding flow units get displayed.
- These units can be dragged and dropped into the flow diagram to modify the flow.
1. General
- Units in this category control flow logic. They manage decisions, loops, and process structure.
- Click on the section to expand it. The following units are available under this section:
- Decision/For-Each Unit
- Repeat Until Unit
1.1 Decision/For-Each Unit
- Purpose:
- The Decision/ForEach Unit is a control-flow component in the Flow Designer that enables conditional execution and iteration within an automation flow. The decision function evaluates defined conditions and routes the flow based on true/false outcomes. The For-Each function goes through every item in a list one by one and runs the set of steps you’ve defined for each item.
- How it works:
- The flow checks a Boolean condition (e.g.,
if X > 10).
- Based on the result:
- True path → Executes one branch.
- False path → Executes another branch.
- Use case:
- If the customer's age ≥ 18, proceed to payment; otherwise, display an error message.
- Visual Representation:
1.2 Repeat Until
- Purpose:
- The Repeat Until Unit runs a set of steps repeatedly until a specific condition is met. It keeps looping while the condition is false and stops automatically when the condition becomes true.
- How it works:
- The loop starts unconditionally (it always runs at least once).
- After each iteration, it checks the condition.
- If the condition is met, the loop stops; otherwise, it repeats.
- Use Case:
- Repeat sending a request until the server responds with success.
- Condition: response == success.
- Visual Representation:
2. Calls
- These units communicate with external systems or services. They send or receive data outside the flow that belongs here.
- Click on the section to expand it. The following units are available under this section:
- System Call Unit
- Expansion Call Unit
- HTTP Call Unit
- FTP Call Unit
2.1 System Call Unit
- Purpose: The System Call Unit is an action unit in the Flow Editor/Designer that enables you to invoke internal system-level services or platform operations during execution. This unit is used to perform predefined system actions, retrieve system data, or trigger platform functionalities that are not exposed through external connectors.
- What it does:
- Executes a system-level command or invokes an API provided by the OS.
- Common actions include:
- Reading/writing files.
- Executing shell commands.
- Accessing environment variables.
- Interacting with hardware or system resources.
- How it works:
- Trigger Point in Flow:
- When the process reaches the System Call Unit, it pauses the normal flow and executes a predefined system-level command or script.
- Command Execution:
- The unit sends a request to the OS or system API.
- This could be:
- A shell command (ls, mkdir, rm).
- A script (.sh, .bat, PowerShell).
- An executable or binary.
- Input/Output Handling:
- Input: Parameters passed from the workflow (e.g., file path, environment variables).
- Output: Captures the result (success/failure, return code, or output text) and makes it available for the next steps in the flow.
- Error Handling:
- If the system call fails (e.g., permission denied, file not found), the unit can:
- Retry.
- Branch to an error-handling path.
- Log the error for debugging.
- Common Use case:
- Calling a REST API to fetch data.
- Triggering a microservice or external script.
- Executing a command-line utility from the workflow.
- Automation: Run a script on the server (bash, PowerShell).
- File Management: Move or delete files in a directory.
- Integration: Call an external executable or system utility.
- Visual Representation:
2.2 Expansion Call Unit
- Purpose: The Expansion Call Unit is an action unit in the Flow Editor/Designer that allows a flow to invoke extension or expansion services to perform advanced, customizable, or domain-specific operations beyond core system capabilities. This unit is used to call externally defined expansion logic or add-on services that extend the application’s functionality.
- What it does:
- Takes an input object (like a document, a collection, or a structured dataset).
- Expands it into smaller units or elements so that each can be processed individually.
- Often used before a For-Each Unit, because once expanded, you can iterate over the individual parts.
- How it works:
- Input: A complex entity (e.g., a document with multiple sections, a ZIP file with multiple files, or a JSON with nested arrays).
- Expansion: Breaks down the entity into its components:
- Pages of a document.
- Files inside a folder or archive.
- Records inside a dataset.
- Output: A list or collection of items that can be passed to subsequent steps (like For-Each).
- Use case:
- Document Processing: Expand a PDF into individual pages for OCR.
- Data Pipelines: Expand a JSON array into individual records for transformation.
- Batch Operations: Expand a ZIP archive into separate files for upload.
- Visual Representation:
2.3 HTTP Call Unit
- Purpose: An HTTP Call Unit in a flow diagram is used to make HTTP requests to external services or APIs as part of your workflow. It’s a way to integrate your process with web-based systems.
- What it does:
- Sends an HTTP request (GET, POST, PUT, DELETE, etc.) to a specified URL.
- Receives the response (status code, headers, body) and passes it to the next step in the flow.
- How it works:
- Configure Request:
- Method: GET, POST, PUT, DELETE.
- URL: Endpoint of the API or service.
- Headers: Authentication tokens, content type, etc.
- Body: Data payload (for POST/PUT).
- Execute Call:
- The unit sends the request over the network.
- Waits for the response from the server.
- Handle Response:
- Captures status code (e.g., 200 OK, 404 Not Found).
- Parses response body (JSON, XML, text).
- Stores or passes data to the next steps.
- Error Handling:
- Retry on failure.
- Branch based on status code (e.g., success vs. error).
- Use case:
- Document Workflow: Call an OCR API to process a scanned document.
- Integration: Send data to a REST API for storage or analytics.
- Notification: Trigger a webhook to alert another system.
- Visual Representation:
2.4 FTP Call Unit
- Purpose: The FTP Call Unit is an action unit in the Flow Editor/Designer that enables a flow to connect to an FTP/SFTP server to perform file-based operations during execution. This unit allows automation flows to securely transfer, retrieve, or manage files between the platform and external file servers.
- What it does:
- Connects to an FTP server using credentials (host, username, password).
- Executes file operations such as:
- Upload files from the local system to the FTP server.
- Download files from the FTP server to the local system.
- List files in a directory.
- Delete or move files on the server.
- How it works:
- Configuration:
- FTP server address (e.g., ftp://example.com).
- Authentication details (username, password, or secure token).
- Optional: Port number, passive/active mode.
- Action Selection:
- Choose operation: Upload, Download, List, Delete.
- Execution:
- Establishes a connection to the FTP server.
- Performs the selected operation.
- Returns status (success/failure) and optionally file metadata.
- Error Handling:
- Handles network issues, authentication failures, or missing files.
- Can retry or branch to the error-handling step.
- Use case:
- Document Workflow: Upload processed documents to an FTP server for archival.
- Integration: Download input files from an FTP server for further processing.
- Batch Jobs: Move files from FTP to cloud storage.
- Visual Representation:

3. Delegate
- These units invoke reusable components or trigger other flows. They act as a connector to another workflow component or sub-process. Passes input data from the main flow to the delegated component. Waits for the delegated component to finish, then returns the output data to the main flow.
- Click on the section to expand it. The following units are available under this section:
- Component Unit
- Automation Unit
- Flow Unit
- Queue Unit
3.1 Component Unit
- Purpose: A Component Unit in a flow diagram represents a self-contained, reusable block of logic that performs a specific task. You can reuse it whenever needed within a larger process, much like using a pre-built piece in a puzzle.
- What it does:
- Calls another reusable component or subflow.
- Encapsulates a set of steps or logic into a single unit.
- Can be reused across multiple flows.
- Accepts input parameters and returns output results.
- How it works:
- Definition:
- A component is created separately with its own flow logic.
- It is designed to perform a specific task (e.g., validating data or processing a document).
- Invocation:
- The main flow calls the Component Unit.
- Passes required inputs (e.g., document ID, user info).
- Waits for the component to finish and return outputs.
- Benefits:
- Modularity: Breaks complex workflows into smaller, manageable pieces.
- Reusability: Common tasks can be reused without duplication.
- Maintainability: Easier to update one component than multiple flows.
- Use case:
- Document Workflow: A component for OCR processing.
- Integration: A component for API authentication.
- Business Logic: A component for invoice validation.
- Visual Representation:
3.2 Automation Unit
- Purpose: An Automation Unit in a flow diagram represents a step where the workflow performs an automated action without manual intervention. It’s designed to execute predefined tasks using scripts, bots, or automation services.
- What it does:
- It triggers an automated action without manual intervention.
- Executes repetitive or rule-based tasks automatically.
- Can interact with:
- Applications (e.g., ERP, CRM).
- Files and folders (move, rename, delete).
- APIs (send/receive data).
- System commands (run scripts).
- How it works:
- Trigger: The flow reaches the Automation Unit.
- Action Execution:
- Runs a script or automation logic (e.g., RPA bot, macro).
- Uses configured inputs (file paths, credentials, parameters).
- Output Handling:
- Returns success/failure status.
- Passes processed data to the next step.
- Error Handling:
- Retry or branch to error-handling logic if automation fails.
- Use case:
- Document Workflow: Automatically convert files to PDF.
- Data Processing: Extract data from spreadsheets and upload to a database.
- System Tasks: Schedule backups or clean temporary files.
- Visual Representation:
3.3 Flow Unit
- Purpose: A Flow Unit in a flow diagram is the basic building block that represents a single step or action in a process. It’s the smallest executable element in a workflow and defines what happens at that point in the flow.
- What it does:
- Represents one logical operation in the process.
- Can perform:
- Data transformation.
- Decision-making.
- External calls (API, FTP, HTTP).
- Automation tasks.
- Connects to other units to form a complete workflow.
- Use case:
- Each Flow Unit handles one specific task.
- Accepts inputs and produces outputs.
- Visual Representation:
3.4 Queue Unit
- Purpose: A Queue Unit in a flow diagram manages asynchronous processing by placing transactional messages into a queue for later handling. This unit helps to process where messages need to be processed in sequence or by different systems.
- What it does:
- Adds items to a queue for background or deferred processing.
- Allows decoupling between the main flow and downstream tasks.
- Supports load balancing and parallel processing.
- How it works:
- Input: The main flow generates a message or data packet (e.g., document ID, payload).
- Queue Operation:
- Pushes the item into a queue (e.g., message queue, job queue).
- The queue can be in systems like RabbitMQ, Azure Service Bus, AWS SQS, or internal workflow queues.
- Downstream Processing: Another process or worker pulls items from the queue and processes them asynchronously.
- Benefits:
- Improves scalability.
- Handles spikes in workload.
- Ensures reliability (items stay in the queue until processed).
- Use case:
- Document Workflow: Queue documents for OCR processing by background workers.
- Integration: Queue API requests for batch processing.
- Event Handling: Queue notifications for asynchronous delivery.
- Visual Representation:

- Units here convert data from one form or structure to another. They handle mapping, transformation languages, or custom code to shape data.
- Click on the section to expand it. The following units are available under this section:
- Mapping Unit
- Java Class Unit
- JSONata Unit
- XSLT Unit
4.1 Mapping Unit
- Purpose: The Mapping Unit is an action unit in the Flow Editor/Designer that enables a flow to transform, map, and structure data between different formats or schemas during execution.
- What it does:
- Converts input data into the required output format.
- Maps fields between:
- Different data models (e.g., JSON → XML).
- Different systems (e.g., ERP → CRM).
- Can apply transformations (e.g., rename fields, change data types, apply formulas).
- How it works:
- Input: Data from a previous step (e.g., API response, database record).
- Mapping Logic:
- Define source fields and target fields.
- Apply transformations if needed (e.g., amount * 1.18 for tax).
- Output: Structured data ready for the next unit (e.g., HTTP Call, Component Unit).
- Use case:
- API Integration: Map fields from an external API response to your internal schema.
- Document Workflow: Map extracted OCR data to a standardized format.
- Data Migration: Convert legacy system data to the new system format.
- Visual Representation:
4.2 Java Class Unit
- Purpose: A Java Class Unit in a flow diagram represents a step where the workflow invokes custom Java logic packaged as a class. This is commonly used to extend the functionality of built-in units by writing Java code. This unit allows developers to integrate custom-built Java classes into automation flows to perform advanced processing, validation, or business logic that cannot be handled through standard flow units.
- What it does:
- Executes custom business logic written in Java.
- Allows developers to:
- Perform complex calculations.
- Integrate with external libraries.
- Implement custom transformations or validations.
- How it works:
- Configuration:
- Specify the Java class name and method to call.
- Provide input parameters from the flow.
- Define expected output variables.
- Execution:
- The flow engine loads the Java class (usually from a JAR or classpath).
- Invokes the specified method with mapped inputs.
- Captures the return value and passes it to the next unit.
- Benefits:
- Flexibility: Add logic that is not available in standard units.
- Reusability: Use the same Java class across multiple flows.
- Performance: Java code runs natively, often faster than scripting.
- Use case:
- Document Workflow: Custom parsing of metadata from documents.
- Integration: Apply encryption/decryption using Java libraries.
- Business Logic: Validate invoice data with complex rules.
- Visual Representation:
4.3 JSONata Unit
- Purpose: The JSONata Unit is an action unit in the Flow Editor/Designer that enables a flow to query, transform, and manipulate JSON data using JSONata expression language. This unit lets you convert data without writing custom code, making it ideal for handling complex JSON structures.
- What it does:
- Applies JSONata expressions to:
- Extract specific fields from JSON.
- Transform JSON into a new structure.
- Perform calculations or conditional logic on JSON data.
- Outputs the transformed JSON for the next step in the flow.
- How it works:
- Input: JSON data from a previous step (e.g., API response, document metadata).
- Expression: Define a JSONata expression (e.g., Account.Order.Product.(Price * Quantity)).
- Execution: The unit evaluates the expression against the input JSON.
- Output: Returns the transformed or filtered JSON.
- Use case:
- API Integration: Extract only required fields from a large JSON response.
- Data Mapping: Convert nested JSON into a flat structure for easier processing.
- Business Logic: Calculate totals or apply conditions within JSON data.
- Visual Representation:
4.4 XSLT Unit
- Purpose: The XSLT Unit is an action unit in the Flow Editor/Designer that enables you to transform XML data using XSLT (Extensible Stylesheet Language Transformations) during execution. It allows complex XML transformations, mappings, and restructuring to be performed efficiently using standardized XSLT templates.
- What it does:
- Applies an XSLT stylesheet to an XML input.
- Produces a transformed output (XML, HTML, or text).
- Enables complex data restructuring, filtering, and formatting.
- How it works:
- Input: XML data from a previous step (e.g., API response, document metadata)
- XSLT Stylesheet: Defines transformation rules (match patterns, templates).
- Execution: The XSLT processor applies the stylesheet to the XML.
- Output: Transformed data ready for the next unit (e.g., Mapping Unit, HTTP Call).
- Use case:
- Document Workflow: Convert XML-based invoice data into a standardized XML schema.
- Integration: Transform XML from one system to match another system’s format.
- Presentation: Convert XML into HTML for display.
- Visual Representation:

XSLT Unit Properties
- Click on the
5. Store Operations
- These units perform data persistence and retrieval. They interact with internal or external data stores.
- Click on the section to expand it. The following units are available under this section:
- Key-Value Unit
- Documents
- Database
5.1 Key-Value
- Purpose: A Key-Value Unit in a flow diagram is used to read/write, store, retrieve, or manipulate data in a key-value format within a workflow. This is especially useful for passing dynamic data between steps or maintaining state during execution.
- What it does:
- Creates or updates key-value pairs (like a dictionary or map).
- Allows other units in the flow to reference these keys for input/output.
- Can be used for:
- Temporary storage of variables.
- Mapping dynamic values for API calls or transformations.
- Maintaining context across multiple steps.
- How it works:
- Input: You define keys and assign values (static or dynamic from previous steps).
- Storage: The unit holds these pairs in memory for the duration of the flow.
- Access: Other units can reference keys using expressions (e.g., {{keyName}}).
- Update: Keys can be overwritten or new ones added as the flow progresses.
- Use case:
- API Integration: Store authentication token as token = "abc123" for later HTTP calls.
- Document Workflow: Save extracted metadata, such as docType = "Invoice".
- Dynamic Mapping: Maintain user-specific settings during a session.
- Visual Representation:
5.2 Documents
- Purpose: A Documents Unit in a flow diagram handles document-related operations within a workflow. It’s commonly used to store or retrieve document-style records such as JSON or XML documents.
- What it does:
- Manages document objects in the workflow.
- Provides actions such as:
- Create a new document.
- Retrieve an existing document.
- Update document metadata or content.
- Delete a document.
- Often interacts with a document repository or content management system (CMS).
- How it works:
- Input: Document ID, file path, or metadata from previous steps.
- Action Selection:
- Create: Upload or generate a document.
- Read: Fetch document details or content.
- Update: Modify metadata or replace content.
- Delete: Remove document from storage.
- Output: Document object or status (success/failure) for next steps.
- Use case:
- Document Workflow: Fetch a scanned invoice for OCR processing.
- Integration: Store generated reports in a document repository.
- Compliance: Update metadata for audit tracking.
- Visual Representation:
5.3 Database
- Purpose: A Database Unit in a flow diagram interacts with a database as part of the workflow. It allows the process to perform structured operations such as reading, writing, updating, or deleting data.
- What it does:
- Connects to a database system (SQL or NoSQL).
- Executes queries or commands to manipulate data.
- Returns results for use in subsequent steps.
- How it works:
- Configuration:
- Database type (e.g., MySQL, PostgreSQL, Oracle, MongoDB).
- Connection details (host, port, username, password).
- Optional: Connection pooling, timeout settings.
- Action Selection:
- Read: Fetch data using SELECT or equivalent.
- Write: Insert or update records.
- Delete: Remove records.
- Execute Procedure: Call stored procedures or functions.
- Execution:
- Sends the query to the database.
- Receives the result set or status.
- Passes data to the next unit (e.g., Mapping Unit, Decision Unit).
- Error Handling:
- Handles connection failures, query errors, or timeouts.
- Can branch to error-handling logic.
- Use case:
- Document Workflow: Fetch metadata from a database before processing a document.
- Integration: Store API response data in a database.
- Reporting: Retrieve records for generating reports.
- Visual Representation:

Related Articles
Know Your Flow Editor
Overview Flow Editor is a visual tool for creating, organizing, and controlling workflows that link various systems, applications, and data sources. It offers a drag-and-drop feature with pre-made flow units to define data movement, integration ...
Edit Component Flow
Overview The flow editor feature in OneEnterprise enables you to visually modify and refine component flow through an intuitive interface. This functionality permits direct interaction with the flow structure of the component. The flow editor offers ...
Edit Automation Flow
Overview The flow editor feature in OneEnterprise enables users to visually modify and refine automation workflows through an intuitive interface. This functionality permits direct interaction with the structure of an automation, allowing review of ...
Testing and Debugging Automation Flow
Overview The Flow Debugger in OneEnterprise is an integral feature of Flow Designer, facilitating testing and troubleshooting of flows before deployment. This functionality allows you to execute a flow sequentially, enabling a comprehensive ...
Overview of the Design Module
Overview The Design module is a comprehensive platform that empowers you to craft your own connectors and automation processes. This unified environment is specifically designed to facilitate the creation of automated workflows and the development of ...