Journeys
A journey is a multi-step automation — a graph of trigger, wait, branch and send steps a contact moves through over time. It's the same category as ActiveCampaign or Klaviyo's flow builder, with one real difference: a journey's send step mails one of your actual interactive email projects, so a welcome series can include a real poll or a scored quiz, not just static copy.
Triggers
A journey enrolls a contact when one of these happens:
- List joined — a contact is added to a specific list (CSV import, API push, or signup form).
- Form submitted — a specific signup form is submitted.
- Segment entered — a contact starts matching a saved segment.
- Date field — an anniversary/birthday-style trigger anchored to a contact field, recurring every year.
- Interaction — a specific block (or any block) fires a poll vote, form submit, RSVP, or similar.
- Purchase — a product-block checkout completes.
- Checkout abandoned — a Buy Now checkout was started but never completed, after a delay you set.
- Cart abandoned — a connected Shopify or WooCommerce store reports a cart that was started and left.
Steps
Build the graph visually on the canvas: send (mail an interactive project), wait (a fixed delay, or "each contact's own best hour" — see send-time optimization), branch (split on a condition, reusing the same audience-filter builder segments use), update field, webhook, create ticket, goal (exit early once a condition is met — e.g. stop an abandoned-cart journey once the contact pays), and exit. A step reached twice — a real branch rejoin, or a loop back to an earlier wait — collapses into a "continues at" marker instead of duplicating, so the canvas can represent a genuine graph, not just a tree.
Branch and update-field steps can read either a contact field or the value from whatever interaction enrolled the run — a "send poll → branch on which option they picked" flow needs no field to be created up front.
Safety rails
- Quiet hours push a due send to the next allowed local hour for that contact, computed from their own timezone-relevant field where available.
- A per-contact, per-journey cap of 3 sends a day defers rather than drops an over-limit send until the next day.
- Auto-disable after 3 failed ticks in a row — a journey whose sends have all failed across a whole processing cycle turns itself off rather than silently burning through your list, the same protection recurring schedules already have.
Plans
Free includes 1 journey with up to 5 steps; every paid tier raises both caps — see pricing for the full table. A journey starts paused when created, so you can review the whole graph before turning it on.