TestMesh
Dashboard

Managing Flows

Create, edit, organise, and run flows from the TestMesh dashboard — including AI generation, YAML import, collections, and the batch runner.

Flows are the core resource in TestMesh. The dashboard gives you several ways to create, organise, and run them without touching the CLI.

Creating a flow

From the Flows page, click New Flow. You have three options:

Start blank — Opens an empty flow in the visual editor with a single unconfigured step. Give it a name, then add steps from the action palette.

Generate with AI — Enter a plain-language description of what you want to test. The AI tab generates a complete flow YAML from the description, which you can review, edit, and save. Works best when you describe the full scenario, not just a single step:

"Create an order via POST /orders, verify a Kafka event is produced on order-events, and assert the database row has status confirmed."

Import YAML — Paste or upload an existing flow YAML file. The dashboard validates the YAML, shows any errors inline, and opens it in the editor. You can import flows written by hand, exported from the CLI, or generated by testmesh generate.

Editing a flow

Open any flow from the Flows page to enter the editor. The editor has two modes, switchable via tabs at the top:

Visual mode — The Mesh Canvas. Drag nodes, draw connections, and configure steps through the Properties panel.

YAML mode — A full-screen text editor showing the raw flow YAML. Edits here sync back to the canvas when you switch modes. Syntax errors are shown inline and block the switch until resolved.

Both modes edit the same underlying flow. There is no save button — changes are persisted automatically.

Organising flows

Collections

Collections are hierarchical folders for grouping related flows. Create a collection from the Collections page or by right-clicking a flow in the list.

Collections can be nested. A common pattern:

Order Service
├── Happy Path
│   ├── create-order
│   └── update-order-status
└── Failure Scenarios
    ├── payment-failure
    └── out-of-stock

Assign a flow to a collection from its detail page or the flow list context menu.

Search and filter

The Flows page supports free-text search across flow names, IDs, and descriptions. Use the filter bar to narrow by collection, tag, or last-modified date.

Running a flow

Single run

From the Flows page or the flow editor, click Run. A drawer opens where you can:

  • Select an environment (variable set) for the run
  • Override individual variables for this run only
  • Set a timeout override

Click Execute to start. The drawer transitions to the execution view showing live step results.

Run from the editor

In the editor toolbar, click the Run button. The run uses the currently selected environment. The execution panel slides in from the right and streams results as steps complete.

Batch runner

The Runner page lets you run a flow multiple times with different input data:

  1. Select a flow
  2. Upload a CSV or JSON file where each row/object provides a set of variable overrides
  3. Click Run batch

Each row produces one execution. Results are shown in a table with pass/fail per row, expandable to view individual step results. Useful for data-driven tests, load scenarios with varied inputs, or running the same flow against multiple environments.

Schedules

Schedule a flow to run on a cron expression from the Schedules page:

  1. Click New Schedule
  2. Select the flow and environment
  3. Enter a cron expression (e.g. 0 * * * * for hourly)
  4. Optionally configure failure notifications (Slack, webhook)

Schedules run against the saved flow at execution time — edits to the flow take effect on the next scheduled run.

Keyboard shortcuts

These shortcuts work anywhere in the flow editor:

ShortcutAction
Cmd/Ctrl+SSave (no-op — auto-saved, but triggers validation)
Cmd/Ctrl+ZUndo
Cmd/Ctrl+Shift+ZRedo
Cmd/Ctrl+FSearch nodes on canvas
?Show all canvas shortcuts
EscapeClose open panel

Deleting and duplicating flows

Right-click any flow in the Flows list to access Duplicate and Delete options. Duplicated flows are created with the name Copy of [original name] and are fully independent — editing one does not affect the other.

Deleting a flow also deletes its execution history. This action cannot be undone.

On this page