> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.fynapse.app/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.fynapse.app/_mcp/server.

# Flow Screens

> Learn about the different screens available for managing Flows in Fynapse.

## Overview

Flow comprises two screens:

* View, where you can see the grid with the existing Flows in Active and Draft status
* Editing, accessible from the view only mode, where you can create new Flows and edit existing ones

## View Screen

The View screen comprises of a grid which contains the following information about the existing Flows:

![The Flows grid with an Active and a Draft Flow](/_fern-files/_img/376087a520527a09857ceabe9604cb546341d17500432e170f68e03c3fdcb88e.webp)

The screenshot shows the grid with two Flows, one Active and one Draft, and the **Refresh** and **New** buttons above it.

* **Name** - name of the Flow; click the name to open the Flow on the Editing screen
* **Description** - description of the Flow
* **Status** - status of the Flow
  > **Info**
  >
  > Currently, per one unique Flow name you can have one Published and one Draft version of one Flow.
  * **Draft** - indicates the Flow is in progress and not yet active
  * **Activating** - indicates the draft Flow is being activated when the **Submit** button has been clicked
    > **Info**
    >
    > If you clicked the **Submit** button on a new version of an already Active Flow, the older version will automatically change status first to Deactivating, then to Inactive and disappear from the grid.
  * **Active** - indicates the Flow is active
  * **Archiving** - indicates the Flow is being archived
  * **Deactivating** - indicates the Flow is being deactivated
  * **Inactive** - indicates the Flow is inactive; an inactive Flow is a historic version of an active Flow; Flows with this status will not appear in the grid
  * **Invalid** - indicates the Flow has an old data model that is no longer in use; only Active status Flows can become Invalid, when you change the Invalid Flow a new Draft will be created
    > **Warning**
    >
    > Invalid Flows cannot be exported in Configuration Data JSON file.
* **Input Entity** - the Entity that the Flow's Input step reads, shown as `namespace/name`
* **Target Entities** - the Entities that the Flow writes to: the Entities of its Target steps, and the Entities that its Accounting Engine and Journal Import steps write to
* **Version** - version of the Flow; a new version is created when you click the **Submit** button
* **Created By** - username of the user who created the Flow
* **Created On** - timestamp when the Flow was created
* **Actions** - the **…** button opens the **Delete** action, which deletes the Flow after you confirm. Fynapse archives a deleted Flow and removes it from the grid.

The screen also has two buttons above the grid:

* **New** - which allows you to create a new Flow
* **Refresh** - which refreshes the screen

## Editing Screen

The Editing screen is where you create new Flows and edit existing ones:

* To create a new Flow, click the **New** button on the View screen, then follow the instructions in the tutorial below
* To edit an existing Flow, click its name in the **Name** column

The Editing screen comprises of:

* The working area, where you drag and drop Flow steps and create links between them
* The details panel, which opens to the right of the working area when you click a step. It shows the step's configuration as a column of sections, such as **General**, **Attributes mapping** or **Script**, where you configure such information as the step Name, input or target Entity, attributes mapping, or the script for the Script step. To configure the Flow's name and description, click **Flow settings**, the gear button at the top of the toolbox. To close the panel, click the close button in its header, or an empty part of the working area.
* The **Validation** panel, which lists validation problems grouped by step. It appears on the right-hand side of the screen after you click the **Validate** button to verify your Flow against validation rules. Click **Show** beside a problem to open the step it belongs to.

![The Editing screen with an Input step's details open beside the working area](/_fern-files/_img/1514eb0de1ad82a7d1e2a58ddbbc5157d03d7bce7c6c4c9bcdb62eb52cff9cac.webp)

The screenshot shows a Draft Flow with its Input step selected. The step's details are open on the right, where you pick the source Entity from a list grouped by namespace that you can search.

The header above the working area shows the Flow's name, its description and the status of the version you are editing, such as **Active** or **Draft**.

### Working Area Features

The working area has the following features available in the bottom-right corner:

|   |                                                                                            |
| - | ------------------------------------------------------------------------------------------ |
|   | Increase size - increases the size of the Flow                                             |
|   | Decrease size - decreases the size of the Flow                                             |
|   | Optimize - increases the size of the Flow to the maximum available within the working area |
|   | Lock - locks the Flow to allow you to move the entire graph                                |

> **Tip**
>
> To delete a step, click the step and press Backspace or Delete on your keyboard. The step's links are deleted with it.

### Editing Pane

The following buttons are available above the working area:

| **Button**     | **Description**                                                                                                                                                                                                                                                                     |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Undo**       | Allows you to undo your actions within your current session, one action at a time. A burst of typing in one field is one action, and so is deleting a step together with its links. When you refresh or leave the Editing page, you leave the session and the undo option is reset. |
| **Redo**       | Allows you to restore an action you undid. When you refresh or leave the Editing page, you leave the session and the redo option is reset.                                                                                                                                          |
| **Validate**   | Allows you to perform validation of your Flow against [validation rules](/documentation/processing-configuration/flow/flow-validations)                                                                                                                                             |
| **Save draft** | Saves your changes as a Draft. Fynapse also saves your changes automatically 5 seconds after your last change, so the button is only enabled while there are changes to save.                                                                                                       |
| **Submit**     | Saves any changes that are not saved yet, then submits the Flow to the Active status                                                                                                                                                                                                |

## How to Create a Flow?

> **Info**
>
> Flows are comprised of different types of steps, described in details in the [steps](/documentation/processing-configuration/flow/flow-steps/overview) section.
> In this example, we will build a simple Flow comprising of four steps: Input, Script, Accounting Engine and Journal Processing. Such a Flow will allow you to e.g. enrich ingested transaction data and use them to generate Business Events and then Journals.

> **Tip**
>
> The **Map by name** button is available in the **Attributes mapping** card of all steps which require attributes' mapping. It allows you to automatically map the variables of the group you choose, such as `input`, to the output attributes with the same name.

1. Go to **Flows.**
2. On the **Flows** screen, click the **New** button.
3. A dialog will appear. In the dialog, type a unique name for your Flow and click the **Create** button.
4. Drag and drop the Input step from the toolbox to the working area, or click it in the toolbox. An Input step allows you to specify the type of event that will be the trigger for the execution of a Flow. The step's details open on the right.
5. In the **General** card, type in a name for your Input step.
6. Select the source Entity from the list, which groups Entities by namespace. To find an Entity, type part of its name in the search box above the list. This has to be a Transaction type Entity.
7. Now that a Flow has a beginning, you can drag and drop a Script step to your working area. A Script step allows you to define different processes, such as lookups, calculations, and data transformations, using Python code.
8. Type a name for your Script step.
9. In the **Script** card, create the Script for your function. Refer to the [Built-in Functions and Types](/documentation/processing-configuration/flow/flow-steps/built-in-python-functions-and-types) section for a list of pre-defined functions that are available. To give the script the whole window, click **Show full screen**. Click **Exit full screen**, or press Esc, to return.
10. Go to the **Outputs** card to define the attributes that will be generated by this Script step.
11. Click the **Add output** button. A new row appears in the grid.
12. Type the name of your attribute.
13. Select the type. The available types are:
    * Primitive attributes:
      * Text
      * Integer
      * Date
      * Boolean
      * Decimal - the decimal attribute operates with the following parameters: scale 18 digits and precision 3 digits. This format is hardcoded and cannot be changed.
      * High Precision Decimal - the high precision decimal attribute operates with the following parameters: scale 38 digits and precision 18 digits.
      * Timestamp
      * Uuid
    * Complex - this is an equivalent of an Entity, an attribute to which you can add nested child attributes
    * List - this is a collection of attributes of the same type
14. If you selected the List type, select the type of the attributes that will comprise the List attribute in the field beside the type.
15. If you defined a Complex type attribute, or a List of Complex attributes, you can add child attributes by clicking the **+** button in the **Actions** column. Then you type the name of the child attribute and select the type.

    You edit every attribute in place, and your changes are kept as you make them. To delete an attribute, click the delete button in the **Actions** column.
16. Once you are done defining the attributes, join the steps with a line by dragging it from the black dot on the right side of the Input step and connecting it to the Script step.
17. Drag and drop an Accounting Engine step. The Accounting Engine step allows you to process Business Events generated by a Flow in order to generate double entry accounting in the form of Journals.
18. Type a name for your Accounting Engine step.
19. Join the Accounting Engine step with the Script step with a line.
    > **Warning**
    >
    > If you do not join the steps, you will not be able to see the source attributes in the **Attributes mapping** card.
20. In the **Attributes mapping** card, map the **Variables** to the **Output** attributes. Click the link button beside a field on one side, then select the checkbox of the field on the other side that you want to link it to. A line joins each pair of linked fields.
21. The **Variables** comprise the attributes from the Input Entity defined in the Input step and attributes generated by the Script step.
22. The **Output** attributes are the attributes from the Business Event Definition.
23. Drag and drop a Journal Processor step. The Journal Processor step takes the Journals generated by the Accounting Engine and posts them to the Subledger.
24. Type the name of the Journal Processor step.
25. If you need to remove a step from the Flow, click on the step and press Backspace or Delete on your keyboard.