Docs/Flows
#

Flows

Build repeatable user journeys in the Flow Designer.

A flow is a test you build in Flow Designer — a sequence of nodes that models a real user journey through your application. You add nodes, connect them into a path, configure each one, then run, approve, or promote the flow.

This page covers the canvas itself and how the pieces fit together. Each node type has its own reference page, linked below.

01When to use a flow

  • Critical paths — signup, checkout, billing, onboarding
  • High-risk areas — features that regress often or have complex logic
  • Multi-step journeys — workflows spanning multiple pages or user roles

For guidance on writing flows that stay reliable and fail with clarity, see Designing a good test.

02Node types

A flow is built from nodes. The three core nodes drive the browser; the rest add checks, control, data, and side effects.

NodeWhat it doesReference
LoginSets the user context (acts as a credential)Core nodes
NavigateDirects the browser to a page or pathCore nodes
ActionPerforms a user interaction on the pageCore nodes
AssertionVerifies an expected outcome (warn or fail)Assertions
WaitPauses the run for a set durationSpecialty nodes
ConditionBranches the flow on a runtime conditionSpecialty nodes
NotificationSends an outbound email mid-flowSpecialty nodes
AudioPlays a clip into the mic, or checks captured audioSpecialty nodes
MCP workflow stepUses an MCP connection as a first-class workflow stepMCP workflow steps
Seed / SetupRuns another flow first to prepare data or stateSetup, seed & teardown

Actions can carry inline assertions so a check rides along with the step that triggers it — see Assertions.

03Flow lifecycle roles

Every flow has a type that decides when it runs relative to other flows in a suite:

  • Standard — a normal test. This is the default.
  • Setup, Seed, Teardown — preparation and cleanup flows that run around your standard tests.

See Setup, seed & teardown for how these attach to a suite and hand data to your tests.

04Flow status

Use a flow’s status to communicate whether it is ready to run and how your team should treat it. Set the status from the flow controls in Flow Designer; the same lifecycle controls are available through the Cofactor CLI.

StatusUse it when
ActiveThe flow is ready for normal use.
PausedTemporarily stop using the flow without treating it as permanently retired.
BlockedAn issue or dependency prevents the flow from running successfully.
Under constructionThe flow is still being created or substantially updated.
DeprecatedThe flow is no longer recommended for use.

When you change a status, enter a reason and, when applicable, link the relevant ticket. Include enough context for someone reviewing the flow to understand what changed and what action to take next.

05Flow list

Use the flow list to review and manage your flows at a glance. The list shows each flow’s lifecycle status and the duration of its latest run, helping you identify paused or blocked coverage and spot changes in execution time without opening the flow.

To export the current flow list, use Export CSV. Use the exported file to share flow inventory and status information or to continue analysis outside Cofactor.

06Building a flow

Start from a blank canvas, an import, or a recording. Import entry points include CSV files, test-file conversion, and Jira tickets; recordings come from the Canary Recorder extension. Each path opens a draft in Flow Designer so you can review the suggested goal, context, and generated steps before you run, approve, or promote.

Workflow import entry points

To build by hand:

  1. Click Create Node on an empty canvas, or the + button on an existing node.
  2. To draw a connection as you add, click and hold a node type in the add menu, then drag to where the next step should sit.
  3. Select the node type and configure it in the Configure panel — changes auto-save. Select an MCP workflow step to use an MCP connection as part of the flow; see MCP workflow steps for configuration and execution guidance.
  4. Click an edge to insert a node between two existing nodes, or to delete the connection.
Hold to drag from the add menu to create a connection

If your journey changes user context partway through, add a Login node at the switch point to keep the flow easy to follow.

07Editing flows

Edit a flow in Flow Designer by selecting a node, changing its settings in the Configure panel, or adding and rearranging connections on the canvas. Changes save automatically, so review the flow before you run, approve, or promote it.

When a step is no longer part of the journey but you want to preserve the flow’s history, deactivate the node instead of removing it. Deactivation keeps the node and its context available for review while preventing it from being used as an active step.

08Managing workflow nodes

To deactivate a workflow node:

  1. Select the node in Flow Designer and choose the deactivation action.
  2. Enter the reason in the Reason field when prompted. Describe the intentional change, such as a feature being removed, a step being replaced, or a test being temporarily disabled.
  3. Confirm the deactivation.

Use a specific reason that will help the next person maintain the flow. For example, record that a checkout step was replaced by a new payment provider rather than leaving the node’s inactive state unexplained.

09Comments and audit history

Flow status changes and node activation changes are recorded with the reason, the actor who made the change, and any linked ticket. Review these records in the unified Comments timeline to see flow and node changes in chronological order.

Add a reason whenever you change a status or deactivate or reactivate a node. Link the related ticket when the change belongs to planned work, an incident, or a follow-up task. Use the timeline to understand why the flow is paused, blocked, under construction, or deprecated before you edit or run it.

The deactivation reason remains available alongside the deactivated node. Check it before reactivating, replacing, or otherwise editing the node; it provides context for whether the change was intentional and what follow-up may be needed.

Configure panel and workflow inputs

With no node selected, the Configure panel holds workflow-level details: the summary card, description, and workflow inputs — reusable run-time values your steps share. When you enter a flow input in a supported field, use macro typeahead to find and insert available inputs and other macros. See Variables & macros and Scenarios.

Flow Designer summary card and validation feedback

Validation, approval, and promotion

Flow Designer saves as you edit but holds most validation until you click Run Flow, so you can keep building without interruption. Resolve any flagged inputs, variable references, or incomplete steps in the run experience before the run starts.

Validation feedback appears when you run the workflow

Approve a flow after review to record human sign-off that the test checks the right behavior. Promote approved standard flows when they should run in suites, CI, and schedules. Existing promoted flows keep running after the lifecycle split, but they may still show as Draft until someone approves them once; that approval is a one-time formality, not a removal from the gate.