Workflow automation

Your approval policy, running by itself.

Drag out the steps, branch on what was answered, and let delays, reminders, and escalations handle the parts that used to require you remembering. Or describe the whole thing in a sentence and let the AI draw it.

Free plan, no card required. Submitters are always free.

Purchase approval

Published

Trigger

Request submitted

approval:select-users

Line manager

if amount > $2,000

approval:team

Finance

if-approved

Status: Approved

if-rejected

Email submitter

01The node set

Nine node types. No scripting.

Small enough to hold in your head, expressive enough for the policies teams actually write. If your rule fits in a sentence, it fits on the canvas.

Approvals

approval:team

Route to a team's reviewers

approval:select-users

Route to named approvers

approval:group

Route to a reusable reviewer group

Branching

decision:if-approved

Continue down the approved path

decision:if-rejected

Continue down the rejected path

Actions

action:set-status

Set a terminal or custom status

action:email-submitter

Email the person who asked

action:email-member

Email a specific member

action:webhook

Call an external HTTPS endpoint

Timing & notice

time:delay

Wait before continuing

notification:request-owner

Notify the submitter

02Building one

Two ways onto the canvas

Generate it

“Purchases over $500 go to my manager, over $2,000 also need finance.”

That sentence is a complete specification, and Requester treats it as one — generating the nodes, the branch conditions, and the routing, then validating the result before it's saved.

  • Streaming generation you can watch and correct mid-build
  • Post-processing validates the graph rather than trusting the model
  • Everything it produces is fully editable on the canvas afterwards
More on the AI layer

Prompt

“Purchases over $500 go to my manager, over $2,000 also need finance, and remind them after two days.”

  1. approval:select-users — line manager
  2. decision:if-approved
  3. condition — amount > 2000
  4. approval:team — finance
  5. action:set-status — Approved

✓ graph validated — 5 nodes, 2 branches, 1 SLA reminder

Or draw it

A canvas that shows the branch you forgot

Drag nodes, connect paths, and set conditions on field values and request metadata. Seeing the rejected branch sitting empty is usually the moment someone realises their policy never said what happens on a no.

  • Conditional branching on any field value or request metadata
  • Per-step execution tracking, so you can see where a request actually is
  • A workflow map on every request showing the path it took

Condition

amount > 2000 && cost_centre == "ENG"

True

Finance approval

All of 2 reviewers

False

Auto-approve

Status: Approved

03Time

The engine that keeps working when nobody is watching

An approval process is mostly waiting. What you do during the waiting — remind, escalate, or nothing at all — is the difference between a process and a graveyard.

Delays

Wait a fixed period before continuing — for cooling-off windows, batching, or giving someone a chance to withdraw.

Step SLAs

Each approval step gets its own clock and its own reminders, rather than one blunt timeout for the whole request.

Workspace escalation

When a request breaches the workspace SLA, it escalates to admins instead of quietly ageing in someone's queue.

Durable & safe

Timers run on cron-backed durable state; executions take a per-execution lock so concurrent decisions can't corrupt a run.

04Reaching outward

A workflow step can leave the building

Outbound webhooks

Call an external HTTPS endpoint as a workflow step — provision the account, open the ticket, kick off the purchase order.

Learn more

Emails from the flow

Email the submitter or a named member at any point, branded with your workspace identity.

Status as an action

Set a terminal status — including your own custom labels — so downstream reporting reads your vocabulary, not ours.

Restart a run

Re-run a workflow that executed on stale information, with the restart itself recorded in the audit log.

Learn more
Your workspace can call it “Pending Legal”. The engine still knows it means In Review — which is why renaming a status never breaks your automation.
Why statuses map to categories
05Questions

What people ask before building one

Do I have to build a workflow to use Requester?
No. A template can have zero or one workflow attached. Without one, a request still routes to the template's default approvers and gets the full record. Workflows are for when the routing has real rules behind it.
What happens to a delay if the server restarts?
Nothing. Delays and SLA reminders run on durable timers processed by a cron job rather than in-memory schedulers, so a wait of three days survives deploys, restarts, and scaling events.
Can two approvals landing at the same moment corrupt the state?
No. Execution is concurrency-safe: each workflow execution takes a per-execution lock and status transitions are conditional, so simultaneous decisions can't double-advance a request or skip a step.
Can I use my own status names?
Yes. Custom statuses let a workspace rename and recolour the defaults and add its own — “Pending Legal”, “PO Issued”. Each one maps to one of nine semantic categories, so the engine, analytics, and SLAs keep working with your vocabulary on top.
Is multi-step approval a paid feature?
No. Multi-step approvals and conditional logic are available on every plan, including Free. Paid plans gate volume and advanced fields, not the shape of your process.

Describe your approval policy. Watch it become a workflow.

One sentence in, a working multi-step process out — with reminders, branches, and escalation already wired. Multi-step approvals are on every plan, including Free.