Sequence Flow
The solid arrow that defines execution order between elements of the same process — the path the token walks from start to end.
The Sequence Flow — solid line, filled arrowhead — connects activities, events and gateways within one process/Pool. Three variants exist:
- Normal: unconditional transition.
- Conditional: carries an expression; the token passes only if true. Leaving an activity, it wears a small diamond at its origin.
- Default: marked with a slash at the origin; taken when no other outgoing condition holds.
Sequence flows can never cross a Pool boundary — that is what Message Flows are for.
When to use and avoid
When to use
To order any pair of elements within the same process.
As a conditional flow out of an activity for lightweight branching without a gateway.
As the default flow to guarantee an exit when no condition matches.
When NOT to use
To connect different participants (Pools) — Message Flow.
To attach artifacts (annotations, data) — Association.
Crossing into or out of a Pool border — sequence flows are strictly internal.
Business example
Normal, conditional and default flows

Open this example in the HEFLO process editor and explore the diagram from the inside.
Open in the HEFLO editor →Step by step
- After Assess ticket, two sequence flows leave the task.
- The conditional flow “Urgent” (highlighted, diamond at origin) routes to immediate handling when the condition is true.
- The default flow (highlighted, slash at origin) routes to the normal queue otherwise.
Valid — but an explicit Exclusive Gateway usually reads more clearly than conditions on activity exits.
Differences
Sequence Flow vs Message Flow
Sequence flow (solid) orders elements *inside* a Pool. Message flow (dashed, open arrowhead, circle at origin) carries communication *between* Pools. Never substitute one for the other.
FAQ
Can two sequence flows leave one task?
Yes — an implicit split. Make at least one conditional and define a default. For readability, prefer an explicit gateway.
How do conditional and default flows differ visually?
Conditional wears a small diamond at its origin; default wears a short slash across its start.