Journeys

Message customers when they act, not when you remember.

Your store sends events: checkout started, order placed, parcel delivered. Journeys decide what to send on WhatsApp and when, stop the moment it no longer makes sense, and show you the revenue each one recovered.

Start from any event

A journey starts when your system sends the event you choose, optionally filtered by its properties: only cash-on-delivery orders, only carts above a value, only a specific product.

Wait for what happens next

Pause for a set time, or wait for an event with a timeout: "did they order within 60 minutes?" One outcome ends the journey, the other sends the follow-up.

Exits and goals built in

Exit events end the journey for that person mid-wait. A goal event credits conversions and revenue, and a separate "recovered after message" number shows what the message itself brought in.

Guardrails on every send

Marketing templates only reach opted-in customers, Do Not Disturb is respected, an agent taking over a chat pauses the journey for that customer, and Meta's frequency-cap protections apply.

One HTTP call, no SDK

Works with any backend that can POST JSON. Idempotent by event_id, so retries and webhook replays never double-send.

Every step visible

Each run shows what happened and why: waited 60 minutes, no order, reminder sent, or "not sent: no WhatsApp marketing opt-in". No guessing why a customer did or did not get a message.

How it works

01

Send events from your backend

Call POST /v1/events when something happens. Include the customer's phone, email or ID and any details you want in the message.

02

Build the journey visually

Pick the trigger event, add waits, branches and an approved WhatsApp template, and choose the exit and goal events.

03

Switch it on and read the results

Watch who entered, who was messaged, who came back to buy, and how much revenue the journey recovered.

Abandoned cart, end to end

The most common first journey, and the one most stores get wrong: reminding people who already bought. Here it is built from four steps.

  • Trigger: checkout_started, once the customer has entered a phone number
  • Wait for order_placed for up to 60 minutes
  • If the order arrives, the journey ends and the goal is credited with the order value
  • If it does not, send an approved cart-reminder template with the cart value and a link back to checkout
WHEN EVENT HAPPENScheckout_startedWAIT FOR EVENTorder_placedup to 60 minutesOrderedNo orderJourney endsNo reminder sent. Goalcredited with the order value.SEND WHATSAPP TEMPLATEcart_reminder_v1opted-in customers onlyDelivered on WhatsAppOrder later = recovered

Honest results, not vanity numbers

Most reminder tools report every order after a message as recovered. Journeys separate the two so you can judge the reminder by what it changed.

EnteredStarted the journey
ConvertedReached the goal in its window
Recovered after messageConverted after a WhatsApp send
RevenueSum of goal values

Built to protect your number

A journey can reach many people without anyone pressing send, so the safeguards live in the engine, not in your discipline. Each one is a default you can see in the journey settings.

Marketing templatesOpted-in numbers only
Do Not DisturbNever messaged
Agent has taken overJourney pauses
Repeat entriesOnce every 7 days, by default
Meta frequency capSmart Retry protections

Frequently asked questions

How is a journey different from an automation?+

Automations run inside a conversation: a customer messages you and a flow replies. Journeys start from an event your own system sends, such as checkout_started or order_delivered, and follow one customer through minutes, hours or days. A journey belongs to a person, not to a chat, so it can wait for an order, stop when it arrives, and message the customer even if they have never written to you first (with an approved template).

What do I need to build on my side?+

One authenticated HTTP call per event: POST /v1/events with the event name, the customer's phone (or email or your customer ID) and any properties you want to use in messages. There is no SDK to install. Send an event_id and retries are safe, because the same event is never processed twice.

Which messages can a journey send?+

Approved WhatsApp templates. That keeps every message deliverable outside the 24-hour customer-service window. Journeys can also add or remove tags, call your own HTTP endpoint, and record events that other journeys can wait for. Free-form messages and interactive messages are not part of journeys in this release; use Automations for those.

Do customers have to opt in to receive journey messages?+

For marketing-category templates, yes by default: a journey only sends them to phone numbers you have marked as opted in (send consent.whatsapp = "opted_in" with the event or from the profile endpoint). Utility templates such as order updates go to everyone who has not opted out. You can change the marketing rule per journey, but Meta expects clear opt-in for promotional messages, and collecting it is your responsibility as the business.

Does it stop messaging someone who already bought?+

Yes. Add an exit event such as order_placed and the journey ends for that person the moment the event arrives, even in the middle of a wait. A person is also never in the same journey twice at the same time, and you choose how soon they can re-enter: once ever, once every N days, or every time.

How do I know whether a journey actually earned anything?+

Every journey has a Results page. Converted counts everyone who reached your goal event within its window. Recovered after message counts only those who converted after the journey sent them a WhatsApp message, with the revenue from those orders. An order placed before any reminder would have happened anyway, so it counts as converted but not as recovered.

Do you have a Shopify or WooCommerce plugin?+

Not yet. Journeys work with any store or app that can make an HTTP request, including custom builds and payment webhooks. Native connectors for the big commerce platforms are not available today.

How many journeys can I run?+

Building and publishing are not limited. The limit is on journeys switched on at the same time: 1 on Free, 5 on Starter, unlimited on Pro and Business, the same tiers as active automations.

Your WhatsApp. Your AI. Your rules.

Join businesses automating WhatsApp without vendor lock-in.

Start Free Trial