The automation builder that doesn't fight you
Event-driven email automation for developers. A real canvas - pan, zoom, multi-select, keyboard shortcuts - with nodes that do exactly what they say. No hidden state, no modal hell, no vendor lock-in.
Why a real canvas beats a step list
Step-list builders force every workflow into a straight line. Real campaigns branch, parallelize, and merge. FlowingMail's canvas treats those as first-class.
- True branches and merges - not simulated with tags
- Every node is inspectable; hover to see the data that flows through
- Keyboard-first: SPACE to run, ? for command palette, J/K to navigate nodes
- Live - flows run in the background while you edit
- Versioned - roll back in one click
- Dry-run mode - step through with a fake contact, see every variable
Five node types. Unlimited compositions.
Everything is a node. Everything can be wired to everything. That's the contract.
Triggers
Contact Created, Added to Group, Webhook, Schedule / Cron, Attribute Changed. Multiple triggers can feed one flow.
Conditions
If/else on attribute, group membership, engagement signal, or custom event. Combine with any_of / all_of.
Delays
Relative (2 hours later), absolute (Monday 9am local), or wait-for-event (wait up to 3 days for a click).
Filters
Narrow the working set mid-flow - continue only for contacts matching a segment.
Actions
Send email (any provider), add/remove from group, set attribute, fire outbound webhook, exit flow.
Merges & parallel paths
Model real funnels - parallel branches re-converging at a single send, or multiple entry points feeding one flow.
How you'll actually use it
Drag nodes in, connect edges
Use the dock at the bottom or the command palette. Snap-to-grid keeps everything aligned.
Configure each node
Side panel opens on click. Templates, senders, conditions - everything inspectable and editable inline.
Dry-run and activate
Step through with a test contact. Confirm every branch. Flip activation on - contacts start flowing through.
Shortcuts and terminology
Everything you need to be productive in 10 minutes.
SPACE Run / activate flow
? Open command palette
/ Focus search
J / K Navigate nodes
Cmd+D Duplicate selected node
Cmd+Z Undo (unlimited history)
Cmd+S Save (autosaves every keystroke anyway)
Esc Close side panelVisual workflow editor - FAQ
It's a real canvas - pan, zoom, multi-select, snap-to-grid. Built on @xyflow/react (the same engine behind n8n and React Flow). Not a linear step list.
Yes. Every flow has a JSON representation exportable from the editor. Great for version-controlling flows in git, diffing across environments, or bootstrapping new tenants.
Every save creates a new version. Contacts mid-flow stay on the version they started on; new contacts enter on the latest. One-click rollback to any prior version.
Step through a flow node-by-node with a test contact. See exactly which branch is taken, which template renders, and what variables resolve to - without sending real email or writing to the contact's timeline.
The editor is desktop-first. The mobile dashboard shows flow status, contact timelines, and analytics, but canvas editing is optimized for pointer + keyboard.
Explore more
Conceptual overview of how flows compose.
Platform-level overview.
The canvas on AWS SES.
The canvas on Resend.
A complex branching workflow, built on the canvas.
Simple single-send flows, same canvas.