> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create and run workflows in Integration Designer

> Choose between a workflow, process, or UI Flow, then create a workflow, define its data model, reference workflow data in nodes, and run or stop it.

A workflow defines a series of tasks and processes to automate system integrations. Within the Integration Designer, workflows can be configured using different components to ensure efficient data exchange and process orchestration.

![](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/4.5/integration_designer/workflow_ex.png)

## Workflow, process, or UI Flow: which one do I use?

Use a **workflow** to call external systems and transform data, a **process** to run a multi-step business journey that keeps state, and a **UI Flow** to show screens that don't need a process behind them. A workflow is not a BPMN process: it is a separate resource built here, in the Integration Designer. The three are often combined, for example a process or a UI Flow starts a workflow to fetch data and uses the result.

| | Workflow | Process | UI Flow |
| - | - | - | - |
| **What it is** | An integration flow built in the Integration Designer | A BPMN 2.0 process definition | A multi-platform user interface that runs without a BPMN process |
| **Use it for** | REST API and database calls, data transformation, AI operations | Business logic with approvals, business rules, user tasks, and subprocesses | Dashboards, task lists, navigation shells, and forms that start processes |
| **State** | Stateless: takes input, returns output | Keeps process instance data across steps | No process state of its own |
| **User interaction** | None | User tasks with screens built in the UI Designer | Screens and navigation |

A quick test: if a step waits for a person or must remember data between steps, use a process. If it only fetches, sends, or transforms data, use a workflow. If it only shows screens and starts other resources, use a UI Flow.

To start a workflow from a process, use the [Start Integration Workflow action](https://docs.flowx.ai/6.x/docs/building-blocks/actions/start-integration-workflow.md). To start one from a UI Flow, see [When to use Start Workflow vs Start Process](https://docs.flowx.ai/6.x/docs/building-blocks/ui-flows.md#when-to-use-start-workflow-vs-start-process). For the UI Flow side of the choice, see [When to use UI Flows](https://docs.flowx.ai/6.x/docs/building-blocks/ui-flows.md#when-to-use-ui-flows).

For a worked example that connects all three, see [Combine UI Flows, processes, and workflows](https://docs.flowx.ai/6.x/docs/building-blocks/combining-ui-flows-processes-and-workflows.md).

## Creating a workflow

1. Navigate to Workflow Designer:
   * In FlowX.AI Designer to **Projects -> Your application -> Integrations -> Workflows**.
   * Create a New Workflow, provide a name and description, and save it.
2. Start to design your workflow by adding nodes to represent the steps of your workflow:

* **Start Node**: Defines where the workflow begins and also defines the input parameter for subsequent nodes.
* **REST API Call nodes**: Add REST API calls for fetching or sending data.
* **FlowX Database nodes**: Read and write data to FlowX Database collections.
* **Custom Agent nodes**: Enable AI agents to use MCP tools for intelligent task automation.
* **Intent Classification Agent nodes**: Classify user messages using AI and route the workflow to the matching intent branch.
* **Context Retrieval nodes**: Perform RAG searches against Knowledge Bases to retrieve relevant chunks without calling an LLM.
* **Start Parallel and End Parallel nodes**: Run several branches of the workflow at the same time and merge their results when all branches finish.
* **Fork nodes (conditions)**: Add conditional logic for decision-making.
* **Data mapping nodes (scripts)**: Write custom scripts in JavaScript or Python.
* **Subworkflow nodes**: Invoke other workflows as reusable components.
* **Navigate in UI Flow nodes**: Navigate users to specific UI Flow screens from chat-driven workflows, passing dynamic parameters.
* **Web Page Extractor nodes**: Crawl web pages, follow links up to a configurable depth, and extract content for use in workflows or Knowledge Bases.
* **End Nodes**: Capture output data as the completed workflow result, ensuring the process concludes with all required information.
* **Update Knowledge Base**: Update the Knowledge Base with the results of the workflow.

![](https://s3.eu-west-1.amazonaws.com/docx.flowx.ai/4.5/create_workflow.gif)

### How do I auto-arrange the workflow canvas?

Click **Auto-arrange** in the bottom-right corner of the canvas, above the zoom controls, to lay out every node of the workflow from left to right, starting from the Start node. Nothing is saved until you apply the new layout.

**1. Open the layout preview**

Click **Auto-arrange**. The canvas shows the proposed layout, and the **Layout preview** bar says how many nodes move. While the preview is open, the canvas is read-only.

**2. Compare the layouts**

Switch between **Show current** and **Show preview** to compare the existing layout with the proposed one.

**3. Apply or cancel**

Click **Apply** (or press **Enter**) to save the new node positions, or **Cancel** (or press **Escape**) to keep the current layout.

* Auto-arrange always arranges the whole workflow, not a selection.
* There is no undo after you apply a layout, so compare the two layouts first.
* If the workflow changes after the preview is built, **Apply** becomes **Refresh preview**.
* The button is unavailable when the workflow is read-only, for example when you don't have edit rights or while a running instance is shown on the canvas.

The process editor has the same control, labeled **Arrange**, with the same layout preview.

## Workflow nodes overview

> [!NOTE]
>
> Workflow nodes are the building blocks of your integration logic. Each node type serves a specific function, allowing you to design, automate, and orchestrate complex processes visually.

| Node Type | Purpose |
| - | - |
| Start Node | Defines workflow input and initializes data |
| REST API Call Node | Makes REST API calls to external systems |
| FlowX Database Node | Reads/writes data to the FlowX Database |
| Custom Agent Node | Enables AI agents to use MCP tools for intelligent automation |
| Intent Classification Agent Node | Classifies user messages using AI and routes to matching intent branches |
| Context Retrieval Node | Retrieves relevant data from Knowledge Bases or memory using semantic, keyword, or hybrid search |
| AI Nodes | Process text, documents, images, and data using AI-powered capabilities |
| Condition (Fork) | Evaluates conditions and routes the flow along one matching branch |
| Script Node | Transforms or maps data using JavaScript or Python |
| Update Knowledge Base | Update the Knowledge Base with the results of the workflow |
| Subworkflow Node | Invokes another workflow as a modular, reusable subcomponent |
| Navigate in UI Flow | Navigates the user to a specific screen in a UI Flow from a chat-driven workflow |
| Web Page Extractor | Crawls web pages, follows links up to a configurable depth, and extracts content |
| Tabular Data Extraction | Reads a CSV or spreadsheet file and returns its rows as structured JSON. Named **Data Parse** and also parses XML and JSON |
| Generate Tabular File | Turns workflow data into a CSV or XLSX file stored against the current run |
| Template Filling | Generates a document from a document template populated with workflow data |
| Combine Files | Merges multiple PDF files into a single output file in a given order |
| Split File | Splits a PDF into multiple files by page ranges or one file per page |
| End Node | Captures and outputs the final result of the workflow |
| Start Parallel / End Parallel | Run several branches at the same time and merge their results when all branches finish |
| [Document Classification](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/document-classifiers.md) | Classifies a document into one of a configured set of categories using AI |

Each node's configuration is described in the node reference pages: [control flow and integration nodes](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow.md) and [data, document, and AI nodes](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/workflow-nodes-data-and-ai.md).

***

## Workflow data models

Workflow Data Models bring structured data management to Integration Designer workflows, enabling you to define input and output parameters at the workflow level, similar to Process Data Models.

### Key benefits

> [card] Automatic Input Management
>
> Input parameters automatically pre-fill the Start Node from the data model—no manual JSON editing

> [card] Consistent Data Lineage
>
> Ensure data consistency across processes and workflows with structured data models

> [card] Type Safety
>
> Define data types and validation rules at the workflow level for runtime safety

> [card] Better Integration
>
> Map data bidirectionally between processes and workflows using data mappers

### Quick start

**1. Define Data Model**

Create entities and attributes for your workflow data structure

**2. Configure Input Parameters**

Select which attributes will be workflow input parameters

**3. Automatic Pre-fill**

Start Node is automatically populated with structured data from your data model

**4. Map to Processes**

Use data mappers to pass data between processes and workflows

> [card] [Complete Workflow Data Models Guide](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/workflow-data-models.md)
>
> Learn how to create workflow data models, configure input/output parameters, and integrate with processes

***

## Referencing workflow data in node configurations

Node configuration fields (file paths, messages, request payloads) reference workflow data with `${...}` expressions:

| Expression | Resolves |
| - | - |
| `${filePath}` | A top-level value from the workflow state |
| `${firstFile.filePath}` | A nested value, using dot navigation |
| `${uploadedFiles}` | A whole object or array |

> [!WARNING]
>
> **Array indexing is not supported in `${...}` expressions.** A reference like `${uploadedFiles[0].filePath}` does not resolve, and the node fails with `The placeholder uploadedFiles[0].filePath has no value set!` even when the value is visible in the node's **Input** tab. The error means the syntax cannot resolve, not that the data is missing.

To use one element of an array, extract it with a **Script node** first, then reference the extracted value with dot navigation:

```javascript theme={"dark"}
// Script node placed before the consuming node
output.firstFile = input.uploadedFiles[0];
```

The next node can then reference `${firstFile.filePath}`.

This applies to every array, including the `uploadedFiles` array that [chat file uploads](https://docs.flowx.ai/6.x/ai-platform/chat-driven-workflows.md#file-uploads) deliver to a chat-driven workflow.

***

## Running and stopping workflows

You can run a workflow directly from the editor to test and debug it, and stop it while it is running.

* **Run Workflow**: Click **Run Workflow** in the workflow editor toolbar to start a new workflow instance. You can provide start data in JSON format before running.
* **Stop Run**: While a workflow instance is running, the button changes to **Stop Run**. Click it to cancel the instance. All in-progress and scheduled nodes are marked as cancelled.

Workflow instances can have the following statuses:

| Status | Description |
| - | - |
| **Started** | The workflow instance is currently running |
| **Finished** | The workflow instance completed successfully |
| **Failed** | The workflow instance encountered an error |
| **Cancelled** | The workflow instance was manually stopped by the user |


## Related topics

- [Customer onboarding with KYC](https://docs.flowx.ai/6.x/ai-platform/tutorials/customer-onboarding.md)
- [Integration Designer](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/integration-designer.md)
- [Workflow node reference: control flow and integration nodes](https://docs.flowx.ai/6.x/docs/platform-deep-dive/integrations/workflow-nodes-control-flow.md)
- [Tutorial: Build your first workflow](https://docs.flowx.ai/6.x/docs/getting-started/building-your-first-workflow.md)
- [Integration Designer setup](https://docs.flowx.ai/6.x/setup-guides/integration-designer-setup.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.