Open Automations in the left sidebar and pick the Sequences tab. A sequence is a drip campaign: contacts are enrolled by a trigger you choose, then walk a numbered timeline of steps, each one firing after a delay you set. Every step is a full workflow on its own canvas, so a step can branch, tag, call an integration or hand off to a human — not just send a message. This guide walks the whole surface: creating a sequence, enrolling contacts, spacing the steps, holding sends outside quiet hours, defining a goal that ends the drip early, and managing individual subscribers.
Every step owns its own workflow. Click Open workflow on a step and you land in the ordinary Workflows editor, with a Back to sequence button to bring you back. So everything the Workflow actions guide describes — conditions, AI agents, integrations, tags — is available inside a step. What the sequence adds on top is who enters, when each step fires, and when the whole thing stops.
The Sequences list
The tab opens on a list of every sequence in your account. Each row shows the name, a dot per channel its steps use, and a one-line summary of the enrolment trigger, followed by columns for Steps, Active subs, 7-day sent, Goal hit, Re-entry and Status.
A strip of filters above the rows narrows the list to All, Live, Draft, Paused or Archived, each with its own count, and the search box matches on the name and the enrolment summary. When nothing matches, the list simply reads No sequences match this filter yet.
Click a row to select it and the toolbar's Open, Rename and Delete buttons light up; double-clicking a row opens its editor directly. Delete stays greyed out while a sequence is Live — pause it first.
Creating a sequence
Click New sequence
The button sits at the top right of the Sequences tab and opens a small dialog.
Give it a name
Type one in the Name field. Leave it blank and the sequence takes the starting point's own default name — you can rename it later from the list toolbar — but see the warning about renaming below.
Pick a starting point
Under Start from, choose Blank or one of the three ready-made sequences described below, then click Create & open editor. Whatever you pick is just a starting configuration: every step, delay and setting stays editable afterwards.
| Start from | What you get |
|---|---|
| Blank | Empty timeline — define everything yourself. No steps and no goal; re-entry is set to Never. |
| Onboarding nurture | Activation goal · never re-enroll · pauses if they reply. Five WhatsApp steps — the first immediately, then after 1, 2, 3 and 2 days — a tag goal of activated, and nightly quiet hours. |
| Abandoned cart recovery | Purchase goal · re-enroll after 7 days · runs on weekends. Three WhatsApp steps — one hour after enrolment, then after 1 and 3 days — a tag goal of purchased, and a 7-day re-entry cooldown. |
| Win-back | Re-engagement goal · re-enroll after 30 days · skips weekends. Four email steps, the first immediately and the rest 15 days apart, a tag goal of reengaged, weekends skipped, and a 30-day cooldown. |
Whichever starting point you pick, the sequence is created as a Draft. Drafts enrol nobody and send nothing, so you can build and rearrange one for as long as you like. It only starts working when you press Publish.
How the editor is laid out
Opening a sequence replaces the page with its editor. Along the top sit the name field, the status pill, and the one lifecycle button that applies right now — Publish on a draft, Pause on a live sequence, Resume on a paused one. Below that the page splits in two:
- The step timeline (left) — the enrolment marker, then each step in order with its delay pill above it, then the goal marker and the end of the sequence. Its subtitle is the whole instruction for reordering: Drag rows to reorder.
- The Performance card (left, under the timeline) — how many contacts entered, how many reached the goal and how far each step got; see Reading the Performance card.
- Subscribers (left, under Performance) — every contact currently in the sequence, with the controls to pause, resume or remove one.
- The right rail — the settings that apply to the sequence as a whole, in four cards: Enrollment, Goal & exit, Quiet hours & timezone and Pause behavior. A fifth card sits under them, Live preview · synthetic contact; it is a fixed illustration of how quiet hours shift a schedule, not a simulation of your own sequence.
Anything you do to a step — rename it, edit its delay, reorder, duplicate, delete, or pick its platform account — is written the moment you do it. The sequence's own settings are different: the name and everything in the right rail are held until you press Save changes on the bar at the bottom. Leave the editor without pressing it and those rail edits are lost.
Who gets enrolled
The Enrollment card at the top of the rail decides who enters. Its Trigger control offers three choices, and exactly one is active at a time:
- Tag applied — type a tag name in the box. When that tag is added to a contact, they join. The match accepts either the tag's name or its internal id, so a tag applied by a workflow enrols the same contact a hand-applied tag would.
- Field changed — name a custom field and a value. When that field on a contact changes to the value you typed — for example when a workflow's Set Custom Field step or a CSV import writes it — the contact joins. The field name and the value are both compared ignoring capital letters, and only the change itself enrols: a contact whose field already held that value before is not picked up.
- Contact created — no configuration at all. As its hint says, this one Enrolls every newly created contact.
The trigger decides when someone is considered; Enroll only if on the rail decides whether they qualify. Switch it on, press Edit condition, and you get the same contact-filter builder that saved segments and broadcast audiences use, under a lede that says it plainly: Contacts must match these filters at the moment of enrollment. Leave a filter empty to ignore it. So a tag can fire for everybody while only the contacts matching your filters actually join. Three things follow from at the moment of enrollment: the check runs once, at that instant, rather than continuously; it gates the Enroll in Sequence workflow node as well, because that node asks and the sequence still decides; and someone IcloneU has no contact record for yet cannot be measured against the filters, so they are not enrolled.
A workflow can also put someone in or pull them out, which is the fourth way in and the only way out on demand. The node picker carries Enroll in Sequence — Enroll the contact in a drip sequence (honors its re-entry policy) — and Exit Sequence — Exit the contact from a sequence so no further steps send. Each one asks which sequence in its own picker.
Underneath, Re-entry policy decides whether the same person can come back for a second run: Never (once is once), Cooldown with a number of days, or Always. A contact can never hold two live subscriptions to the same sequence at once — while they are active or paused in it, a fresh trigger is ignored regardless of the policy. The cooldown clock starts from the moment their previous run finished.
Enrolment is checked against sequences that are Live. A Draft, a Paused or an Archived sequence never picks anyone up, however many matching tags fly past.
Steps and their timing
Add step appends a new step at the end of the timeline — the very first step of a sequence defaults to firing at enrolment, and every later one to a day after the step before it. Each step card gives you an editable title, a grip on the left to drag it into a new position, and buttons to duplicate it or delete it — delete asks Delete step? and needs a second click to confirm. Pause step sits alongside them and becomes Resume step once a step is held; both save the moment you click, and the note below covers what they do to the people already in the drip. Under the title, the mini flow preview doubles as the Open workflow link into that step's own canvas.
Pause step saves the moment you click it, and the card shows it: a Paused tag next to the channel mark and, underneath, a Step status chip carrying the date it was paused. The scheduler reads that flag. Any subscriber whose current step is paused is skipped — nothing goes out to them, and nobody is dropped or completed. They simply hold their place with a status of Active until you press Resume step, and because their turn was already due they go out on the next pass, about half a minute later. Use it to hold one message back without touching the rest of the drip. Pause at the top of the editor is still the bigger hammer — it stops the whole sequence, new enrolments included — and deleting the step is still the destructive option, because anyone standing on it is marked Completed.
Every step also carries its own platform account, chosen from the picker beside the channel mark (it reads Set platform until you pick one). That account is what actually sends the step, so a step without one cannot work — and the editor says so in a banner across the top: Those steps will not send anything, and subscribers who reach them will exit the sequence — pick a platform account on each one.
The pill above each step is its delay. Click it to open Step delay, pick a mode, and set an Offset as a number plus minutes, hours, days or weeks:
| Mode | In the dialog | What it means |
|---|---|---|
| Immediate | Fire as soon as the previous step finishes | No wait at all. On the first step, that means the moment the contact enrols. |
| After previous step | Wait a fixed amount of time after the prior step | The everyday choice: wait your offset, counted from the previous step running. |
| After enrollment | Fixed offset from the enrollment timestamp | Intended for pacing measured from the moment they joined. On the first step that is exactly what happens. |
| Relative to a contact field | e.g. 3 days before renewal_date | Names a date field on the contact and a direction, Before or After. |
The first three modes count your offset forward from a moment that already happened: the previous step running, or enrolment for the first step. Relative to a contact field works differently — it reads the date on the contact and fires your offset before or after that, so the send pins to the customer's own date rather than to when they joined. Three things follow. If the contact has no date in that field, or it cannot be read as a date, the step is skipped and the sequence moves to the next one. If a Before step is set up too late to honour the full offset but the date itself has not passed — someone enrolling three hours before a twenty-four-hour reminder — it sends right away instead of never. And once both the computed moment and the date have passed, the step is skipped for good. Two more things about this mode. The date is read from the contact's own custom fields first and then from a contact column of the same name, so a field you invented and a built-in date both work. And the same skipping rule runs at enrolment, not only mid-drip: if the first step is a contact-date step whose moment cannot be recovered, enrolment walks down the timeline to the first step that still can fire — and if none of them can, the contact is not enrolled at all.
The dialog's own footnote is worth repeating: Quiet hours and timezone settings still apply — the actual fire time is the first allowed slot at or after this offset. An offset is the earliest a step may go out, not a promise about the clock.
Quiet hours, weekends and timezone
The Quiet hours & timezone card holds a window with a start and an end time, described by its hint as Sends held until next allowed slot. It starts at 21:00 to 08:00, and that same overnight window is enforced even on a sequence where nobody ever touched the control — what the rail shows is what runs. A step that comes due inside the window is not skipped; it is pushed to the moment the window opens.
The Skip weekends toggle below it does what its subtitle says — Hold Sat/Sun until Monday. With it on, sends are limited to Monday through Friday and anything due at the weekend waits for Monday morning's first allowed slot.
The card's Timezone row reads Contact's local time, but that is not the clock the hold is measured on. Quiet hours are applied in the sequence's own timezone when one is stored, otherwise your account's reply-timing timezone, and otherwise UTC. If your contacts are all in one market, set that timezone under reply timing in your account settings — otherwise a 21:00 quiet window is a 21:00 UTC quiet window.
Goals and how a contact leaves
A goal is the outcome the drip is chasing. In the Goal & exit card, choose Tag and name a tag, or Field and name a custom field plus the value that counts as success. Two toggles decide what happens when it lands:
- Exit on goal hit — Short-circuits remaining steps. On by default: the moment the goal matches, the contact leaves the sequence and the steps still ahead of them never send. Turn it off and a goal hit stops ending the drip — the remaining steps still go out on schedule.
- Re-evaluate on every event — Tag, custom field, message. On by default: any contact event, including an inbound reply, re-checks the goal against the contact's tags and fields as they stand right now. That catches someone who satisfied the goal by another route, or before they enrolled. Turn it off and the goal only matches on the exact event that carries it: the goal tag being applied, or the goal field changing to the goal value.
- Clear the goal tag on exit — So the contact can qualify again next time. Off by default, and shown only for a Tag goal. On, the contact loses the goal tag when the goal exits them, which turns the tag into a per-cycle signal rather than a permanent mark. This one exists because of the toggle above it: a goal tag stays on the contact forever, so with Re-evaluate on every event on, any later enrolment is goal-exited within seconds by the tag they already carry. See the note below before you leave it off on a drip meant to run more than once.
This is the trap the toggle was added for. Say your cart series chases the tag purchased. A customer abandons, gets the drip, buys — goal hit, tag applied, they exit. Months later they abandon another cart and enrol again, and because they still carry purchased from last time, Re-evaluate on every event matches the goal immediately and exits them within seconds. They never see the recovery messages, and Re-entry policy cannot save them — they did re-enter, they were just thrown straight back out. Turning Clear the goal tag on exit on removes the tag as they leave, so the next cycle starts clean. The Abandoned cart recovery and Win-back starters ship with it already on, because re-enrolling is the whole point of both; Onboarding nurture leaves it off, since that drip is meant to run once.
So a subscription ends in one of five ways: the goal is hit while Exit on goal hit is on; the contact finishes the last step, or reaches a step that has no platform account (Completed); somebody removes them by hand with Exit in the subscribers grid; a step can't be sent (Failed — see When a step doesn't go out); or an Exit Sequence node in a workflow ends it. That last route only touches a subscription that is still Active, Paused or Firing — somebody who already finished, or already left, is left exactly as they are.
Pausing a drip, per contact
The Pause behavior card handles the cases where a drip should politely get out of the way. Both toggles keep the contact's place in the timeline — a resume picks up from the step they were on, it does not restart the sequence.
- Pause on contact reply — Hand over to inbox. On by default. When the contact writes back on any channel, their active subscriptions pause before the session, automation and AI handling of that message. The person answered, so the drip stops and waits for a human.
- Pause on tag — Apply to active subs immediately. Switch it on and name a tag; applying that tag pauses that contact's active subscription straight away. Like enrolment, the match accepts the tag's name or its id. If the same event also satisfies the goal, the goal takes precedence and the pause doesn't happen.
The Subscribers card under the timeline is where you see and undo all of this. Its header counts how many are active, paused and completed, and each row shows the contact, their Current step as a position out of the total, a Next fire (UTC) column, and a status of Active, Paused, Completed, Exited, Failed or Firing — the last of those is the moment the dispatcher is actually sending that step, so it flashes past and you will rarely catch it. Next fire (UTC) shows when an active subscriber's current step is due; other rows show a dash. A Failed row names its reason under the status, such as Not delivered · number can't receive WhatsApp, and under that the error text from the platform — or from IcloneU, when its own check stopped the send — in English and cut to two lines; hover it to read the rest. A failed subscription is finished: it doesn't resume, and whether the contact can come back is up to the Re-entry policy. An active row offers Pause, a paused row offers Resume, and either offers Exit to take the contact out for good.
Reading the Performance card
The Performance card sits between the step timeline and Subscribers. Four numbers head it: Enrolled, Goal reached, Conversion rate and Failed. Under them, each step gets a bar showing how many of its messages were Sent, Delivered, Read and Visited the store; hover a bar for the exact counts, failed sends included. Until any step has sent something, the card reads The funnel fills in as the sequence sends.
- Enrolled counts every subscription the sequence has ever had, including people who have since finished or left.
- Goal reached counts subscribers who left the sequence on the goal after it had sent them at least one message that wasn't rejected. Only goal exits count, so while Exit on goal hit is off nobody is added to it, however many contacts reach the goal. Someone who already met the goal when they enrolled leaves within seconds and is not counted, and the card says how many: N subscriber(s) had already met the goal when they enrolled and left without receiving a message. They are not counted as conversions. Conversion rate is Goal reached divided by Enrolled.
- Failed counts subscriptions that ended as Failed — see When a step doesn't go out.
- Delivered and Read come from WhatsApp's delivery receipts, so a step on another channel can show Sent with nothing behind it; Read also depends on the person having read receipts turned on.
- Visited the store needs the Shopify browse pixel. It counts a shopper the pixel recognises viewing a product, adding to the cart or starting checkout within 48 hours of a message that didn't fail. The pixel recognises a shopper who is logged in to their store account, who signed up through a capture form or, with the Klaviyo forms bridge, a Klaviyo form, or whose browser once opened a store link that identifies them: the product and checkout links your Clone sends, and the product, cart and checkout links a store event hands to a flow. A link you type into a sequence step identifies no one, so the number is a sign of interest, not a count of clicks on that message's link. Each time the pixel reports one of those, it marks one message as visited — the latest one in those 48 hours that has no visit yet — so one browsing session can mark more than one message.
When contacts are enrolling but not one has left on the goal, the card says 0 conversions — check that something applies the goal tag when a contact converts (for example, a flow that tags buyers on purchase). A goal tag that nothing ever applies is the most common reason a working drip looks as if it converts nobody. The hint also shows while Exit on goal hit is off and nobody has left on the goal before, because with the switch off nobody leaves on it.
Publishing, pausing and deleting
Publish turns a Draft into a Live sequence: from that point it enrols matching contacts and its steps fire. Pause stops both at once — no new enrolments, no sends — while leaving every existing subscription exactly where it was, so Resume picks the drip back up from each contact's own position. Anything that came due while it was paused goes out on the next pass. Both Publish and Resume refuse while a step's workflow still has a WhatsApp template element with no template picked, and name the steps: Pick an approved WhatsApp template for these steps before going live: … Pick the template in each of those workflows, then try again.
Rename in the list toolbar used to write the row back with only part of its settings, clearing the enrolment trigger, Enroll only if and Pause on tag, and forcing the behaviour toggles back on — so a running drip changed behaviour, not just its name. That is fixed: a rename now carries enrolment, goal, quiet hours, timezone and every behaviour toggle through untouched. One field is still lost, and it is a quiet one: Clear the goal tag on exit is switched back off by a rename. On a cart or reactivation drip that matters, because off is the setting that lets a stale goal tag exit every future enrolment within seconds — see Goals and how a contact leaves. So after renaming one of those from the list, reopen the sequence and check that toggle. The dialog's own line is accurate: Pick a new name. The change is visible to all team members immediately; in-flight subscribers keep their schedule. Existing subscribers do keep their position and their schedule.
Delete is only offered on a sequence that is not Live, and the confirmation says what it costs: Active subscriptions will be cancelled and their schedules dropped. Deleting also removes the step workflows the sequence owns — though a workflow that something else still uses is unlinked rather than deleted. Deleting a single step is gentler but still final: anyone sitting on that step is marked Completed on the spot.
When a step doesn't go out
Sequence steps are checked on a timer rather than to the second, so a step due "now" goes out within about half a minute. If one never arrives at all, it is almost always one of these:
- The sequence isn't Live, or the contact's subscription isn't Active — a paused subscriber waits for a Resume in the subscribers grid.
- The step they are standing on is paused. A paused step holds its subscribers silently: they stay Active, nothing is logged, and the subscribers grid looks ordinary. The only sign is on the step card in the timeline — the Paused tag and the Step status chip. Resume step releases them on the next pass.
- The contact opted out, or their contact record is archived. Both are skipped silently.
- A human handover is open on that conversation. Drip steps stand down while a person is handling the case: the step is pushed back an hour and keeps retrying until the handover closes.
- The per-contact marketing cap kicked in. A sequence step counts as a marketing touch and shares one budget with your other marketing flows — by default one per contact per 24 hours and three per 7 days. A capped step is postponed past the window, not dropped.
- Meta's marketing limit turned it away. WhatsApp can limit how many marketing template messages one person receives from any business in a given period, and a step Meta refuses for that reason is not lost: it is sent again 24 hours and 5 minutes later, up to twice, and meanwhile the subscriber row reads Waiting · WhatsApp messaging limit, sending again in 24 h. If the retries run out, the subscription ends as Failed — Not delivered · WhatsApp messaging limit, retries used up — and for 30 days, or until the contact's phone changes, any WhatsApp step of your sequences ends that contact's subscription as Failed without sending.
- WhatsApp refused the step. A refused send ends the subscription as Failed, and the row says why. The most common reason is Not delivered · needs a template (no open WhatsApp window): a free-form message can't reach someone who hasn't written to you in the last 24 hours, so a drip to cold contacts has to open with an approved template. Not delivered · the customer turned off marketing messages means the person switched off marketing from your business; for 30 days after that, any WhatsApp step of your sequences ends their subscription as Failed without sending, too.
- The number can't receive WhatsApp. Once Meta has reported that a number can't receive WhatsApp messages, IcloneU doesn't send to it again: a WhatsApp step for that contact ends the subscription as Failed — Not delivered · number can't receive WhatsApp — without sending anything. Correct the phone on the contact and later sends try the new number.
- The contact has no phone or ID on the step's channel. When a store event or an inbound webhook starts a WhatsApp flow, the flow messages the contact's WhatsApp number or the phone on file, or else the phone the event carried — never an email address, even for a contact listed under WhatsApp. Without a usable number (at least 10 digits, country code included), the flow's message steps are skipped and Enroll in Sequence doesn't enrol the contact, so an email-only checkout never enters a WhatsApp drip — and nothing is marked as failed. A subscriber who does reach a step with nobody to send to ends as Failed with Not delivered · contact has no phone or ID on this channel. Other ways in don't check the step's channel: Tag applied, Field changed and Contact created take the contact in under the ID they already have, and so does Enroll in Sequence in a flow on another channel or in a capture form's flow after an email-only sign-up — a Messenger ID or an email address, say — so a WhatsApp step to them ends as Failed when WhatsApp refuses it.
- Meta reports unsettled payments on your WhatsApp Business account. Meta refuses messages from that number until the payment problem on the account is fixed (Meta's error page lists causes such as no payment account attached, a credit line over its limit and a suspended account), and a subscription whose step it refuses ends as Failed — Not delivered · WhatsApp account issue — without picking up again once that's fixed. A banner at the top of Automations names the number and says messages are not being delivered. Settle the balance in Meta to resume delivery. Open Meta billing takes you to Meta's billing. Fixing it there doesn't clear the banner by itself: it goes once a message from that number is delivered again and the last refusal is more than an hour old, and since it is read when the page opens, reload the page to see it go.
- The step has no platform account. There is nothing to send with, so when a subscriber reaches that step the subscription ends as Completed, and neither that step nor any later one is sent. This is what the editor's banner is warning you about.
- Quiet hours or Skip weekends are holding it — check which timezone those are being measured in.
Frequently asked
Use a workflow when one event should cause one chain of actions right away. Use a sequence when the same contact should hear from you several times over days or weeks, and you want a single place to control the pacing, the quiet hours, and the condition that ends the series early. Since each sequence step is a workflow, you are not giving anything up by choosing the sequence.
No. While a contact has an active or paused subscription to a sequence, a matching trigger is ignored — they will not be enrolled a second time. Whether they can come back after finishing is what Re-entry policy decides: Never, Always, or only after a cooldown of the number of days you set.
Yes. A sequence step is treated as a marketing message like any other: opted-out contacts are skipped, an open human handover holds the step, and it draws on the same per-contact frequency budget as your other marketing automations rather than having one of its own.
Yes. The trigger catalogue in the Workflows builder has Subscribed to sequence and Unsubscribed from sequence, and both fire from real sequence activity — enrolling raises the first, and leaving because the goal was hit raises the second.
No. A subscriber whose current step is paused is skipped by the scheduler and holds their place there — they stay Active, and nothing goes out to them. Resume step sends them on the next pass, about half a minute later. Keep it apart from the other two pauses: Pause at the top of the editor stops the whole sequence, new enrolments included, and pausing one subscriber in the subscribers grid stops only that person.
Quiet hours. The default window runs from 21:00 to 08:00 and is enforced whether or not you ever opened the control, so a step that came due at 21:30 waits for the window to open. Check the window and, just as importantly, which timezone it is being measured in.
Anyone whose current step is the one you deleted is marked Completed immediately — they stop receiving the rest of the sequence. Contacts who are on an earlier step simply skip past the deleted one and carry on to the next.
Last updated September 23, 2026 · Automations