A user flow is a visual or written representation of the steps, decisions, and states a user moves through to accomplish a goal in a product.
For a card-freeze feature, the simplest flow might be:
Card → Card settings → Freeze card → Confirm → Frozen state
But real product behavior may include additional branches: the card is already frozen, the request fails, the user lacks permission, or a pending transaction still exists.
A useful flow makes those possibilities visible.
A task flow often describes one straightforward sequence for one task. A user flow can include multiple entry points, branches, and alternate routes.
A user journey is broader and can include goals, emotions, channels, context, and touchpoints outside one interface.
A user flow usually stays closer to the product interaction itself.
A flow is easier to evaluate when everyone knows what success means.
Failures, permissions, empty data, and interruptions often contain the expensive gaps.
Split large systems into meaningful subflows rather than forcing everything onto one canvas.
New flows have to fit existing navigation, permissions, components, and terminology.
A user flow answers: what sequence of actions and system states takes this user from intent to outcome?
Task flow · User journey · Decision point · Edge case
See practical maps in Figr’s User Flow Examples.