# Swimlanes & Offline Flows

A Flow Application typically consists of one main flow and a number of fragments. The fragments used in the main flow are typically single swimlane, while the main flow can consist of multiple swimlanes.

## Single Swimlane

Normal workflows where a single user executes the workflow.

## Multiple Swimlanes

Multiple swimlanes are used in offline workflows and in workflows with multiple users involved. Multiple swimlanes can also be used to perform background tasks in a machine swimlane in an online workflow.&#x20;

When using a multi-user workflow, consider the rules of the ERP system. Make sure that the Flow process works with the ERP workflow rules and statuses.

{% hint style="info" %}
Edit swimlane crossings and add task names that will be visible in the Flow Studio monitoring tab. Optionally, enable push notifications to the user/role receiving the task.
{% endhint %}

{% hint style="info" %}
Configure a handover inbox to display new tasks. Remember to make the necessary variables public so that they are visible in the inbox.
{% endhint %}

## Offline Flows

To create an offline application, start by developing an online workflow. When the workflow has been tested and verified, then make an offline version:

1. Copy the online workflow.
2. Create an offline swimlane for the user-facing logic and a machine swimlane for application logic.
3. Configure the user swimlane as a seeded offline to use the offline inbox functionality.
4. Replace all datasets in the user swimlane with offline resources.
5. Try to group your offline resources in a logical way: basic data, document data, user data, fast moving, slow moving (depending on update interval).
6. Move application logic to the machine swimlane using splits.
7. Use checkpoints to notify the user before handing off to the machine swimlanes.
8. Edit swimlane crossings and add task names that will be visible in the offline transaction menu (*My offline data*).
9. Create a machine workflow for help requests that notifies a system admin/super user. Connect the workflow to the *Help Request System Event*.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.novacura.com/flow-development-guidelines/advance-flow-features/untitled.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
