Building and publishing steps
Once you have created and set up a flow in your tenant, you can build the flow itself using the flow canvas drag-and-drop interface. Once you have built your flow, you can run and publish the flow to make it available to your users.
The flow canvas
Use the flow canvas visual drag-and-drop interface to build a flow, adding "steps" to the canvas, that can then be configured, linked together and positioned to define the workflow of your flow.
To get started using the flow canvas, see The flow canvas and Using the flow canvas.

Steps
Steps are used to define the workflow and behaviour of a flow, and can be thought of as the building blocks that make up a flow on the canvas. Each step provides access to a different feature that can be added into a flow, such as showing a screen to a user, obtaining user input, updating and manipulating data, and so on. Connecting map steps with outcomes allows you to determine the path (or paths) that a flow will take.
To get started with adding map steps and joining them with outcomes, see Steps and Outcomes.
You can add the following steps to the flow canvas:
| Icon | Name | Description |
|---|---|---|
| Start | The Start step represents the beginning of your flow on the flow canvas. | |
| Step | Presentation steps are used to present content to the users of a flow by allowing simple user interfaces to be created. A presentation step can contain videos, images, tables, links, presentations, and code snippets. | |
| Page | Page steps are similar to presentation steps in that they are used to present content to the users of a flow, however page steps allow for more complex, interactive pages to be built. Page layout templates are used to define the actual structure and functionality of the page. | |
| Modal | You can use modal steps to open content in a modal-type browser window. | |
| Wait | Wait steps are used to pause the execution of a flow for a set amount of time. When a user running a flow reaches a wait step, the flow is paused, and a screen/message displayed to the user for the duration that is set in the wait step. Once this time period has elapsed, the flow continues running, progressing to the next step in the flow. | |
| Decision | Decision steps allow conditional routing within a flow, for example where one incoming path gets split into two or more outgoing paths, based on pre-conditions. This is achieved using outcomes and business rules within a flow. | |
| Operator | Operator steps allow the state of a value to be changed, using standard operations (such as adding two values, emptying a value) or by using macro operations to perform more sophisticated operations (such as calculating a percentage, random number assignments, and so on). | |
| Message | Message steps allow the sending and receiving of requests to third-party messaging connectors. These can be used to configure both incoming and outgoing messages. | |
| Database Load | Database load steps allow data to be loaded from an external data source into a flow, such as from a database. | |
| Database Save | Database save steps allow data to be saved to an external data source from a flow, such as to a database. | |
| Database Delete | Database delete steps allow data to be deleted in an external data source from a flow, such as data in a database. | |
| Swimlane | Swimlane steps are used to group and restrict access to steps in a flow application, for specific users and groups that require different authorization privileges. For example, you could create an "employee" swimlane and a "manager" swimlane for a flow application that approves expense submissions. | |
| Group | Group steps allow you to organize multiple steps on the flow canvas into a single group, which can then be moved and positioned as a single canvas step. | |
| Subflow | Subflow steps can be added to a flow to call another flow as a child subflow. See Subflows. | |
| Return | Return steps are used in a subflow to indicate that the parent flow process should be rejoined from the subflow. See Subflows. | |
| Note | Note steps allow you to add notes directly to the flow canvas, to provide information about the flow. |
Shared Steps, Navigation, and Properties
Additional options are available on the top-right of the canvas.
| Icon | Name | Description |
|---|---|---|
| Dependencies | Shared steps are 'global' tenant steps that can be shared and re-used across multiple flows within a tenant. | |
| Navigation | You can add a navigation step to a flow to allow non-sequential navigation within a flow, allowing flow control to pass from one step to another without waiting for a previous step to be executed. | |
| Flow Properties | View and edit the properties for a flow directly from the flow canvas. |
Flow History
| Icon | Description |
|---|---|
| Flow History allows you to view and compare previous releases of a Flow. |
- Click Compare Releases button to compare two versions by selecting them.

- Click Run button to launch the versions.
- Click View Changes to see a list of additions, deletions, and modifications that have occurred since the preceding version in the list.

Running and publishing flows
Once you have configured your flow on the canvas, you can run or publish the flow to make it available to your users.
-
Running a flow allows you to generate and view the flow, without making it the default version of a flow.
-
Publishing a flow allows you to generate a flow in the same way as runnign a flow, except that the published flow "snapshot" is then set as the default version of the flow.
To get started with running and publishing your flows, see Running a flow and Publishing a flow.
| Icon | Name | Description |
|---|---|---|
| Running a flow | Running a flow will build and execute a flow, but will not make it the default version of the flow. A snapshot is taken of the current version of the flow, and a URL is generated for this version of the flow, allowing you to access the flow in a browser as a web application. This URL can then be used to share the flow with other users. | |
| Publishing a flow | Publishing a flow will build and execute a flow, and make it the default version of the flow for your users. A snapshot is taken of the current version of the flow, with this version becoming the default version of the flow. The default URL for the flow is generated for this version of the flow, allowing you to access the flow in a browser as a web application, and share the flow with other users. |