
Recover abandoned checkouts
Send a reminder 30 minutes after a cart is abandoned, then a 10% discount 24 hours later if there’s still no order.
Welcome new subscribers
The moment a contact opts in, send a welcome message, wait for a button click, and tag them by interest.
Win back lapsed customers
For contacts with no orders in 90 days, send a personalised re‑engagement message with a code.
Confirm and update orders
Acknowledge new orders, notify on fulfilment, and route replies back to your support inbox.
Anatomy of a flow
Every flow has the same shape:1
A trigger fires
Something happens — a new order, an abandoned checkout, a customer types a keyword, your own webhook hits us. The trigger decides who the flow runs for and what data it starts with.
2
Steps execute in order
Each step does one thing: send a message, wait, branch on a condition, look up history, call a webhook. Steps share data through a per-execution memory, so a later step can reference what an earlier step saw.
3
The flow ends
A flow ends when it reaches a terminal node — either because every path completed, a wait timed out, or a branch led to a dead end. Each execution is recorded so you can audit and analyse it later.
Concepts at a glance
Triggers
The 9 events that can start a flow — orders, checkouts, product views, inbound messages, and custom webhooks.
Steps
The building blocks: send a message, delay, branch, wait for a reply, call a webhook, tag a contact.
Conditions
Branch a flow on customer attributes, order data, history, or button replies — using presets or custom expressions.
Messages & Templates
Pre-approved WhatsApp templates, AI-generated dynamic messages, buttons, media, and dynamic copy.
Frequency cap
How TextYess protects your contacts from over‑messaging — and how marketing and utility messages differ.
Publishing & testing
Draft → test → submit template → publish → activate. Plus how to reverse each one safely.
Lifecycle of a flow
A flow moves through five states as you build, ship, and operate it.Draft
Draft
The state you live in while you’re building. Editing the canvas is unlimited and triggers are ignored. Saving a draft never sends a real message — it just stores the latest version.
Pending approval
Pending approval
When you publish a flow that uses a WhatsApp template you’ve never sent before, Meta needs to approve the template. The flow stays in
pending_approval until Meta replies — usually minutes, sometimes hours. We poll automatically.Active
Active
The flow is live. Each matching trigger starts a new execution for the customer it fires for. This is the only state in which a real customer can receive a message from the flow.
Inactive
Inactive
Triggers are ignored. Already-running executions keep going to completion. Flip back to active whenever you’re ready.
Archived
Archived
Soft-deleted. Hidden from the list but still visible in analytics so historical attribution is preserved.
What happens during an execution
When a trigger matches an active flow, TextYess creates an execution — a single, durable run of that flow for that customer.- The execution is durable: if a step takes 24 hours (a delay) or 7 days (a wait for reply), it survives restarts, deploys, and even network blips.
- Every step result is recorded — what data it read, what it wrote, whether it succeeded or failed, when it ran.
- You can open an execution in the dashboard to see exactly what happened, step by step. This is the first thing to check if something looks wrong.
Before you build your first flow
You’ve connected WhatsApp via 360dialog — see WhatsApp Integration.
Your store is connected — see Shopify or WooCommerce.
You have at least one approved WhatsApp template you can use, or you’re comfortable submitting one when you publish.
