Skip to main content

Basic Concepts

A workflow is like a flowchart that describes a business process from beginning to end. You build it by placing steps on a canvas and connecting them with arrows. Each step represents something that happens — an action, a decision, or a task for someone to complete. The arrows show the order in which things happen.

The Flow Editor showing a workflow on the canvas with the General panel on the right

Workflow Execution

When someone starts a workflow, the system creates a process instance — one individual run of that workflow. Think of it like printing a copy of a form: the workflow is the blank template, and the process instance is the filled-in copy.

Every process instance automatically gets:

  • A unique ID so the system can track it
  • A business key — a human-friendly reference like a request number or ticket code
  • A status that shows where the process currently stands (see the table below)
  • Priority and deadline information for tracking time targets
  • All related tasks, people, notes, and files

Process Statuses

StatusWhat It Means
NewThe process has just been created
Pending-InProgressSomeone is actively working on it
Pending-ApprovalThe process is paused, waiting for someone to approve or reject
Resolved-CompletedThe process finished successfully
Resolved-CancelledThe process was stopped before it finished
ReturnedThe process was sent back for changes
Returned-OriginatorThe process was sent back to the person who originally started it
Returned-RecipientThe process was sent back to the person it was assigned to

Steps

Steps are the building blocks you drag onto the canvas to design a workflow. You can find them in the left panel of the Flow Editor under Basic Steps.

The Basic Steps panel showing Start, End, User Task, Function, and Decision

Each type of step does something different:

StepWhat It Does
StartThe starting point of the workflow. Every workflow begins here.
EndThe finish line. When the process reaches this step, it is complete.
User TaskPauses the process and creates a task for someone to complete.
DecisionChecks a condition and sends the process down different paths depending on the answer.
FunctionRuns an automatic action (like sending data to another system) without needing a person.
LogWrites a note in the system log, useful for troubleshooting.

For detailed information on each step type, see the individual step pages in the Steps section.

Forms

A form is the screen that a person sees when they open a user task. It can contain input fields, tables, or any UI layout you design in the form editor. A form can also be set to read-only so the user can view the information but not change it.

The form a task opens can be a fixed form you pick from your project, or a dynamic reference the system works out when the task runs — so the same step can open different forms depending on your process data.

For each form, you specify:

  • Form Source — how the form is chosen:
    • UI Page — use a fixed form (the default).
    • Literal UI Page Id — use an expression that decides the form at runtime.
  • Form (shown when Form Source is "UI Page") — the specific form to display, selected from your project's forms (for example, ExampleForm).
  • Expression (shown when Form Source is "Literal UI Page Id") — an expression that evaluates to a form Id when the task runs (for example, ${flow.input.variables.formId}). The system opens whichever form the value points to, so the form can change from one process instance to the next.
  • Readonly — check this to make the form view-only.

The Form dialog with Form Source set to "UI Page", showing the Form dropdown and the Readonly checkbox

To open a form dynamically, set Form Source to Literal UI Page Id and enter an expression instead of choosing a form:

The Form dialog with Form Source set to "Literal UI Page Id", showing the Expression field and the Readonly checkbox

Actions

Actions are the buttons that appear on a user task form. Each action tells the workflow what to do when the person clicks it.

The Action dialog showing Action Type, Custom Type, Label, Roles, Unique Keys, and Visibility Expression fields

ActionWhat It Does
CompleteFinishes the current task and moves the process forward
CancelCancels the current task
ReturnSends the task back to an earlier point in the process
SaveSaves any entered information without finishing the task
FunctionRuns an automatic action from within the task
UpdateUpdates the task data without completing it
TerminateStops the entire process immediately
Change StepJumps the process to a different step, skipping the normal path

For each action, you can also configure:

  • Custom type — an optional custom identifier for the action
  • Label — the text shown on the button (for example, "Approve" or "Reject")
  • Roles — which roles can see and use this button
  • Unique keys — prevents the same user from completing the task more than once The Unique Keys dropdown in the Action dialog, showing options like Approver 1, Approver 2, Checker 1
  • Visibility Expression — a rule that controls whether the button is visible or enabled
  • Function mapping — a flow to run when the button is clicked (for example, sending a notification or calling an external service)

Key Concepts

ConceptWhat It IsLearn More
RolesControl which forms a person can see and which actions they can use.Roles & Swimlanes
SwimlanesShared task queues for teams or departments. Any member of a swimlane can pick up tasks assigned to it.Roles & Swimlanes
SLA / DeadlinesTime targets for processes and tasks with three levels: Goal, Deadline, and Critical.SLA Configuration
Data InstanceThe container that carries your custom business data (customer name, amounts, statuses) through the entire process.Data Instance Context
Business KeyA human-readable reference for each process run, like "REQ-2026-00142". Generated automatically at process start.Business Key Generator
File FunctionsUpload, download, and delete files attached to a process.S3 File Functions

For workflow-level settings (how to configure all of the above), see Workflow Configurations.