Project

Workflow Designer

The Workflow Designer is where a workflow definition is built. Open it by creating a workflow in Workflows > Workflow Administration > Workflow Definitions, or by choosing Design from the Actions menu of an existing workflow.

If you have not built a workflow before, start with Create Your First Workflow.

Creating a workflow

Click New workflow on the Workflow Definitions page.

Field Description
Display Name The name shown to users, up to 128 characters.
Technical name Used in URLs and integrations. Lowercase letters, digits and hyphens only. It is filled in from the display name and cannot be changed after creation.
How do you want to start? Start blank, Start from a template (then pick a template; the first option is Empty workflow), or Describe and create, which drafts the workflow with AI and is only shown when AI authoring is available.
Category Free text used to group workflows in the catalog. Existing categories are suggested.
Description Up to 512 characters, shown on the catalog card.
Icon, Color How the workflow appears in the catalog.

The Edit dialog also has Responsible user. This user is used as the requester when a workflow starts without a person, which is required for scheduled and public form workflows.

Designer layout

The page header shows the workflow name and its state, for example Draft · v3 or Published · v2, and an Unsaved changes badge while you have edits. The header buttons are:

Button Description
Back Returns to the definitions list.
Save as template Saves the current design as a template others can start from.
Validate Runs the full publish check and lists every problem.
Save draft Saves the draft. Requires the Editing workflow definitions permission.
Publish Publishes the draft as the active version. Requires Publishing workflow definitions. While there are unsaved changes, the button reads Save and publish and saves the draft first.

The designer has four tabs: Flow, Form, Trigger and Simulation.

Workflow Designer

Form tab

The form is what the requester fills in. The tab has three panes: Field types, Form layout and Properties.

  • Click a field type to add a field. Use Move up, Move down and Remove field on each row.
  • Click Add section to split a long form into sections. A Section setting appears on each field once the form has more than one section.
Form tab

Field types

Short text, Long text, Number, Money, Date, Time, Date and time, Yes / No, Single select, Multi select, User, Role, Organization unit, Attachment, Static text, Repeating rows and Calculated.

  • Attachment is only offered for workflows that have a public form, and only when attachments are allowed by the host. Signed-in requesters attach files in the Workflow attachments section of the request page instead.
  • Static text shows text to the requester without asking for input.
  • Repeating rows lets the requester add several rows, each with its own Row fields, for example the lines of an expense claim.
  • Calculated computes a value from other fields with an Operation (Sum, Subtract, Multiply, Average, Smallest, Largest, Count) over Source fields.

In this version, the request page cannot yet be filled in for User, Role, Organization unit and Repeating rows fields. They can be designed, but the request page shows This field type cannot be edited here yet. for them. Until this is supported, use the request page's Workflow attachments section for files, and the other field types for the remaining data.

Field properties

Group Properties
General Label, Key, Help text, Placeholder, Default value. Options (one per line) for select fields, Currency code for Money.
Validation Required, and by type: minimum and maximum length, Pattern, minimum and maximum value, Decimal places, earliest and latest date, minimum and maximum selections, maximum file count and size, Allowed file extensions, minimum and maximum rows.
Layout Column span (1-12, default 12), Read-only, Contains sensitive data.

The Key identifies the field in conditions, notifications and integrations. Choose it carefully and avoid changing it after the workflow is in use.

Flow tab

The flow is the path a request takes. It is drawn on a canvas.

Adding and connecting steps

  • The Steps palette groups step types into Flow, Human tasks, Control, Integration and Outcomes. Use Search steps to filter it. Click a step to add it near the centre of the canvas, or drag it to a position.
  • A workflow has exactly one Start step.
  • To connect steps, drag from an output port to the input port (the circle on the left) of the target step. A step with one outcome has a single port on its right. A step with several outcomes shows one labeled row per outcome.
  • Each outcome takes one connection. A step cannot connect to itself, and nothing can connect into Start.

Step outcomes

Step Outcomes
Start, Form, Notification, Action, Join, Slack, Teams, AI agent One output
Approval Approved, Rejected, Changes requested
Condition One per branch, plus Otherwise
Parallel Parallel branch 1, Parallel branch 2, …
Timer After delay
Subprocess Completed, Rejected
Wait for event Event received, Event timed out
Approved, Rejected, Cancelled None. They end the request.

Editing steps

Select a step to edit it in the Properties panel on the right. The General tab always has Name and Description, the step's connections and a Remove step button. Other settings are grouped in tabs such as Behaviour, Assignment, Delivery, Recipients, Mapping and Service level.

With nothing selected, the panel shows What this workflow does, a plain-language summary of the flow.

To delete a connection, click it and choose Remove connection, or use the × next to it in the step's connection list. Deleting a step also deletes its connections.

Canvas toolbar and shortcuts

The toolbar has Undo, Redo, Copy, Paste, Delete, Outline (a list view of the steps), Auto layout and a Steps N / max counter for the step limit. Zoom controls and a minimap are at the bottom.

Shortcut Action
Ctrl+Z / Ctrl+Y Undo / redo
Ctrl+C / Ctrl+V / Ctrl+D Copy / paste / duplicate
Del or Backspace Delete the selection
Ctrl+A / Esc Select all / clear the selection
Shift+drag Select with a box
Ctrl+mouse wheel Zoom

Step reference

Some steps depend on capabilities the host turns on in Administration > Settings > Workflows. Steps whose capability is off are not listed in the palette, or fail validation.

Step Requires
Parallel, Join, Subprocess, and the Everyone / Quorum decision policies Allow advanced approvals (on by default)
Action Allow external actions (off by default)
Wait for event Allow workflows to wait for external events (off by default)
Send a Slack message / Send a Teams message Slack / Teams notifications (off by default)
AI agent AI agents configured in the tenant

Start

Where every request enters the workflow. It has no settings of its own. How requests are started is set on the Trigger tab.

Form

The requester fills in and submits the form. A workflow must have a Form step, and the Changes requested outcome of an approval usually returns to it.

Tab Setting Default
General Read-only fields: form fields the requester cannot change at this step none
Behaviour Allow attachments on
Behaviour Allow the requester to withdraw on
Service level See Service level

Approval

Assigns a decision to people, roles or organization units.

Assignees

On the Assignment tab, choose an Assignee type, pick the user, role or organization unit, and click Add assignee. Add as many as you need.

Assignees of an approval step
Assignee type Who decides
Requester's manager The manager of the user who started the request.
User A specific user.
Role Every user in the role.
Organization unit Every user in the organization unit and its child units.
Fallback role Every user in the role, added as approvers along with the other assignees. Operators can also bring it in with Activate Fallback Assignee on the Workflow Operations page.

Requester's manager resolves from manager relationships stored for the tenant's users. This version does not include a screen for maintaining them, so populate them from your own code or integration, or also add a Role or Fallback role assignee so the task always has someone who can decide. Use Simulation to check who each step resolves to.

Behaviour

Setting Description Default
Decision policy Anyone can decide: the first decision counts. Everyone must approve: every assignee must approve. A quorum must approve: the number in Required approvals must approve. The last two need advanced approvals. Anyone can decide
Allow delegation Lets a colleague the approver has delegated to decide on the task. on
Allow "request changes" Shows the Request changes button. When on, the Changes requested outcome must be connected, usually back to the Form step. on
Require a reason when rejecting on

Whether a requester may approve their own request follows the tenant's Default self approval policy. See Workflow Settings.

Delivery

Channels also delivers the task to Microsoft Teams or Slack, using a Connection profile. Allow approve and reject from the chat message lets approvers decide from the chat card. These options require the channels to be enabled by the host and in the tenant's workflow settings.

Service level

Form and Approval steps have a Service level tab:

Setting Description
Due in (minutes) When the task becomes overdue.
Use the business calendar Counts only working hours and days from the tenant's business calendar.
Reminder every (minutes) Sends a reminder this many minutes after the task starts, if that is before the due time.
Escalate when overdue, Escalate after (minutes), Escalate to Adds the Escalate to assignees to the task Escalate after minutes after it becomes overdue. The original assignees keep the task, and the new assignees are notified.

Condition

Takes a different path per branch, based on form values.

Click Add branch and define the branch in its editor:

  • Branch name: the label of the branch's outcome.
  • Field: a form field or a workflow variable.
  • Operator and Value. The operators depend on the field type:
Field type Operators
Number, Money, Date, Time, Date and time, Calculated Equals, Does not equal, Greater than, Greater than or equal to, Less than, Less than or equal to, Is empty, Is not empty
Yes / No Equals, Does not equal, Is empty, Is not empty
Multi select, User, Role, Organization unit, Attachment Contains, Does not contain, Is one of, Is not one of, Is empty, Is not empty
Text and other types Equals, Does not equal, Contains, Does not contain, Is one of, Is not one of, Is empty, Is not empty

For Is one of and Is not one of, enter the values separated by commas.

Branches are evaluated from top to bottom and the first matching branch is taken; use Move up and Move down to order them. The Otherwise outcome is taken when no branch matches and must always be connected. When AI authoring is available, you can also describe a rule in your own words and click Suggest a condition.

Parallel and Join

Parallel starts several branches at the same time, for example a finance and a legal review. Join waits for them before the flow continues.

  • Parallel: Join step, Cancel the other branches when one is rejected (on by default).
  • Join: Parallel step, Join mode (Wait for every branch, Continue on the first branch or Wait for a number of branches) and Required branches.

Timer

Holds the request for a while.

  • Timer mode: Wait for a duration with Wait for (minutes); Wait until a form date with Date field and Offset (minutes); or Wait until a fixed date.
  • Use the business calendar (off by default).

Notification

Sends an in-app notification or an e-mail.

Tab Setting Description
General Notification name Required. A name that identifies this notification, for example LeaveApproved.
General Subject, Message The text of the notification.
Delivery Send as an in-app notification On by default.
Delivery Also send an e-mail Off by default.
Delivery Channels Also posts to Teams or Slack.
Recipients Recipients Tick The requester and/or Approvers of the earlier steps, and add People, roles or units.

Subject and Message can contain these placeholders: {workflowName}, {businessReference}, {stepName}, {workflowInstanceId}, {requesterUserId}, {workflowDefinitionId}, {workflowDefinitionVersionId}, {workflowRevisionId}.

Action

Calls a registered application action or an outbound webhook. Available when external actions are allowed.

  • General: Action kind (a registered action, an outbound webhook or an HTTP connection profile) and its settings.
  • Behaviour: Timeout (seconds), Max attempts, Continue when the action fails.
  • Mapping: Action inputs, which fill the action's parameters from form values.

The actions a tenant can use are managed in Action catalog. HTTP calls use the endpoints and credentials in Connection profiles and Workflow secrets.

Subprocess

Starts another published workflow and optionally waits for it. Settings: Workflow, Wait until the subprocess finishes, Outcomes (Continue on a single outcome or Branch on the sub-workflow outcome), Cancel the subprocess when this request is cancelled and Input mapping.

Wait for event

Holds the request until an external system reports back, for example a payment confirmation. Events are defined in Workflow events. Settings include Event, Match the event by, Correlation field, Give up after (minutes), When it times out, Payload mapping and Waiting message.

Slack and Teams messages

Send a Slack message and Send a Teams message post a message as a step of their own: Connection, Channel, Title, Message, Importance, Include a link to the request and Fields to show.

Approved, Rejected and Cancelled

Close the request with that outcome. A workflow must contain an Approved and a Rejected step.

Trigger tab

Start type decides how requests are started:

Start type Description
Manual Users start requests from the Request Catalog. This is the default.
Scheduled Requests start automatically, for example every Monday at 09:00. Requires Allow scheduled start from the host and a Responsible user on the workflow.
Public form People outside the organization submit requests through a public link. Requires Allow public forms from the host and a Responsible user on the workflow.

Trigger is active turns the trigger on or off. The Trigger tab only works after a Start step has been added.

For a scheduled trigger, set Repeats, Every, Days of the week or Day of the month, Time, Time zone, what to do If it falls on a non-working day, and What happens when it runs: Create a draft request for the responsible user or Submit automatically using default values. Automatic submission requires every required field to have a default value. Next runs previews the upcoming runs.

For a public form, set the Public form address, Require captcha verification, Verify the submitter email address and Allow file attachments.

Validation

Validate runs the same checks as publishing. Each problem names the step or field it belongs to. The most common ones for a new workflow are:

Problem Fix
The flow has no steps yet Add steps from the palette.
No Form step, or no Approved / Rejected result step Add the missing step. Every workflow needs Start, Form, Approved and Rejected.
Nobody is assigned to decide Add an assignee on the approval's Assignment tab.
The "Changes requested" output of this step is not connected Connect it back to the Form step, or turn off Allow "request changes".
The condition step must have an otherwise path / A condition branch has no outgoing connection Connect the condition's Otherwise outcome and every branch.
The workflow contains a loop Remove the connection that leads back to an earlier step. Only Changes requested may return to the Form step.
A step requires a feature The step depends on a capability the host has not turned on.

Simulation tab

Simulation runs the workflow without creating a request. Choose a Requester, a Priority, a decision for each approval under Decisions per approval, and enter Sample form values, then click Run simulation.

The Result shows the path the request takes, who each step is assigned to, due dates and escalation times. It warns when No assignee resolves for this step or when The requester would approve their own request here. Run a simulation for each path before publishing.

Drafts, versions and publishing

  • You always edit a draft. Save draft stores it after a light check.
  • Publish validates the draft again, makes it the new active version and retires the previous one. Requests that are already running continue on the version they started with.
  • A published version opens read-only. The next edit creates a new draft from it.
  • Version history in the Actions menu lists every version.

Managing workflows

The Actions menu on the Workflow Definitions page offers, depending on your permissions and the host settings:

Action Description
Design / Edit Open the designer / edit the name, category and other details.
Suspend new requests / Resume new requests Temporarily stop new requests without affecting running ones.
Publish Publish the current draft without opening the designer.
Public form Configure the public link of the workflow.
Version history, Version migration List versions; move running requests to a newer version (when allowed by the host).
Export as BPMN, Export as Elsa JSON, Import from BPMN Exchange workflows with other tools. Import replaces the workflow's draft; the published version is not touched.
Retire Permanently stop the workflow from being used.

Templates

Click Save as template in the designer to save a design as a template. Templates are listed in Workflows > Workflow Administration > Workflow Templates, where they can be previewed, used with Use this template, or deleted (templates saved by your tenant only). They are also offered in the Start from a template option of the New workflow dialog.

Every tenant starts with the product templates Leave request, Expense claim and Purchase request. They can be used but not deleted. Their approval steps have no approvers until you assign them.

Next

Contributors


Last updated: October 28, 2026 Edit this page on GitHub
In this document