Reference Draft

Reference Draft


Overview

A Flow Unit is a configurable, reusable building block in 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 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.
Image

Trigger Units

The trigger units are always the second unit in any flow. This is the triggering point of any flow. The following trigger units are supported:
  1. Timer - Triggers the flow at a scheduled time or at recurring intervals.
  2. Queue - Initiates the flow when a message is received in a queue.
  3. Subscription - Triggers the flow based on subscribed events or notifications.
  4. HTTP - Starts the flow when an HTTP request is received.
Image

Timer Trigger

The Timer unit executes the flow according to a defined schedule, including one-time and recurring time-based triggers. To view and modify the unit name, description, and other properties, click on the unit.

Detail Tab

  1. By default, the Details tab will be shown.
  2. The tab will display the Name and Description fields, and the default name and description will appear in them.
  3. However, you can modify the unit's name and description as needed.
  4. The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field has no limitations.
Image

Design Tab

  1. Click the Design tab.
  2. The screen displays the Trigger section with the selected trigger. In this case, the Timer is displayed.
  3. Expand the section by clicking the accordion. The Event field drop-down appears.
  4. By default, the Timer is selected in the field.
  5. You can choose any other trigger from the drop-down. If you select a different trigger, you need to save the change to apply it.
Image

Queue Trigger

The queue unit initiates flow execution upon message arrival in a configured queue, enabling asynchronous processing. To view and modify the unit name, description, and other properties, click on the unit.

Detail Tab

  1. By default, the Details tab will be shown.
  2. The tab will display the Name and Description fields, and the default name and description will appear in them.
  3. However, you can modify the unit's name and description as needed.
  4. The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field has no limitations.
Image

Design Tab

  1. Click the Design tab.
  2. The screen displays the Trigger and Message Handling sections. Expand the section by clicking the accordion. The respective fields will be displayed:
    1. Trigger Section:
      1. The Trigger section will display the Queue at the end of the band. 
      2. Once the section is expanded, the Event field gets displayed.
      3. By default, the Queue is selected in the field.
      4. You can choose any other trigger from the drop-down. If you select a different trigger, you need to save the change to apply it.
    2. Message Handling section:
      1. Once the section is expanded, the Event field gets displayed.
  3. ss
Image

Subscription Trigger

The subscription unit triggers the flow in response to subscribed system or external events, supporting event-based integrations. To view and modify the unit name, description, and other properties, click on the unit.

Detail Tab

  1. By default, the Details tab will be shown.
  2. The tab will display the Name and Description fields, and the default name and description will appear in them.
  3. However, you can modify the unit's name and description as needed.
  4. The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field has no limitations.
Image

Design Tab

  1. Click the Design tab.
  2. The screen displays the Trigger section with the selected trigger. In this case, the Subscription is displayed.
  3. Expand the section by clicking the accordion. The Event field drop-down appears.
  4. By default, the Subscription field is selected.
  5. You can choose any other trigger from the drop-down. If you select a different trigger, you need to save the change to apply it.
Image

HTTP Trigger

The HTTP unit exposes the flow as an HTTP endpoint and triggers execution when an inbound HTTP request is received. To view and modify the unit name, description, and other properties, click on the unit.

Detail Tab

  1. By default, the Details tab will be shown.
  2. The tab will display the Name and Description fields, and the default name and description will appear in them.
  3. However, you can modify the unit's name and description as needed.
  4. The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field has no limitations.
Image

Design Tab

  1. Click the Design tab.
  2. The screen displays the Trigger section with the selected trigger. In this case, the HTTP is displayed.
  3. Expand the section by clicking the accordion. The Event field drop-down appears.
  4. By default, HTTP is selected in the field.
  5. You can choose any other trigger from the drop-down. If you select a different trigger, you need to save the change to apply it.
Image

Configurable Units

The configurable flow units are provided under the Flow Unit section and categorized into subsections:
  1. General:
    1. Decision/For-Each Unit
    2. Repeat Until
  2. Calls:
    1. System Call Unit
    2. HTTP Call Unit
    3. FTP Call Unit
  3. Delegate:
    1. Component Unit
    2. Automation Unit
    3. Flow Unit
    4. Queue Unit
  4. Trasformation:
    1. Mapping Unit
    2. Java Class Unit
    3. JSONata Unit
    4. XSLT Unit
  5. Store Operations:
    1. Key-Value
    2. Documents
    3. 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.



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 next unit of the flow.

Accessing Start Unit Properties

  1. The Start unit is the first unit of any flow. By default, the unit is present and cannot be deleted. However, you can modify its properties.
  2. To view/modify the unit property, click on the Start unit. Upon clicking the unit, a property panel opens below, and the unit gets highlighted.
  3. 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, as other units might.
  4. 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

  1. By default, the Port Assignment tab will open.
  2. It provides information about the system attached to the automation.
  3. The section shows two columns:
    1. The first column (left) provides the system's port information. This indicates which system is involved in the automation.
    2. 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. 


Assign System to Automation

This section explains how to add systems to your automation.


User Settings Tab




Test Message Tab




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

  1. To view the unit property, click on the End unit. Upon clicking the unit, a property panel opens below.
  2. 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.
  3. 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
  1. By default, the Details tab will be shown.
  2. The tab will display the Name and Description fields, and the default name and description will appear in them.
  3. However, you can modify the unit's name and description as needed.
  4. The Name field supports 50 characters, letters, digits, dots, hyphens, and underscores. Whereas the Description field does not have any limitations.

Design Tab
  1. Click on the Design tab to switch to the Design tab.
  2. You can view the flow's final outputs in this section, which may be one or many. 
  3. Each output is shown in a separate band, along with its name and the unit that generated it. 
  4. You can select any output to expose it as the flow's final output.
  5. To set an output as the final flow output, click on the respective band. The selected band will be highlighted.
  6. 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

  1. The configurable flow units are provided under the Flow Unit section and categorized into subsections:
    1. General:
      1. Decision/For-Each Unit
      2. Repeat Until
    2. Calls:
      1. System Call Unit
      2. Expansion Call Unit
      3. HTTP Call Unit
      4. FTP Call Unit
    3. Delegate:
      1. Component Unit
      2. Automation Unit
      3. Flow Unit
      4. Queue Unit
    4. Trasformation:
      1. Mapping Unit
      2. Java Class Unit
      3. JSONata Unit
      4. XSLT Unit
    5. Store Operations:
      1. Key-Value
      2. Documents
      3. Database
  2. Click on any of the sections to expand them. The corresponding flow units get displayed.
  3. These units can be dragged and dropped into the flow diagram to modify the flow.


1. General

  1. Units in this category control flow logic. They manage decisions, loops, and process structure.
  2. Click on the section to expand it. The following units are available under this section:
    1. Decision/For-Each Unit
    2. Repeat Until Unit

1.1 Decision/For-Each Unit

  1. Purpose:
    1. 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.
  2. How it works:
    1. The flow checks a Boolean condition (e.g., if X > 10).
    2. Based on the result:
      1. True path → Executes one branch.
      2. False path → Executes another branch.
  3. Use case:
    1. If the customer's age ≥ 18, proceed to payment; otherwise, display an error message.
  4. Visual Representation:

1.2 Repeat Until

  1. Purpose:
    1. 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.
  2. How it works:
    1. The loop starts unconditionally (it always runs at least once).
    2. After each iteration, it checks the condition.
    3. If the condition is met, the loop stops; otherwise, it repeats.
  3. Use Case:
    1. Repeat sending a request until the server responds with success.
    2. Condition: response == success.
  4. Visual Representation:

2. Calls

  1. These units communicate with external systems or services. They send or receive data outside the flow that belongs here.
  2. Click on the section to expand it. The following units are available under this section:
    1. System Call Unit
    2. Expansion Call Unit
    3. HTTP Call Unit
    4. FTP Call Unit

2.1 System Call Unit

  1. 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.
  2. What it does: 
    1. Executes a system-level command or invokes an API provided by the OS.
    2. Common actions include:
      1. Reading/writing files.
      2. Executing shell commands.
      3. Accessing environment variables.
      4. Interacting with hardware or system resources.
  3. How it works:
    1. Trigger Point in Flow:
      1. When the process reaches the System Call Unit, it pauses the normal flow and executes a predefined system-level command or script.
    2. Command Execution:
      1. The unit sends a request to the OS or system API.
      2. This could be:
        1. A shell command (ls, mkdir, rm).
        2. A script (.sh, .bat, PowerShell).
        3. An executable or binary.
    3. Input/Output Handling:
      1. Input: Parameters passed from the workflow (e.g., file path, environment variables).
      2. Output: Captures the result (success/failure, return code, or output text) and makes it available for the next steps in the flow.
    4. Error Handling:
      1. If the system call fails (e.g., permission denied, file not found), the unit can:
        1. Retry.
        2. Branch to an error-handling path.
        3. Log the error for debugging.
  4. Common Use case:
    1. Calling a REST API to fetch data.
    2. Triggering a microservice or external script.
    3. Executing a command-line utility from the workflow.
    4. Automation: Run a script on the server (bash, PowerShell).
    5. File Management: Move or delete files in a directory.
    6. Integration: Call an external executable or system utility.
  5. Visual Representation:

2.2 Expansion Call Unit

  1. 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.
  2. What it does:
    1. Takes an input object (like a document, a collection, or a structured dataset).
    2. Expands it into smaller units or elements so that each can be processed individually.
    3. Often used before a For-Each Unit, because once expanded, you can iterate over the individual parts.
  3. How it works:
    1. Input: A complex entity (e.g., a document with multiple sections, a ZIP file with multiple files, or a JSON with nested arrays).
    2. Expansion: Breaks down the entity into its components:
      1. Pages of a document.
      2. Files inside a folder or archive.
      3. Records inside a dataset.
    3. Output: A list or collection of items that can be passed to subsequent steps (like For-Each).
  4. Use case:
    1. Document Processing: Expand a PDF into individual pages for OCR.
    2. Data Pipelines: Expand a JSON array into individual records for transformation.
    3. Batch Operations: Expand a ZIP archive into separate files for upload.
  5. Visual Representation:

2.3 HTTP Call Unit

  1. 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.
  2. What it does:
    1. Sends an HTTP request (GET, POST, PUT, DELETE, etc.) to a specified URL.
    2. Receives the response (status code, headers, body) and passes it to the next step in the flow.
  3. How it works:
    1. Configure Request:
      1. Method: GET, POST, PUT, DELETE.
      2. URL: Endpoint of the API or service.
      3. Headers: Authentication tokens, content type, etc.
      4. Body: Data payload (for POST/PUT).
    2. Execute Call:
      1. The unit sends the request over the network.
      2. Waits for the response from the server.
    3. Handle Response:
      1. Captures status code (e.g., 200 OK, 404 Not Found).
      2. Parses response body (JSON, XML, text).
      3. Stores or passes data to the next steps.
    4. Error Handling:
      1. Retry on failure.
      2. Branch based on status code (e.g., success vs. error).
  4. Use case:
    1. Document Workflow: Call an OCR API to process a scanned document.
    2. Integration: Send data to a REST API for storage or analytics.
    3. Notification: Trigger a webhook to alert another system.
  5. Visual Representation:

2.4 FTP Call Unit

  1. 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.
  2. What it does:
    1. Connects to an FTP server using credentials (host, username, password).
    2. Executes file operations such as:
      1. Upload files from the local system to the FTP server.
      2. Download files from the FTP server to the local system.
      3. List files in a directory.
      4. Delete or move files on the server.
  3. How it works:
    1. Configuration:
      1. FTP server address (e.g., ftp://example.com).
      2. Authentication details (username, password, or secure token).
      3. Optional: Port number, passive/active mode.
    2. Action Selection:
      1. Choose operation: Upload, Download, List, Delete.
    3. Execution:
      1. Establishes a connection to the FTP server.
      2. Performs the selected operation.
      3. Returns status (success/failure) and optionally file metadata.
    4. Error Handling:
      1. Handles network issues, authentication failures, or missing files.
      2. Can retry or branch to the error-handling step.
  4. Use case:
    1. Document Workflow: Upload processed documents to an FTP server for archival.
    2. Integration: Download input files from an FTP server for further processing.
    3. Batch Jobs: Move files from FTP to cloud storage.
  5. Visual Representation:


3. Delegate

  1. 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.
  2. Click on the section to expand it. The following units are available under this section:
    1. Component Unit
    2. Automation Unit
    3. Flow Unit
    4. Queue Unit

3.1 Component Unit

  1. 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.
  2. What it does:
    1. Calls another reusable component or subflow.
    2. Encapsulates a set of steps or logic into a single unit.
    3. Can be reused across multiple flows.
    4. Accepts input parameters and returns output results.
  3. How it works:
    1. Definition:
      1. A component is created separately with its own flow logic.
      2. It is designed to perform a specific task (e.g., validating data or processing a document).
    2. Invocation:
      1. The main flow calls the Component Unit.
      2. Passes required inputs (e.g., document ID, user info).
      3. Waits for the component to finish and return outputs.
    3. Benefits:
      1. Modularity: Breaks complex workflows into smaller, manageable pieces.
      2. Reusability: Common tasks can be reused without duplication.
      3. Maintainability: Easier to update one component than multiple flows.
  4. Use case:
    1. Document Workflow: A component for OCR processing.
    2. Integration: A component for API authentication.
    3. Business Logic: A component for invoice validation.
  5. Visual Representation:

3.2 Automation Unit

  1. 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.
  2. What it does:
    1. It triggers an automated action without manual intervention.
    2. Executes repetitive or rule-based tasks automatically.
    3. Can interact with:
      1. Applications (e.g., ERP, CRM).
      2. Files and folders (move, rename, delete).
      3. APIs (send/receive data).
      4. System commands (run scripts).
  3. How it works:
    1. Trigger: The flow reaches the Automation Unit.
    2. Action Execution:
      1. Runs a script or automation logic (e.g., RPA bot, macro).
      2. Uses configured inputs (file paths, credentials, parameters).
    3. Output Handling:
      1. Returns success/failure status.
      2. Passes processed data to the next step.
    4. Error Handling:
      1. Retry or branch to error-handling logic if automation fails.
  4. Use case:
    1. Document Workflow: Automatically convert files to PDF.
    2. Data Processing: Extract data from spreadsheets and upload to a database.
    3. System Tasks: Schedule backups or clean temporary files.
  5. Visual Representation:

3.3 Flow Unit

  1. 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.  
  2. What it does:
    1. Represents one logical operation in the process.
    2. Can perform:
      1. Data transformation.
      2. Decision-making.
      3. External calls (API, FTP, HTTP).
      4. Automation tasks.
    3. Connects to other units to form a complete workflow.
  3. Use case:
    1. Each Flow Unit handles one specific task.
    2. Accepts inputs and produces outputs.
  4. Visual Representation:

3.4 Queue Unit

  1. Purpose: 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.
  2. What it does:
    1. Adds items to a queue for background or deferred processing.
    2. Allows decoupling between the main flow and downstream tasks.
    3. Supports load balancing and parallel processing.
  3. How it works:
    1. Input: The main flow generates a message or data packet (e.g., document ID, payload).
    2. Queue Operation:
      1. Pushes the item into a queue (e.g., message queue, job queue).
      2. The queue can be in systems like RabbitMQ, Azure Service Bus, AWS SQS, or internal workflow queues.
    3. Downstream Processing: Another process or worker pulls items from the queue and processes them asynchronously.
    4. Benefits:
      1. Improves scalability.
      2. Handles spikes in workload.
      3. Ensures reliability (items stay in the queue until processed).
  4. Use case:
    1. Document Workflow: Queue documents for OCR processing by background workers.
    2. Integration: Queue API requests for batch processing.
    3. Event Handling: Queue notifications for asynchronous delivery.
  5. Visual Representation:


4. Transformation

  1. Units here convert data from one form or structure to another. They handle mapping, transformation languages, or custom code to shape data.
  2. Click on the section to expand it. The following units are available under this section:
    1. Mapping Unit
    2. Java Class Unit
    3. JSONata Unit
    4. XSLT Unit

4.1 Mapping Unit

  1. 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.
  2. What it does:
    1. Converts input data into the required output format.
    2. Maps fields between:
      1. Different data models (e.g., JSON → XML).
      2. Different systems (e.g., ERP → CRM).
    3. Can apply transformations (e.g., rename fields, change data types, apply formulas).
  3. How it works:
    1. Input: Data from a previous step (e.g., API response, database record).
    2. Mapping Logic:
      1. Define source fields and target fields.
      2. Apply transformations if needed (e.g., amount * 1.18 for tax).
    3. Output: Structured data ready for the next unit (e.g., HTTP Call, Component Unit).
  4. Use case:
    1. API Integration: Map fields from an external API response to your internal schema.
    2. Document Workflow: Map extracted OCR data to a standardized format.
    3. Data Migration: Convert legacy system data to the new system format.
  5. Visual Representation:

4.2 Java Class Unit

  1. 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.
  2. What it does:
    1. Executes custom business logic written in Java.
    2. Allows developers to:
      1. Perform complex calculations.
      2. Integrate with external libraries.
      3. Implement custom transformations or validations.
  3. How it works:
    1. Configuration:
      1. Specify the Java class name and method to call.
      2. Provide input parameters from the flow.
      3. Define expected output variables.
    2. Execution:
      1. The flow engine loads the Java class (usually from a JAR or classpath).
      2. Invokes the specified method with mapped inputs.
      3. Captures the return value and passes it to the next unit.
    3. Benefits:
      1. Flexibility: Add logic that is not available in standard units.
      2. Reusability: Use the same Java class across multiple flows.
      3. Performance: Java code runs natively, often faster than scripting.
  4. Use case:
    1. Document Workflow: Custom parsing of metadata from documents.
    2. Integration: Apply encryption/decryption using Java libraries.
    3. Business Logic: Validate invoice data with complex rules.
  5. Visual Representation:

4.3 JSONata Unit

  1. 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.
  2. What it does:
    1. Applies JSONata expressions to: 
      1. Extract specific fields from JSON.
      2. Transform JSON into a new structure.
      3. Perform calculations or conditional logic on JSON data.
    2. Outputs the transformed JSON for the next step in the flow.
  3. How it works:
    1. Input: JSON data from a previous step (e.g., API response, document metadata).
    2. Expression: Define a JSONata expression (e.g., Account.Order.Product.(Price * Quantity)).
    3. Execution: The unit evaluates the expression against the input JSON.
    4. Output: Returns the transformed or filtered JSON.
  4. Use case:
    1. API Integration: Extract only required fields from a large JSON response.
    2. Data Mapping: Convert nested JSON into a flat structure for easier processing.
    3. Business Logic: Calculate totals or apply conditions within JSON data.
  5. Visual Representation:

4.4 XSLT Unit

  1. 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.
  2. What it does:
    1. Applies an XSLT stylesheet to an XML input.
    2. Produces a transformed output (XML, HTML, or text).
    3. Enables complex data restructuring, filtering, and formatting.
  3. How it works:
    1. Input: XML data from a previous step (e.g., API response, document metadata)
    2. XSLT Stylesheet: Defines transformation rules (match patterns, templates).
    3. Execution: The XSLT processor applies the stylesheet to the XML.
    4. Output: Transformed data ready for the next unit (e.g., Mapping Unit, HTTP Call).
  4. Use case:
    1. Document Workflow: Convert XML-based invoice data into a standardized XML schema.
    2. Integration: Transform XML from one system to match another system’s format.
    3. Presentation: Convert XML into HTML for display.
  5. Visual Representation:
XSLT Unit Properties
  1. Click on the 



5. Store Operations

  1. These units perform data persistence and retrieval. They interact with internal or external data stores.
  2. Click on the section to expand it. The following units are available under this section:
    1. Key-Value Unit
    2. Documents
    3. Database

5.1 Key-Value

  1. 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.
  2. What it does:
    1. Creates or updates key-value pairs (like a dictionary or map).
    2. Allows other units in the flow to reference these keys for input/output.
    3. Can be used for: 
      1. Temporary storage of variables.
      2. Mapping dynamic values for API calls or transformations.
      3. Maintaining context across multiple steps.
  3. How it works:
    1. Input: You define keys and assign values (static or dynamic from previous steps).
    2. Storage: The unit holds these pairs in memory for the duration of the flow.
    3. Access: Other units can reference keys using expressions (e.g., {{keyName}}).
    4. Update: Keys can be overwritten or new ones added as the flow progresses.
  4. Use case:
    1. API Integration: Store authentication token as token = "abc123" for later HTTP calls.
    2. Document Workflow: Save extracted metadata, such as docType = "Invoice".
    3. Dynamic Mapping: Maintain user-specific settings during a session.
  5. Visual Representation:

5.2 Documents

  1. 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.
  2. What it does:
    1. Manages document objects in the workflow.
    2. Provides actions such as: 
      1. Create a new document.
      2. Retrieve an existing document.
      3. Update document metadata or content.
      4. Delete a document.
    3. Often interacts with a document repository or content management system (CMS).
  3. How it works:
    1. Input: Document ID, file path, or metadata from previous steps.
    2. Action Selection: 
      1. Create: Upload or generate a document.
      2. Read: Fetch document details or content.
      3. Update: Modify metadata or replace content.
      4. Delete: Remove document from storage.
    3. Output: Document object or status (success/failure) for next steps.
  4. Use case:
    1. Document Workflow: Fetch a scanned invoice for OCR processing.
    2. Integration: Store generated reports in a document repository.
    3. Compliance: Update metadata for audit tracking.
  5. Visual Representation:

5.3 Database

  1. 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.
  2. What it does:
    1. Connects to a database system (SQL or NoSQL).
    2. Executes queries or commands to manipulate data.
    3. Returns results for use in subsequent steps.
  3. How it works:
    1. Configuration:
      1. Database type (e.g., MySQL, PostgreSQL, Oracle, MongoDB).
      2. Connection details (host, port, username, password).
      3. Optional: Connection pooling, timeout settings.
    2. Action Selection:
      1. Read: Fetch data using SELECT or equivalent.
      2. Write: Insert or update records.
      3. Delete: Remove records.
      4. Execute Procedure: Call stored procedures or functions.
    3. Execution:
      1. Sends the query to the database.
      2. Receives the result set or status.
      3. Passes data to the next unit (e.g., Mapping Unit, Decision Unit).
    4. Error Handling:
      1. Handles connection failures, query errors, or timeouts.
      2. Can branch to error-handling logic.
  4. Use case:
    1. Document Workflow: Fetch metadata from a database before processing a document.
    2. Integration: Store API response data in a database.
    3. Reporting: Retrieve records for generating reports.
  5. Visual Representation:



Familiarize With Input-Processing-Output Panel

Every unit in the flow diagram works on the basic fundamental concept called the IPO module (Input → Processing → Output). 
  1. Receives Input: Data or signals from a user, another system, or a device.
  2. Processes Data: Applies logic, calculations, or transformations to the input.
  3. Produces Output: Returns the processed result.

View IPO Details of the Unit

  1. To view the IPO details of any unit, click on the unit.

  1. After clicking any unit in the flow, the IPO panel will open.
  2. The panel will display the following sections:
    1. Input
    2. Processing
    3. Output


Input Section

  1. The Input section provides the details on the inbound message, and the following tabs are provided in the section:
    1. Data section: The Data section provides the name of the processed units of the flow. 
    2. Message: The section displays the inbound message of the selected unit. 
    3. Variable: TBD 
  2. The section header displays the section name and an icon to toggle between code view and tree view. To display the inbound message, the section provides the following view modes:
    1. Tree View
    2. Code View
  3. By default, inbound data is displayed in tree view mode. 

Switch Between Code and Tree View

  1. By default, the message will be displayed in Tree View.
  2. The tree view provides the following icons in the toolbar:
    1. Find: This option allows you to find any parameter in the inbound message.
    2. Font: You can set the message font for clearer viewing. The available font size range is from 8 to 24. Select the desired value from the drop-down.

  1. Click on the Switch to Code View icon.

  1. The inbound message gets switched to code view.
  2. Click the icon again to switch back to tree view mode.

Data Section

  1. The section provides the list of units that are processed.
  2. A Search option is also provided to search for the unit name from the list.
  3. You can also arrange the units either in ascending order (A to Z) or descending order (Z to A) using the icon next to the search icon. By default, the units are arranged in ascending order. Click the icon to switch to descending order. Click again to return to the default ascending order.
  4. You can click on any of the units to view data processed by the selected unit.

View/Modify Input Message (Tree View)

  1. You can view the inbound message in tree/code view.
  2. By default, the message will be displayed in tree view.
  3. The tree view provides the following icons in the toolbar:
    1. Find: This option allows you to find any parameter in the inbound message.
    2. Font: You can set the message font for clearer viewing. The available font size range is from 8 to 24. Select the desired value from the drop-down.
  4. If you click on any of the parameters in the inbound message, the corresponding parameter in the outbound message will be highlighted.
  5. You can modify any parameter in the message and click the Save button to save the changes.


View/Modify Inbound Message (Code View)

  1. If you have switched to code view mode, the inbound data will be shown in code.
  2. The code view provides the following icons in the toolbar:
    1. Cut
      1. Function: Removes the selected text or object from its current location and places it on the clipboard.
      2. Use Case: Moving content from one place to another.
    2. Copy:
      1. Function: Copies the selected text or object to the clipboard without removing it from its original location.
      2. Use Case: Duplicating content.
    3. Paste:
      1. Function: Inserts the clipboard content into the current location.
      2. Use Case: Adding previously cut or copied content.
    4. Find:
      1. Function: Searches for specific text or patterns within the document or code.
      2. Use Case: Quickly locating words, phrases, or code snippets.
    5. Replace:
      1. Function: Finds specific text and replaces it with new text.
      2. Use Case: Updating repeated terms or correcting errors throughout a document.
    6. Beautify:
      1. Function: Formats code or text to make it more readable and properly indented.
      2. Use Case: Cleaning up messy code for better readability.
    7. Word Wrap:
      1. Function: Ensures that long lines of text automatically wrap to fit within the visible window without horizontal scrolling.
      2. Use Case: Easier reading and editing of long lines.
    8. Maximize
      1. Function: Expands the editor or window to full screen for better focus and visibility.
      2. Use Case: Working without distractions or seeing more content at once.
  3. If you click on any of the parameters in the inbound message, the corresponding parameter in the outbound message will be highlighted.
  4. You can modify any parameter in the message and click the Save button to save the changes.

Variable Section

  1. The section will display the defined variables. The variables could be global or local.
  2. TBD

 Processing Section

  1. This section explains the data that the system uses to transform the input.
  2. The section provides the following tabs:
    1. Details
    2. Configuration
    3. Design
    4. Processed
  3. By default, the Details tab will open. However, you can switch between the tabs by clicking on them.
  4. Each section is explained in detail in the following sections of this article.

Details Tab

  1. By default, the Details tab is shown on the Processing tab. However, if you are on any other tab, click on the Details tab. The section displays the following fields:
    1. Name:
      1. It provides the name of the processing unit.
      2. You can modify the unit name in this field. Click on the field, and modify the name of the unit.
      3. Once you are done with the modification, click on the Save button provided in the action area of the screen.
    2. Description:
      1. It describes the processing unit.
      2. You can modify the unit's description in this field. Click the field and change the unit's description.
      3. Once you are done with the modification, click on the Save button provided in the action area of the screen.

Configuration Tab

  1. Click the Configuration tab; it becomes active and displays configuration details.
  2. The configuration details may vary from unit to unit. Based on the selected unit, the configurational information will be provided on the screen.
  3. You are allowed to modify any configuration values in any field. The fields could be drop-downs, text boxes, toggle switches, etc.


Design Tab

  1. Click on the Design tab; it becomes active and displays design details.

  1. The Storage field lists the XSLT storage location where the files have been stored.
  2. Click on the drop-down to view the storage location.
  3. You can define any other storage location for the XSLT. You can add multiple design documents to that storage location. 

  1. The XSL Stylesheet field lists the currently used XSLT, which will be displayed in the drop-down.
  2. You can choose any other XSLT to use as a design. Additionally, you can add another design document.

Add New Design

  1. To another XSLT in the list, click on the Add button.

  1. After clicking the Add button, a pop-up will appear.
  2. Enter the name in the name field, and click the Add button.

  1. Once the stylesheet is added, it will be displayed.
  2. Please note that the stylesheet will have the basic XML structure. You can now add any design to the sheet. 

Variable Section

  1. Click on the Variable tab.
  2. TBD


Run Unit and View Output

  1. The Run button is provided in the header. This allows you to run the selected unit individually and view its output data in the Output section.
  2. You can modify its configurations and run the process to view the output. 
  3. Click on the Run button.
  1. The unit processes input data and produces output. 
  2. This allows you to adjust the input for the desired output. Using this option, you can control the production of each process unit.


Output Section

  1. The Output section provides details about the message's output. 
  2. The section header displays the section name and an icon to toggle between code view and tree view. To display the inbound message, the section provides the following view modes:
    1. Tree View
    2. Code View
  3. By default, inbound data is displayed in tree view mode. 

Toolbar

The following action icons must be provided in the toolbar:
  1. Save: TBD 
  2. Find: This option lets you locate any parameter in the outbound message.
  3. Adjust Font Size: You can set the message font for clearer viewing. The available font size range is from 8 to 72. Select the desired value from the drop-down.

Switch Between Code and Tree View

  1. By default, the message will be displayed in Tree View.
  2. The tree view provides the following icons in the toolbar:
    1. Find: This option lets you locate any parameter in the outbound message.
    2. Font: You can set the message font for clearer viewing. The available font size range is from 8 to 72. Select the desired value from the drop-down.

  1. Click on the Switch to Code View icon.

  1. The message gets switched to code view.
  2. Click the icon again to switch back to tree view mode.


Toolbar

  1. If you have switched to code view mode, the output data will be shown in code.
  2. The code view provides the following icons in the toolbar:
    1. Cut
      1. Function: Removes the selected text or object from its current location and places it on the clipboard.
      2. Use Case: Moving content from one place to another.
    2. Copy:
      1. Function: Copies the selected text or object to the clipboard without removing it from its original location.
      2. Use Case: Duplicating content.
    3. Paste:
      1. Function: Inserts the clipboard content into the current location.
      2. Use Case: Adding previously cut or copied content.
    4. Find:
      1. Function: Searches for specific text or patterns within the document or code.
      2. Use Case: Quickly locating words, phrases, or code snippets.
    5. Replace:
      1. Function: Finds specific text and replaces it with new text.
      2. Use Case: Updating repeated terms or correcting errors throughout a document.
    6. Beautify:
      1. Function: Formats code or text to make it more readable and properly indented.
      2. Use Case: Cleaning up messy code for better readability.
    7. Word Wrap:
      1. Function: Ensures that long lines of text automatically wrap to fit within the visible window without horizontal scrolling.
      2. Use Case: Easier reading and editing of long lines.
    8. Maximize
      1. Function: Expands the editor or window to full screen for better focus and visibility.
      2. Use Case: Working without distractions or seeing more content at once.


Start Editing the Flow

  1. Navigate to Design > Automation Designer > Menu > Edit.
  2. Click on the Flow band.

  1. After clicking the band, the flow designer opens, where you can review and modify the flow.
  2. The flow unit represents the flow on the screen, and each unit represents a specific process.

Available Toolbar Options

  1. A toolbar is provided to improve the flow's usability, and the following action items are available in the toolbar:
    1. Reset: Restores the flow or view to its default state, clearing any zoom, pan, or temporary changes.
    2. Undo/redo:
      1. Undo: Reverts the last action performed.
      2. Redo: Re-applies an action that was undone.
    3. Zoom in/zoom out, reset zoom:
      1. Zoom In: Magnifies the view for a closer look.
      2. Zoom Out: Shrinks the view to see more of the flow.
      3. Reset Zoom: Returns the zoom level to the default (usually 100%).
    4. Fit to screen: Adjusts the zoom and position so the entire flow diagram fits within the screen's visible area.
    5. Collapse all Nodes: Minimizes all expandable nodes or groups in the flow to simplify the view.
    6. Search:  Allows users to find a specific flow unit by name.
    7. Level drop-down: Lets you set the difficulty levels for the flow designer.
    8. Toggel mini overview: Shows or hides a small overview map of the entire canvas, useful for navigation.
    9. Edit Mode: Enables or disables editing capabilities, allowing you to modify flow units when active.

Know Your Flow Units

  1. Flow units are part of the flow diagram. Each unit represents a complete process.
  2. The flow units are provided under the Flow Unit section and categorized into subsections. Please note that the flow unit section will be shown based on the flow designer proficiency selected from the drop-down, such as Standard, Advanced, and Expert:
    1. General
    2. Calls
    3. Delegate
    4. Trasformation
    5. Store Operations
  3. The flow unit sections and their units are displayed based on the proficiency level.
  4. Click on any of the sections to expand them. The corresponding flow units get displayed.
  5. These units can be dragged and dropped into the flow diagram to modify the flow.


1. General

  1. Units in this category control flow logic. They manage decisions, loops, and process structure.
  2. Click on the section to expand it. The following units are available under this section:
    1. Decision/For-Each Unit
    2. Repeat Until Unit

1.1 Decision/For-Each Unit

  1. Purpose:
    1. Performs branching logic based on conditions or loops through items in a list. 
    2. Represents a decision point in the flow where a condition is checked.
  2. How it works:
    1. The flow checks a Boolean condition (e.g., if X > 10).
    2. Based on the result:
      1. True path → Executes one branch.
      2. False path → Executes another branch.
  3. Use case:
    1. If the customer's age ≥ 18, proceed to payment; otherwise, display an error message.
  4. Visual Representation:

1.2 Repeat Until

  1. Purpose:
    1. Executes a set of steps repeatedly until a specified condition becomes true.
  2. How it works:
    1. The loop starts unconditionally (it always runs at least once).
    2. After each iteration, it checks the condition.
    3. If the condition is met, the loop stops; otherwise, it repeats.
  3. Use Case:
    1. Repeat sending a request until the server responds with success.
    2. Condition: response == success.
  4. Visual Representation:

2. Calls

  1. These units communicate with external systems or services. They send or receive data outside the flow that belongs here.
  2. Click on the section to expand it. The following units are available under this section:
    1. System Call Unit
    2. Expansion Call Unit
    3. HTTP Call Unit
    4. FTP Call Unit

2.1 System Call Unit

  1. Purpose: A System Call Unit in a flow diagram typically represents a step where the process interacts directly with the operating system or an external system service. It’s often used in automation or workflow tools to perform low-level or system-level operations.
  2. What it does: 
    1. Executes a system-level command or invokes an API provided by the OS.
    2. Common actions include:
      1. Reading/writing files.
      2. Executing shell commands.
      3. Accessing environment variables.
      4. Interacting with hardware or system resources.
  3. How it works:
    1. Trigger Point in Flow:
      1. When the process reaches the System Call Unit, it pauses the normal flow and executes a predefined system-level command or script.
    2. Command Execution:
      1. The unit sends a request to the OS or system API.
      2. This could be:
        1. A shell command (ls, mkdir, rm).
        2. A script (.sh, .bat, PowerShell).
        3. An executable or binary.
    3. Input/Output Handling:
      1. Input: Parameters passed from the workflow (e.g., file path, environment variables).
      2. Output: Captures the result (success/failure, return code, or output text) and makes it available for the next steps in the flow.
    4. Error Handling:
      1. If the system call fails (e.g., permission denied, file not found), the unit can:
        1. Retry.
        2. Branch to an error-handling path.
        3. Log the error for debugging.
  4. Common Use case:
    1. Calling a REST API to fetch data.
    2. Triggering a microservice or external script.
    3. Executing a command-line utility from the workflow.
    4. Automation: Run a script on the server (bash, PowerShell).
    5. File Management: Move or delete files in a directory.
    6. Integration: Call an external executable or system utility.
  5. Visual Representation:

2.2 Expansion Call Unit

  1. Purpose: An Expansion Call Unit in a flow diagram is typically used in document-centric or data-processing workflows where you need to expand a composite object into its constituent components for further processing.
  2. What it does:
    1. Takes an input object (like a document, a collection, or a structured dataset).
    2. Expands it into smaller units or elements so that each can be processed individually.
    3. Often used before a For-Each Unit, because once expanded, you can iterate over the individual parts.
  3. How it works:
    1. Input: A complex entity (e.g., a document with multiple sections, a ZIP file with multiple files, or a JSON with nested arrays).
    2. Expansion: Breaks down the entity into its components:
      1. Pages of a document.
      2. Files inside a folder or archive.
      3. Records inside a dataset.
    3. Output: A list or collection of items that can be passed to subsequent steps (like For-Each).
  4. Use case:
    1. Document Processing: Expand a PDF into individual pages for OCR.
    2. Data Pipelines: Expand a JSON array into individual records for transformation.
    3. Batch Operations: Expand a ZIP archive into separate files for upload.
  5. Visual Representation:

2.3 HTTP Call Unit

  1. 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.
  2. What it does:
    1. Sends an HTTP request (GET, POST, PUT, DELETE, etc.) to a specified URL.
    2. Receives the response (status code, headers, body) and passes it to the next step in the flow.
  3. How it works:
    1. Configure Request:
      1. Method: GET, POST, PUT, DELETE.
      2. URL: Endpoint of the API or service.
      3. Headers: Authentication tokens, content type, etc.
      4. Body: Data payload (for POST/PUT).
    2. Execute Call:
      1. The unit sends the request over the network.
      2. Waits for the response from the server.
    3. Handle Response:
      1. Captures status code (e.g., 200 OK, 404 Not Found).
      2. Parses response body (JSON, XML, text).
      3. Stores or passes data to the next steps.
    4. Error Handling:
      1. Retry on failure.
      2. Branch based on status code (e.g., success vs. error).
  4. Use case:
    1. Document Workflow: Call an OCR API to process a scanned document.
    2. Integration: Send data to a REST API for storage or analytics.
    3. Notification: Trigger a webhook to alert another system.
  5. Visual Representation:

2.4 FTP Call Unit

  1. Purpose: An FTP Call Unit in a flow diagram performs File Transfer Protocol (FTP) operations within a workflow. It allows the process to interact with an FTP server to upload, download, or manage files.
  2. What it does:
    1. Connects to an FTP server using credentials (host, username, password).
    2. Executes file operations such as:
      1. Upload files from the local system to the FTP server.
      2. Download files from the FTP server to the local system.
      3. List files in a directory.
      4. Delete or move files on the server.
  3. How it works:
    1. Configuration:
      1. FTP server address (e.g., ftp://example.com).
      2. Authentication details (username, password, or secure token).
      3. Optional: Port number, passive/active mode.
    2. Action Selection:
      1. Choose operation: Upload, Download, List, Delete.
    3. Execution:
      1. Establishes a connection to the FTP server.
      2. Performs the selected operation.
      3. Returns status (success/failure) and optionally file metadata.
    4. Error Handling:
      1. Handles network issues, authentication failures, or missing files.
      2. Can retry or branch to the error-handling step.
  4. Use case:
    1. Document Workflow: Upload processed documents to an FTP server for archival.
    2. Integration: Download input files from an FTP server for further processing.
    3. Batch Jobs: Move files from FTP to cloud storage.
  5. Visual Representation:


3. Delegate

  1. 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.
  2. Click on the section to expand it. The following units are available under this section:
    1. Component Unit
    2. Automation Unit
    3. Flow Unit
    4. Queue Unit

3.1 Component Unit

  1. Purpose: A Component Unit in a flow diagram represents a self-contained, reusable block of logic or functionality that can be invoked within a larger workflow. It’s similar to a “subroutine” or “module” in programming, but in the context of process automation or orchestration.
  2. What it does:
    1. Calls another reusable component or subflow.
    2. Encapsulates a set of steps or logic into a single unit.
    3. Can be reused across multiple flows.
    4. Accepts input parameters and returns output results.
  3. How it works:
    1. Definition:
      1. A component is created separately with its own flow logic.
      2. It is designed to perform a specific task (e.g., validating data or processing a document).
    2. Invocation:
      1. The main flow calls the Component Unit.
      2. Passes required inputs (e.g., document ID, user info).
      3. Waits for the component to finish and return outputs.
    3. Benefits:
      1. Modularity: Breaks complex workflows into smaller, manageable pieces.
      2. Reusability: Common tasks can be reused without duplication.
      3. Maintainability: Easier to update one component than multiple flows.
  4. Use case:
    1. Document Workflow: A component for OCR processing.
    2. Integration: A component for API authentication.
    3. Business Logic: A component for invoice validation.
  5. Visual Representation:

3.2 Automation Unit

  1. 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.
  2. What it does:
    1. It triggers an automated action without manual intervention.
    2. Executes repetitive or rule-based tasks automatically.
    3. Can interact with:
      1. Applications (e.g., ERP, CRM).
      2. Files and folders (move, rename, delete).
      3. APIs (send/receive data).
      4. System commands (run scripts).
  3. How it works:
    1. Trigger: The flow reaches the Automation Unit.
    2. Action Execution:
      1. Runs a script or automation logic (e.g., RPA bot, macro).
      2. Uses configured inputs (file paths, credentials, parameters).
    3. Output Handling:
      1. Returns success/failure status.
      2. Passes processed data to the next step.
    4. Error Handling:
      1. Retry or branch to error-handling logic if automation fails.
  4. Use case:
    1. Document Workflow: Automatically convert files to PDF.
    2. Data Processing: Extract data from spreadsheets and upload to a database.
    3. System Tasks: Schedule backups or clean temporary files.
  5. Visual Representation:

3.3 Flow Unit

  1. 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.  
  2. What it does:
    1. Represents one logical operation in the process.
    2. Can perform:
      1. Data transformation.
      2. Decision-making.
      3. External calls (API, FTP, HTTP).
      4. Automation tasks.
    3. Connects to other units to form a complete workflow.
  3. Use case:
    1. Each Flow Unit handles one specific task.
    2. Accepts inputs and produces outputs.
  4. Visual Representation:

3.4 Queue Unit

  1. Purpose: Queue Unit in a flow diagram is used to manage asynchronous processing by placing items into a queue for later handling. It’s common in large-scale or distributed workflows where tasks need to be processed in sequence or by different systems.
  2. What it does:
    1. Adds items to a queue for background or deferred processing.
    2. Allows decoupling between the main flow and downstream tasks.
    3. Supports load balancing and parallel processing.
  3. How it works:
    1. Input: The main flow generates a message or data packet (e.g., document ID, payload).
    2. Queue Operation:
      1. Pushes the item into a queue (e.g., message queue, job queue).
      2. The queue can be in systems like RabbitMQ, Azure Service Bus, AWS SQS, or internal workflow queues.
    3. Downstream Processing: Another process or worker pulls items from the queue and processes them asynchronously.
    4. Benefits:
      1. Improves scalability.
      2. Handles spikes in workload.
      3. Ensures reliability (items stay in the queue until processed).
  4. Use case:
    1. Document Workflow: Queue documents for OCR processing by background workers.
    2. Integration: Queue API requests for batch processing.
    3. Event Handling: Queue notifications for asynchronous delivery.
  5. Visual Representation:


4. Transformation

  1. Units here convert data from one form or structure to another. They handle mapping, transformation languages, or custom code to shape data.
  2. Click on the section to expand it. The following units are available under this section:
    1. Mapping Unit
    2. Java Class Unit
    3. JSONata Unit
    4. XSLT Unit

4.1 Mapping Unit

  1. Purpose: A Mapping Unit in a flow diagram is used to transform or map data from source to target systems. It’s essential when integrating systems or preparing data for the next step.
  2. What it does:
    1. Converts input data into the required output format.
    2. Maps fields between:
      1. Different data models (e.g., JSON → XML).
      2. Different systems (e.g., ERP → CRM).
    3. Can apply transformations (e.g., rename fields, change data types, apply formulas).
  3. How it works:
    1. Input: Data from a previous step (e.g., API response, database record).
    2. Mapping Logic:
      1. Define source fields and target fields.
      2. Apply transformations if needed (e.g., amount * 1.18 for tax).
    3. Output: Structured data ready for the next unit (e.g., HTTP Call, Component Unit).
  4. Use case:
    1. API Integration: Map fields from an external API response to your internal schema.
    2. Document Workflow: Map extracted OCR data to a standardized format.
    3. Data Migration: Convert legacy system data to the new system format.
  5. Visual Representation:

4.2 Java Class Unit

  1. 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 in platforms that allow extending functionality beyond built-in units by writing Java code.
  2. What it does:
    1. Executes custom business logic written in Java.
    2. Allows developers to:
      1. Perform complex calculations.
      2. Integrate with external libraries.
      3. Implement custom transformations or validations.
  3. How it works:
    1. Configuration:
      1. Specify the Java class name and method to call.
      2. Provide input parameters from the flow.
      3. Define expected output variables.
    2. Execution:
      1. The flow engine loads the Java class (usually from a JAR or classpath).
      2. Invokes the specified method with mapped inputs.
      3. Captures the return value and passes it to the next unit.
    3. Benefits:
      1. Flexibility: Add logic that is not available in standard units.
      2. Reusability: Use the same Java class across multiple flows.
      3. Performance: Java code runs natively, often faster than scripting.
  4. Use case:
    1. Document Workflow: Custom parsing of metadata from documents.
    2. Integration: Apply encryption/decryption using Java libraries.
    3. Business Logic: Validate invoice data with complex rules.
  5. Visual Representation:

4.3 JSONata Unit

  1. Purpose: A JSONata Unit in a flow diagram is used for data transformation and querying using the JSONata expression language. JSONata is a lightweight query and transformation language for JSON data, making it ideal for workflows that require manipulating JSON structures. In short, it runs a JSONata expression to transform JSON data.
  2. What it does:
    1. Applies JSONata expressions to: 
      1. Extract specific fields from JSON.
      2. Transform JSON into a new structure.
      3. Perform calculations or conditional logic on JSON data.
    2. Outputs the transformed JSON for the next step in the flow.
  3. How it works:
    1. Input: JSON data from a previous step (e.g., API response, document metadata).
    2. Expression: Define a JSONata expression (e.g., Account.Order.Product.(Price * Quantity)).
    3. Execution: The unit evaluates the expression against the input JSON.
    4. Output: Returns the transformed or filtered JSON.
  4. Use case:
    1. API Integration: Extract only required fields from a large JSON response.
    2. Data Mapping: Convert nested JSON into a flat structure for easier processing.
    3. Business Logic: Calculate totals or apply conditions within JSON data.
  5. Visual Representation:

4.4 XSLT Unit

  1. Purpose: An XSLT Unit in a flow diagram transforms XML data using XSLT (Extensible Stylesheet Language Transformations). This is particularly useful in workflows that involve XML-based systems or require converting XML into another format (HTML, text, or a different XML structure).
  2. What it does:
    1. Applies an XSLT stylesheet to an XML input.
    2. Produces a transformed output (XML, HTML, or text).
    3. Enables complex data restructuring, filtering, and formatting.
  3. How it works:
    1. Input: XML data from a previous step (e.g., API response, document metadata)
    2. XSLT Stylesheet: Defines transformation rules (match patterns, templates).
    3. Execution: The XSLT processor applies the stylesheet to the XML.
    4. Output: Transformed data ready for the next unit (e.g., Mapping Unit, HTTP Call).
  4. Use case:
    1. Document Workflow: Convert XML-based invoice data into a standardized XML schema.
    2. Integration: Transform XML from one system to match another system’s format.
    3. Presentation: Convert XML into HTML for display.
  5. Visual Representation:


5. Store Operations

  1. These units perform data persistence and retrieval. They interact with internal or external data stores.
  2. Click on the section to expand it. The following units are available under this section:
    1. Key-Value Unit
    2. Documents
    3. Database

5.1 Key-Value

  1. 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.
  2. What it does:
    1. Creates or updates key-value pairs (like a dictionary or map).
    2. Allows other units in the flow to reference these keys for input/output.
    3. Can be used for: 
      1. Temporary storage of variables.
      2. Mapping dynamic values for API calls or transformations.
      3. Maintaining context across multiple steps.
  3. How it works:
    1. Input: You define keys and assign values (static or dynamic from previous steps).
    2. Storage: The unit holds these pairs in memory for the duration of the flow.
    3. Access: Other units can reference keys using expressions (e.g., {{keyName}}).
    4. Update: Keys can be overwritten or new ones added as the flow progresses.
  4. Use case:
    1. API Integration: Store authentication token as token = "abc123" for later HTTP calls.
    2. Document Workflow: Save extracted metadata, such as docType = "Invoice".
    3. Dynamic Mapping: Maintain user-specific settings during a session.
  5. Visual Representation:

5.2 Documents

  1. 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.
  2. What it does:
    1. Manages document objects in the workflow.
    2. Provides actions such as: 
      1. Create a new document.
      2. Retrieve an existing document.
      3. Update document metadata or content.
      4. Delete a document.
    3. Often interacts with a document repository or content management system (CMS).
  3. How it works:
    1. Input: Document ID, file path, or metadata from previous steps.
    2. Action Selection: 
      1. Create: Upload or generate a document.
      2. Read: Fetch document details or content.
      3. Update: Modify metadata or replace content.
      4. Delete: Remove document from storage.
    3. Output: Document object or status (success/failure) for next steps.
  4. Use case:
    1. Document Workflow: Fetch a scanned invoice for OCR processing.
    2. Integration: Store generated reports in a document repository.
    3. Compliance: Update metadata for audit tracking.
  5. Visual Representation:

5.3 Database

  1. 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.
  2. What it does:
    1. Connects to a database system (SQL or NoSQL).
    2. Executes queries or commands to manipulate data.
    3. Returns results for use in subsequent steps.
  3. How it works:
    1. Configuration:
      1. Database type (e.g., MySQL, PostgreSQL, Oracle, MongoDB).
      2. Connection details (host, port, username, password).
      3. Optional: Connection pooling, timeout settings.
    2. Action Selection:
      1. Read: Fetch data using SELECT or equivalent.
      2. Write: Insert or update records.
      3. Delete: Remove records.
      4. Execute Procedure: Call stored procedures or functions.
    3. Execution:
      1. Sends the query to the database.
      2. Receives the result set or status.
      3. Passes data to the next unit (e.g., Mapping Unit, Decision Unit).
    4. Error Handling:
      1. Handles connection failures, query errors, or timeouts.
      2. Can branch to error-handling logic.
  4. Use case:
    1. Document Workflow: Fetch metadata from a database before processing a document.
    2. Integration: Store API response data in a database.
    3. Reporting: Retrieve records for generating reports.
  5. Visual Representation:



Units for Standard Proficiency Level

  1. The Flow Units available under the Flow Unit section are determined by the user’s selected proficiency level.
  2. To view or configure units for the beginner level, choose Standard from the Proficiency Level drop-down menu.
  3. When the Standard level is selected, the following types of flow units become available.
    1. General
      These units are used to control the flow and logic of a process:
      1. Decision/For-Each: Allows conditional branching and iteration over collections or lists of items.
      2. Repeat Until: Executes a set of actions repeatedly until a specified condition is met.
    2. Calls
      These units are used to invoke external systems, processes, or services:
      1. System Call: Executes predefined system-level operations.
      2. Expansion Call: Invokes another flow or sub-process to extend the main workflow.
    3. Delegate
      These units delegate tasks or processes to other components or automations:
      1. Component: Invokes a reusable system component.
      2. Automation: Executes a predefined automation or robotic process.
    4. Transformation
      The unit handles data mapping:
      1. Mapping: Transforms data from one structure or format to another.

Units for Advanced Proficiency Level

  1. The Flow Units available under the Flow Unit section are determined by the user’s selected proficiency level.
  2. To view or configure units for the advanced level, select Advanced from the Proficiency Level drop-down menu.
  3. When the Advanced level is selected, the following types of flow units become available. These units allow for more complex logic, integrations, and data operations compared to the standard level.
    1. General
      These units are used to control the flow and logic of a process:
      1. Decision/For-Each: Allows conditional branching and iteration over collections or lists of items.
      2. Repeat Until: Executes a set of actions repeatedly until a specified condition is met.
    2. Calls
      These units are used to invoke external systems, processes, or services:
      1. System Call: Executes predefined system-level operations.
      2. Expansion Call: Invokes another flow or sub-process to extend the main workflow.
      3. HTTP Call: Sends requests to external web services or APIs using HTTP methods (GET, POST, PUT, DELETE, etc.).
      4. FTP Call: Transfers files between systems using the File Transfer Protocol.
    3. Delegate
      These units delegate tasks or processes to other components or automations:
      1. Component: Invokes a reusable system component.
      2. Automation: Executes a predefined automation or robotic process.
      3. Flow: Triggers another flow within the same or a different project.
      4. Queue: Sends data or tasks to a queue for asynchronous processing.
    4. Transformation
      These units handle data transformation and mapping:
      1. Mapping: Transforms data from one structure or format to another.
      2. Java Class: Executes custom Java code for complex logic or transformations.
      3. JSONata: Applies JSONata expressions to filter or transform JSON data.
      4. XSLT: Transforms XML data using XSLT stylesheets.
    5. Store Operations
      These units perform storage and retrieval operations:
      1. Key - Value: Reads or writes data in key-value stores.
      2. Documents: Manages document-based data structures or repositories.
      3. Database: Executes database operations such as queries, inserts, updates, or deletions.

Units for Expert Proficiency Level

  1. The Flow Units available under the Flow Unit section are determined by the user’s selected proficiency level.
  2. To view or configure units for the expert level, select Expert from the Proficiency Level drop-down menu.
  3. When the Expert level is selected, the following types of flow units become available. These units enable more complex logic, integrations, and data operations compared to the standard or advanced levels.
    1. General
      These units are used to control the flow and logic of a process:
      1. Decision/For-Each: Allows conditional branching and iteration over collections or lists of items.
      2. Repeat Until: Executes a set of actions repeatedly until a specified condition is met.
    2. Calls
      These units are used to invoke external systems, processes, or services:
      1. System Call: Executes predefined system-level operations.
      2. Expansion Call: Invokes another flow or sub-process to extend the main workflow.
      3. HTTP Call: Sends requests to external web services or APIs using HTTP methods (GET, POST, PUT, DELETE, etc.).
      4. FTP Call: Transfers files between systems using the File Transfer Protocol.
    3. Delegate
      These units delegate tasks or processes to other components or automations:
      1. Component: Invokes a reusable system component.
      2. Automation: Executes a predefined automation or robotic process.
      3. Flow: Triggers another flow within the same or a different project.
      4. Queue: Sends data or tasks to a queue for asynchronous processing.
    4. Transformation
      These units handle data transformation and mapping:
      1. Mapping: Transforms data from one structure or format to another.
      2. Java Class: Executes custom Java code for complex logic or transformations.
      3. JSONata: Applies JSONata expressions to filter or transform JSON data.
      4. XSLT: Transforms XML data using XSLT stylesheets.
    5. Store Operations
      These units perform storage and retrieval operations:
      1. Key - Value: Reads or writes data in key-value stores.
      2. Documents: Manages document-based data structures or repositories.
      3. Database: Executes database operations such as queries, inserts, updates, or deletions.

Action Buttons Located in the Action Area

  1. The action area provides you with the following action items:
    1. Save Preference:
      1. The icon lets you save the flow diagram's custom preferences.
    2. Show/hide Flow Unit:
      1. This allows you to show or hide the Flow Unit section.
    3. Help:
      1. This opens the screen-related help articles.
    4. Save:
      1. This lets you save any modifications you make to the flow.

Save Preference

  1. The icon allows you to save the custom layout of the panels.
  2. By default, the flow detail panel is displayed at the bottom of the screen. However, you can set the panel position either to the right or the bottom of the screen.
  3. The columns of the panels will be divided into equal spaces. However, you can resize them as needed.
  4. Adjust the panel placement and column size, and click the Save Preferences button.

Show/hide Flow Unit

  1. This allows you to show or hide the Flow Unit section.
  2. By default, the Flow Unit tab opens.
  3. Click on the icon to hide the Flow Unit tab. Again, click on the icon to show the Flow Unit tab.

Edit Flow

  1. To modify the flow, enable the Edit Mode toggle button.

Drag and Drop Units into Placeholder

  1. Once edit mode is enabled, a unit placeholder opens before the End unit.
  2. You can drag and drop any flow unit into the placeholder from the Flow Unit section.

  1. For example, the HTTP Call flow unit is dragged and dropped into the placeholder.

  1. The HTTP Call unit is added to the flow, and a new placeholder is added next to the unit.
  2. As you drop the unit, the unit's Details pop-up opens, where you can modify the name and description.

Drag and Drop Units Between Units

  1. You can also drag and drop the flow unit between any two units.
  2. Drag the unit and hold it for 2 seconds on the connection line between the two units, then drop it.

  1. The unit gets added between the units. As you drop the unit, the unit's detail pop-up opens, where you can modify the name and description.
Notes
Please note that you cannot drop the unit after the 'Start' unit.

Add a Placeholder for Drag-and-Drop Unit 

  1. You can add a placeholder at any point in the flow.
  2. To add a placeholder, hover over the connection line between the units, and a plus (+) icon will appear.

  1. Click on the plus (+) icon. 
  2. Upon clicking the icon, the placeholder gets added between the units.

  1. Now drag and drop any unit into the placeholder.

  1. The Unit is added to the flow. As the unit is added to the flow, its Detail pop-up opens, where you can modify the name and description.

Hovering Action on the Units

The following action items must be provided on the unit. These action items will appear when you hover over any unit:
  1. Deactivate
  2. Delete
  3. Insert Breakpoint
  4. Maximize/minimize child units
  5. Change to Always/Otherwise 

Deactivate Unit

  1. This option allows you to deactivate the selected unit.
  2. Hover over the unit that you want to deactivate. A deactivate/activate icon will appear.
  3. Click on the Deactivate icon.

  1. After clicking on the Deactivate icon, the selected unit gets deactivated.
  2. The deactivated unit will be displayed in gray.
  3. Please note that if you run the flow at this point, the deactivated unit will be skipped. 
  1. If you deactivate any decision unit, the decision and all its child units are deactivated.
  1. If you deactivate a child unit in a decision unit, only the selected child will be deactivated.


Delete Unit

  1. Hover over the unit that you want to delete.
  2. Click on the Delete icon.

  1. The unit gets removed from the flow.

  1. Click on the Save button to save the changes.



Insert a Breakpoint 

  1. This option lets you insert a breakpoint at the selected unit.
  2. You can insert one or multiple breakpoints in a flow. You can insert a breakpoint on a single unit, or numerous breakpoints can be inserted at once.
Insert Single Breakpoint
  1. To insert a breakpoint at any unit, hover over the unit. A breakpoint icon will appear.

  1. Click on the icon to insert the breakpoint into the selected unit.
  2. This allows you to insert the breakpoint at the selected unit.

Insert Multiple Breakpoints
  1. Click on the breakpoint icon in the toolbar.
  2. A placeholder on the units will appear. Please note that not all the units will have the placeholder. Only units that have the logical process breakpoint will have the placeholder.

  1. Click on the placeholder.

  1. After clicking the Breakpoint placeholder, a breakpoint is set on the units and becomes visible. The unit's color also changes, clearly indicating that the breakpoint has been set in the flow.


    Minimize/Maximize Child Units

    1. This allows you to maximize or minimize the child units of the flow.
    2. Hover over the unit where the child units are involved. Please note that this option will only be available for units with a child.
    3. Click on the Minimize icon.
    1. After clicking the icon, the child units get hidden.
    2. Click the icon again to unhide the child units.

    Change to Always/Otherwise Option (decision unit) 

    1. This option is provided for the Decision unit, where you can define the condition as Always or Otherwise.
    2. By default, the Otherwise option will be provided with the Decision unit.
    3. Hover over the unit, and an Always option will appear.
    4. Click on the icon.

    1. The option gets changed to Always.
    2. Click the icon again to change the decision to Otherwise.

    Modify Unit's Input-Processing-Output Details

    1. Click any unit to open the IPO panel.
    2. Refer to the xxxxxx article for steps and more information about the IPO panel.



      • Related Articles

      • Configurable Units

        Overview The application provides fixed, trigger, and configurable units. These units are reusable building block of the Flow Designer/Editor that represents a single action or logic step in an automation flow. Each flow unit processes input data, ...
      • Edit Input-Processing-Output Details

        Overview Every unit in the flow diagram works on the basic fundamental concept called the IPO module (Input → Processing → Output). Receives Input: Data or signals from a user, another system, or a device. Processes Data: Applies logic, calculations, ...
      • 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 ...
      • Know Your Flow Editor

        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 ...
      • Debugging and Testing the Component Workflow

        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 ...