Email workflows · Built for developers

A visual automation builder that doesn't lie about what it runs

Most "workflow" builders are linear drips in a trenchcoat. FlowingMail ships a proper canvas: triggers, branches, delays, filters, parallel paths, and send actions that bind to whichever email provider you've connected - with flat startup-friendly pricing and a generous free tier.

Why FlowingMail

What 'workflow' should actually mean

A node that does exactly one thing. Clear edges between them. No hidden state. No surprises at runtime. Event-driven email automation for developers - the way your codebase works, not the way marketing dashboards work.

  • Canvas-based automation builder with true branches and merges
  • Every node is inspectable - see what data flows in/out, in real time
  • Hot-reloadable: edit a live flow without halting in-flight contacts
  • Version history and one-click rollback - treat flows like code
  • Generous free tier - 5 flows, 25,000 contacts, no credit card
  • Runs on your own provider (SES / Resend / SendGrid / Mailgun / SMTP) with flat pricing
Capabilities

Every node type you need

Five primitives compose into every real-world email flow.

Triggers

Contact Created, Added to Group, REST/Webhook event, Schedule, Cron, Contact Attribute Changed.

Conditions (branches)

If/else on any attribute, group membership, engagement signal, or custom event property.

Delays

Relative (2 days later), absolute (next Monday 9am local), and send-window constraints.

Filters

Narrow the working set mid-flow - continue only for contacts who clicked, or who never opened, etc.

Actions (sends)

Send email (any provider), add/remove from group, set attribute, fire a webhook, or exit the flow.

Merges & parallel paths

Multiple triggers feeding one flow, parallel branches re-converging - model real funnels, not straight lines.

How it works

Building your first workflow

01

Pick a starting template

Welcome series, trial nudge, abandoned-cart, win-back, or blank canvas.

02

Wire the nodes

Drag nodes in, connect edges, configure each one in the side panel.

03

Dry-run & activate

Step through with a test contact, confirm every branch, then flip activation on.

Integration

Trigger workflows from your code

Every flow is addressable by its flw_xxx ID and triggered via a single REST call - regardless of the underlying email provider.

# $FLOW_ID is the flw_xxx ID from the dashboard.
curl -X POST "https://api.flowingmail.com/v1/flows/$FLOW_ID/trigger" \
  -H "Authorization: Bearer $FLOWINGMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contactId": "cnt_abc123",
    "variables": { "plan": "pro" }
  }'
FAQ

Email workflows - FAQ

A campaign is a one-off broadcast sent at a scheduled time. A workflow is an always-on, contact-triggered sequence - a welcome series, a trial nudge, a re-engagement drip. FlowingMail supports both side-by-side.

Yes. Flows can have multiple trigger nodes (e.g. Contact Created + Added to 'Newsletter' group), which merge into the same canvas. Each trigger is evaluated independently.

New contacts enter the updated version. Contacts currently in the flow finish on the version they started on unless you force a migration. Every change is versioned - you can roll back with one click.

Yes. Provider webhooks populate engagement attributes (last_open_at, clicked_campaign) in real-time, which you can branch on. You can also wait-for-event nodes - e.g. 'wait up to 3 days for a click'.

Yes. A single workflow can have send-actions bound to different providers - e.g. trigger onboarding via Resend, while the 'paid plan welcome' action sends through SES. Useful for isolating marketing vs transactional traffic.

Use Dry-Run mode. Step through the flow node-by-node with a test contact, inspect the data at each step, and confirm branching logic before activating.

Explore more

Ship your first automation today

Connect a provider, trigger your first flow, keep every cent of your email ROI

Event-driven email automation for developers. Startup-friendly pricing, generous free tier, and zero markup on sending. No credit card required.