Reference

Journeys

Journeys are visual automations that run when something happens in Shopify. You design a graph and publish it, and TopEdge turns it into timed steps for each customer who enters.

Open Journeys

Short answer

A journey has one trigger, optional filters and a graph of nodes. Publishing freezes the graph and trigger, so edits change nothing until you publish again. Each enrolled customer gets their own timeline of scheduled steps, and by default a reply cancels the rest.

How a journey runs#

A trigger fires, trigger filters are evaluated, the published graph compiles into timed steps, the dispatch worker sends each step, and delivery receipts plus recovered revenue flow back into analytics.Trigger firesShopify event or cronFilters checkedall rules must passGraph compilednodes → timed stepsSteps dispatchedWhatsApp · emailReceipts + revenuelast touch, 7 days
From Shopify event to sent messageWhen a send does not happen, the skip reason on the order names which stage stopped it.

Trigger types#

TriggerFires when
Order placedAn order is created in Shopify. This is also your order-confirmation trigger.
Order shippedAn order is fulfilled, or a fulfilment updates with a non-delivered status.
Order deliveredA fulfilment updates with a delivered shipment status.
Cart abandonedA checkout is abandoned and the capture delay has elapsed.
ManualNothing automatic — you enrol customers yourself from a list.

Exit conditions#

Exit conditions cancel a customer’s remaining steps.

  • Customer replies: available on every trigger and on by default, so a customer who already answered is not chased.
  • Order cancelled: available on order triggers.

Trigger filters#

Filters decide who enters. Every active rule must be true: they combine with AND, never OR.

An empty rule set matches everything, which is usually right for an order-confirmation journey.

Filters on order triggers
FilterValues
Payment methodAny, COD, or prepaid. This is how you build a COD-only journey.
Order totalMinimum, maximum, or both, in rupees.
ProductsInclude or exclude specific Shopify products.
Customer typeAny, first order, or returning.
Order tagsInclude or exclude by tag.
Shipping state or cityIndian states from a list, or a city as free text.
Discount codeWhether a specific code was used.
Filters on the cart abandoned trigger
FilterValues
Capture delayHow long after abandonment the customer enters — 25 minutes by default.
Minimum cart valueSkip low-value carts that are not worth a conversation fee.
Cart productsOnly carts containing specific products.

Node types#

NodeWhat it doesNeeds
EntryThe root of every journey. Holds the trigger, its filters and exit conditions. Cannot be deleted.—
Send WhatsAppSends an approved template with variables mapped from the order or cart.An Approved template
Send EmailSends an email from your connected mailbox, with subject and body.Gmail connected
Order statusSends the lifecycle template for a stage — confirmed, shipped, out for delivery or delivered.An Approved Utility template
Cart recoveryA cart reminder with the live product image and a link back to checkout. Can also send a matching email.An Approved template
COD → prepaidCreates a Shopify draft invoice and injects the payment link into the message.Growth plan or above
WaitDelays the next sending node. Presets from 15 minutes to 7 days.—
Conditional splitTwo outputs, yes and no, based on a rule. Both branches must be wired before publish.Growth plan or above
Connect to chatbotHands the customer to a published flow, using the latest published version at send time.A live flow
End journeyExplicitly terminates a branch.—

How waits actually work#

A wait node is not a step of its own. Its delay is added to the next node that sends something.

  • Two waits in a row add up.
  • A wait at the end of a branch does nothing.

Playbooks#

Journeys ships pre-built playbooks, so you never start from an empty canvas. Each has the right trigger and nodes in place; you map your approved templates and publish.

PlaybookTriggerPlan
Order placed — confirmationOrder placedLaunch
Order shipped — trackingOrder shippedLaunch
Order delivered — review requestOrder deliveredLaunch
Cart recovery — 3 stepCart abandonedLaunch
Quick 3-step follow-upManualLaunch
Cart recovery — smart (with branch)Cart abandonedGrowth
COD confirm with branchOrder placedGrowth
COD → prepaidOrder placedGrowth

Runtime limits worth knowing#

Two active sequences per customer
A customer can be enrolled in at most two running automations at once. A third enrolment is skipped rather than queued, which stops a customer receiving four unrelated ladders at the same time.
Reply cancels remaining steps
On by default. A customer who answers your first message does not receive the rest of the ladder. You can turn it off on the entry node, but you usually should not.
Revenue attribution: last touch, 7 days
An order is credited to the most recent journey touch within the previous 168 hours. The customer does not need to click your link for it to count.
Published journeys survive a downgrade
Plan-gated nodes stop you creating or editing a journey, but an already-published one keeps running. You just cannot change it until you upgrade again.
Scheduled steps need the background worker
Delayed sends are dispatched by a background process on a short cycle, not by the web app. On production this is automatic.

Reading journey analytics#

Each journey’s detail view shows per-step counts (enrolled, sent, delivered, read, clicked) and attributed revenue. The canvas can overlay those counts on the nodes, the fastest way to find where customers drop out.

Frequently asked questions

Why is my published journey not sending?
Check in this order: the journey is Published rather than Draft, the template it uses is Approved right now, trigger filters do not exclude the customer, and the customer has a phone number. The order detail page records a skip reason naming the exact cause.
Do trigger filters combine with AND or OR?
Always AND. Every active rule must be true for a customer to enter. This is why two reasonable-looking filters can exclude everybody — a minimum order value plus a specific product is a much narrower audience than it appears.
How is recovered revenue attributed to a journey?
Last touch within seven days. If a journey message was the most recent TopEdge touch before the order, that journey is credited. The customer does not have to click the link, which avoids under-counting people who get the reminder and then visit your site directly.

Run these automations on your own store

Connect Shopify and WhatsApp in one sitting. Compare plans on the pricing page, or see every feature first.