Workflows
This page is for when the templates aren't quite right. The Playbook editor lets you build a workflow from scratch — or fork a template and modify the parts you need.
You'll find the editor at Playbook → New workflow.
The editor at a glance
The editor has three panes:
- Left — the trigger and the step list (drag-and-drop reorderable)
- Centre — the currently-selected step (configuration panel)
- Right — the dry run panel: a fake invocation showing what each step would do given the current data
You don't have to use the centre + right at the same time. Most builders bounce between them — edit the step, watch the dry run update, tweak, repeat.
The step library
You drag in steps from a palette. The palette is grouped by category:
Read steps
- Query metric — fetch a number from a module
- Query list — fetch a list of records (deals, customers, employees)
- Compare to history — compute a delta vs. a prior period
- Compare to cohort — compute a delta vs. peer benchmark
Write steps
- Update metric — set a value (with reason)
- Update record — change a field on a record (deal stage, customer status)
- Open task — create a task with owner, priority, due date
- Open form — present a form to the user
Communicate steps
- Draft email — composed in the right language for the recipient
- Draft WhatsApp — short-form
- Send notification — to a workspace member
- Schedule meeting — adds to the calendar of the assigned member
Flow steps
- Wait — duration or until-date
- Decision — branches based on conditions
- Sub-workflow — call another Playbook (with its own owner/scope)
Conditions
Conditions are the small expressions inside Decision steps and step-execution gates. The expression language is plain:
revenue_this_month > 1.1 * revenue_last_month
runway_months < 3
team.engineering.attrition_90d > 0.15
flag.severity == "high"The editor offers autocomplete on metric names and entity fields. You don't need to memorise.
A worked build: monthly board update
Suppose you want to build a workflow that, on the 1st of every month at 9 AM:
- Aggregates last month's numbers
- Drafts a board update
- Asks you to review
- Sends it to a fixed list of recipients
The build:
- Trigger — Schedule, cron
0 9 1 * * - Step 1 — Query metric:
revenue_last_month,pipeline_value,runway_months,headcount,cash_balance - Step 2 — Agent action: "Generate a one-page board update from these numbers, in the format we've used before."
- Step 3 — Task: Review the draft. Assigned to: Owner. Due: same day, 11 AM.
- Step 4 — Decision: was the draft approved?
- Yes → Step 5
- No → Wait for the task to be closed (back to step 3 with edited draft)
- Step 5 — Send email: to the board distribution list. Subject:
Board update — {month} {year}. - Closure — Did the email send and not bounce? If yes, complete.
The whole thing is a 6-step Playbook. Most months it runs without your involvement until step 3. Step 3 is the human-in-the-loop checkpoint that exists because board updates are not the place to fully trust automation.
Dry runs
Before you turn a workflow on, run it dry. The Dry run button in the top-right of the editor:
- Walks through every step
- Uses the current real data, but doesn't write anything
- Doesn't send any external messages — drafts are shown in the dry-run panel
- Shows you the runtime, the data fetched, the decisions made
Dry runs are free of tokens. Use them generously. Workflow bugs that ship to production are almost always ones the author never dry-ran.
Versioning
Every workflow is versioned. When you save changes, you create a new version (v2, v3…). Past runs remain associated with the version that ran them.
- Settings → Playbook → Versions — see every version of every workflow
- Revert to version — if you broke something
- Diff versions — see what changed between two versions
This is unusual for a no-code tool, but workflows touch real business actions — version history is non-negotiable.
Sharing and forking
A workflow can be shared within your workspace. To share across workspaces, export as a .playbook.json file and import elsewhere.
You can also publish a workflow to your own private library — useful when you've built one for one branch and want to deploy it to others.
Testing a workflow before it touches production
A workflow can be flagged as test-mode. In test-mode:
- All write actions go to a sandbox (visible only in the dry-run panel)
- All external sends are blocked
- The run completes in seconds (no
Waitsteps actually wait) - The result is a full timeline of what would have happened
When you're happy, switch off test-mode. The workflow is live.
→ Next: Templates library