Set up automatic WhatsApp follow-ups
A follow-up sequence sends a short run of approved WhatsApp templates on a timer — one two hours after a lead is assigned, another the next day — and stops the moment the lead replies. You build it once and it runs on every new lead after that.
Everything on this page belongs to one WhatsApp number. A sequence built on your sales number does not exist on your support number.
Before you start
- A connected WhatsApp Business number. With none connected, the page shows
Connect a WhatsApp account firstand a Go to Integrations button instead of the sequence list. - At least one approved Meta template on that number. A step cannot send free text — see Create a template.
- Your role includes WhatsApp access (Settings → Roles), and that number is ticked for you under Settings → Channel access. You need both.
- Your workspace’s plan includes Auto Follow-up.
Follow-ups stays in the sidebar whether or not you can use it. If the page
opens and reads Auto Follow-up isn't in your plan or
No Auto Follow-up access, the plan or your role is the thing to fix — ask a
workspace owner.
Steps
Open Follow-ups
In the sidebar, under Messaging, click Follow-ups.
The chip above the list names the number everything below it belongs to. It is there even when your workspace has only one number, because it is the page’s statement of what you are editing. The number you pick here is remembered: Follow-ups, AI Chatbot and Outbound control all open on the same one.
Read the standing line above the list before you build anything:
Delays run from the trigger. Sends are held to this account's business hours.
Messaging → Follow-ups. Check the chip is on the right number before you start.
The other two chips on that row are Search sequences (or press / anywhere outside a text field) and Refresh sequences.
Name the sequence
Click New Sequence in the top bar. On a phone the button in the header band reads New sequence. From an empty page, Create sequence does the same thing.
A modal opens titled New follow-up sequence.
Fill in Sequence name. It is required, and it is internal only —
Shown in the sequence list. Not sent to the lead. Leave it blank and the field
turns red with Give the sequence a name. while Create sequence stays
disabled.
Enabled is on by default. Turning it off keeps everything you build but
nothing fires: Disabled sequences keep their templates but never fire.
Name, switch, trigger — the whole sequence is three decisions.
Pick the trigger
Trigger is two tiles, and one of them has to be chosen. These two are the entire choice — there is no third.
| Tile | What starts the sequence |
|---|---|
| After an outbound message | Fires when a scheduled message or chatbot reply is sent to the lead. |
| On lead assignment | Fires the moment a team member accepts a newly-assigned lead. |
If another enabled sequence on this number already uses the trigger you picked, a warning block appears in the modal:
Another sequence already uses this trigger
{other name} is enabled with the same trigger. Saving this sequence as enabled will send duplicate follow-ups. Disable one of them to avoid double messages.
It is a warning, not a block. Save anyway and both sequences will message the same lead — a real customer gets two follow-ups at once, and both cards then show Duplicate trigger. Switch one of them off. Keeping a draft Disabled beside a live one is exactly how you avoid this.
Click Create sequence. The toast reads Follow-up sequence created. and a
new card appears with No steps yet.
Add the first step
On the new card, click Add step. A full-screen modal opens titled New step · 1.
Enabled is on by default —
Disabled steps are skipped without breaking the sequence.
Message template is required. Open it and pick from Select an approved template; each option reads the template name, then its language. Under the field:
Meta only lets businesses send pre-approved templates outside the 24-hour conversation window.
Once you pick one, a preview appears showing the template’s name, category, language and body text, so you can check you chose the right one without leaving the modal.
Template, condition, delay. A step can only send a template Meta has already approved.
Choose when that step sends
Send condition is two tiles:
| Tile | What it does |
|---|---|
| If no reply | Wait the delay below, then send only if the lead hasn't replied. |
| Always send | Wait the delay below, then send no matter what. |
Either way, a reply ends the sequence. The contact’s row reads
They replied {when} — sequence stopped and no later step goes out, so
Always send decides whether this step waits for a reply, not whether the
sequence survives one.
Delay before sending is a number plus a unit — Minutes, Hours or Days. The minimum is 1 of whatever unit you chose. A new step starts at 24 Hours with If no reply.
The hint under the row is the part people misread:
Measured from when the previous step was sent (or, for step 1, from the trigger event). Sends are still held to this account's business hours.
Click Add to sequence. The toast reads Step added.
Add the rest, in the order you want them
Use Add another step at the foot of the expanded card for each further message.
To move a step, use the up and down arrows on its own row — Move step 1 up and Move step 1 down on the first step, and so on down the list. There is no dragging here, on purpose. The first step’s up arrow and the last step’s down arrow are always disabled, every arrow on the page goes dead while a move is being saved, and the list only re-draws once the server confirms — so expect a short pause rather than an instant jump.
Check that it is live
The card header should now read the sequence name, a green Active pill, the
trigger pill, and {N} steps.
The bottom row of the card is its live status. Before anyone has entered it, that
row reads Nobody enrolled yet — it starts when a lead is assigned. or
Nobody enrolled yet — it starts after an outbound message., depending on your
trigger. That is the sequence telling you it is armed and waiting, not that it is
broken.
An armed sequence: Active, a trigger, steps in order, and a status row that reads Nobody enrolled yet.
What the card is telling you
Click anywhere on a card’s header row to expand or collapse it. A card auto-expands when it is the only sequence on the number.
| Pill | What it means |
|---|---|
| Active (green) / Disabled (grey) | Whether this sequence can fire at all |
| On lead assignment / After outbound message | Its trigger |
| Duplicate trigger | Another enabled sequence on this number uses the same trigger — both will send |
No steps yet / 1 step / {N} steps | How many steps it has |
Each step row carries the bound template’s name, or a red No template bound if it has none, plus a pill describing when it goes:
- Wait 2h for a reply — an If no reply step
- Send after 2h — an Always send step
- Attachment — the step carries header media. You can neither see nor change that file from the step editor; it belongs to the template
- Paused — the step itself is switched off and will be skipped
Language: en— on a second line, the bound template’s language
Delays are written the short way: Immediately, 45m, 2h, 2h 30m, 3d,
3d 4h. That is the delay you configured, not the time the message will
land — see the business-hours row in the table at the end of this page.
A card with no steps shows Add the first step in place of the step list,
with Pick an approved Meta template and a delay. Add more steps to keep nudging.
If the approved-template list fails to load, Add another step reads Templates unavailable and cannot be clicked. Refresh and try again.
Watch who is in a sequence
The status row at the bottom of each card is a button. Click it and the sequence console opens — right-docked on a desktop, a full sheet from the bottom of the screen on a phone. Esc, the ✕, a tap on the dimmed area, or your browser’s back gesture all close it.
The status row at the bottom of a card is a button, and the only way into the sequence console.
Before it opens, the row itself is worth reading. It shows, in order of
importance: anything blocking the sequence, then Nobody enrolled yet …, then
live numbers like {N} active · next send in 2h · {n} stuck. While it loads you
see a grey placeholder; if it fails, Couldn't load activity.
A sequence that cannot send says so on its own card, and when the problem is serious the link on the right reads Fix instead of Activity. A milder warning still reads Activity, with the warning text in amber.
The five counts across the top
| Count | What it counts |
|---|---|
| Active | Everyone currently mid-sequence, including those not yet started |
| Completed | Everyone who received every step |
| Stopped | Everyone the sequence stopped for, for any reason |
| Stuck | Live, overdue, and nothing has re-queued them. Turns amber above zero |
| Not enrolled | Contacts turned away in the retention window |
Only two of the five do anything when clicked: Not enrolled switches to the Not enrolled tab, and Stuck switches to the Contacts tab — note it changes tab only, it does not apply the Stuck filter for you. Tap the Stuck filter pill yourself.
Under the counts: Next send: {date}, and · {N} due in the next 24h when
there are any.
The Contacts tab lists everyone, with filter pills All, Active,
Stuck, Completed and Stopped, and a Search contacts chip that
searches Search name or number. On All, contacts you have cleared are
hidden; every other filter includes them.
Each row shows the contact’s name over their phone number, a rail of dots
reading {current} / {total} — one dot per step — and a sentence saying exactly
where they are.
Stop and Clear are not the same thing
Both appear on a contact row: as icon buttons with tooltips on a desktop, and under the ⋮ menu on a phone.
| Action | What happens |
|---|---|
| Stop sending — they stay enrolled | The remaining steps never go out, and the contact keeps their enrolment record — so this sequence can never reach them again |
| Clear — let this sequence reach them again | Removes the enrolment record. That stops a live sequence and re-opens the contact to this sequence in future |
Neither one sends a message. Use Stop when someone should be left alone for good; use Clear when you want them to get this sequence again next time, for example after you fix a missing phone number on their record.
Rows also offer Open conversation when the contact has a phone number, and Open lead when they are linked to a lead.
Toasts: Stopped following up {name}. and
Cleared {name}. This sequence can reach them again.
What each contact’s sentence means
This is the fastest troubleshooting in the section — the sentence usually contains the whole answer.
| Sentence | What it means |
|---|---|
Waiting for the first step · {when} | Enrolled, nothing sent yet |
Next: step {n} · {when} | Mid-sequence and on schedule |
Finished all {n} steps · {when} | Ran to the end |
They replied {when} — sequence stopped | Working as intended — a reply always ends the sequence |
Stuck at step {n} since {when} | Due time passed and nothing re-queued it. Usually a processing problem, not your configuration |
Cleared by {name} · can be enrolled again | Someone cleared the record, so the sequence can reach them next time. Reads plain Cleared · can be enrolled again when there is no name to show |
Stopped — contact is on the block list | Outbound control is blocking them — see Outbound control |
Stopped — the sequence was switched off | The sequence was disabled mid-flight |
Stopped — step {n} is missing | The sequence has no step at that position, so it can't continue. |
Couldn't send step {n} — sequence stopped | WhatsApp refused the send. Check the step's template and the number's status. |
Stopped — no phone number for this contact | Nothing to send to, after several tries. Add a phone number or WhatsApp ID to the lead, then Clear to enrol them again. |
A stuck or waiting row often carries a second line with the reason — the last
error it hit, Nothing has been retried since., or moved to business hours.
See exactly what a contact received
Click the chevron on a contact’s row to open their spine: one line per step, with
a state word and a time. The words are Sent, Couldn’t send, Skipped,
Next, Then, Not sent, and Overdue for a Next that is late. A
line can also note moved to business hours, +2h after step 1,
overdue — never re-queued, the step’s own error, or the step’s template text.
The footnote under the spine is the mental model for the whole feature:
Solid = scheduled or already sent. Dashed with
~= worked out from the remaining delays; a late step moves everything after it. The message shown is the step’s own template — it still contains{{1}}placeholders, so it is what will be sent, not what was received.
In other words: only the next step has a real scheduled time. Everything after it is the app’s arithmetic on the remaining delays, because each step is timed from when the one before it actually sent. One late step drags the rest along with it.
When a sequence has ended, a closing note appears on the last step that
happened — for example Sequence complete, They replied — sequence stopped,
Contact is on the block list, The sequence was switched off, or
Cleared — a new enrolment starts a fresh spine.
If nothing is scheduled at all, you get
Nothing has been scheduled for this contact yet.
Clear several contacts at once
Tick the checkboxes on the rows you want and a bar appears above the list with
{N} selected, a link Select all {N} matching this filter, and a button
Clear {N}. The link sends your filter to the server, so the set you clear is
provably the set on your screen. Select too many and the bar reads
Over the {max} limit — narrow the filter and the button is disabled.
Clear {N} asks first — Clear {N} contacts from {sequence name}? — and the
confirmation fills in as the server works out what you selected: Checking…,
then {n} of them are mid-sequence and will stop now. if any are, and always:
They can each receive this sequence again the next time they're assigned or messaged.
This doesn't send anything.
Afterwards, the toast Cleared {N} contacts carries an Undo, and ⌘ Z /
Ctrl+Z reverses it too. Undo tells you what it managed:
Restored {n}., or Restored {n}. {m} had already been enrolled again and stayed cleared.,
or That undo window has passed. if you left it too long.
Clearing a single row does not ask for confirmation — one click and it is done.
Why someone never entered a sequence
The Not enrolled tab groups everyone the sequence turned away, with a count and a one-line reason for each group. Expand a group to see the individual leads and their owners.
| Group | What it means |
|---|---|
Already received this sequence | One sequence reaches a contact once, ever. Clear their record to let it reach them again. |
Owner can't use follow-ups on this number | They have this number but not the Auto follow-up permission, so nothing starts when a lead is assigned to them. |
Owner has no access to this number | The lead's owner isn't on this WhatsApp number at all. If you didn't expect this, tell support — it usually means access wasn't written when they were added. |
No sequence runs on assignment | No enabled sequence on this number is set to start when a lead is assigned. |
No phone number on the lead | Nothing to send to. Add a phone number or a WhatsApp username. |
On the block list | Outbound control is blocking these contacts. |
Sending is paused on this number | Nothing automated goes out while the number is paused. |
This number can't message that username | The contact only has a WhatsApp username, and it belongs to a different business portfolio. |
Bulk assignment doesn't start sequences | By design — a bulk re-assignment would message everyone at once. Assign individually to enrol. |
No official WhatsApp number | This workspace has no official number for follow-ups to send from. |
Only the Already received this sequence group has anything you can act on: each
row there carries a Clear link that re-opens enrolment for that one contact.
The other groups are read-only lists — fix the cause and the next assignment will
enrol them.
Where a refusal mentions an Auto follow-up permission, what an owner actually grants is WhatsApp access on that person’s role, plus this number under Settings → Channel access. There is no separate Auto Follow-up switch to hand out.
The tab footer reads Only the last 30 days are kept. An empty tab is not proof
nothing was turned away, which the app says out loud:
Nothing was turned away recently /
Only the last 30 days are kept, so an empty list here isn't proof it never happens.
Where follow-ups show up outside this page
- On a lead’s record. The Activity feed carries the sequence as its top row:
the sequence name, a state word, then
· 1 of 3 sentor· next 6 Sep 18:26, plus numbered step markers you can tap for aStep {n} of {total}popover with a View template link. A lead that was turned away shows the refusal heading, a grey Not enrolled pill and the sequence name. All of it is read-only — there is no Stop or Clear on the lead record. Come back to the sequence console for that. - In a conversation. The thread shows an automation line with a Take over / Hand back button. Take over pauses follow-ups to that contact — see Outbound control.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
No approved Meta templates for this account. | Nothing on this number has been approved yet | Submit a template on the Message Templates page and wait for Meta approval before adding it here. — see Create a template |
This step's template is no longer approved | The template the step was built on lost its approval, so the step cannot send | Pick a replacement in the same modal. Save stays blocked until you do |
This template has a image header but no saved media. | The template needs a header file and none is stored | Re-upload its header file on the Templates page so this step can send it. A step cannot carry its own upload |
| A “30 minutes” step arrived the next morning | Sends are held to the number’s business hours | Nothing is wrong. The row will say moved to business hours. Change the schedule under the number’s Business hours — see Message settings |
| Leads got two follow-ups at once | Two enabled sequences on this number share a trigger — both cards show Duplicate trigger | Switch one of them off |
| A big re-assignment enrolled nobody | Bulk assignment deliberately never starts sequences | Assign those leads individually |
Stopped — contact is on the block list | Outbound control is blocking automated messages to them | Unblock them if that was not intended — see Outbound control |
Stuck at step {n} since {when} | The step’s time passed and nothing re-queued it. This is usually a processing problem | Refresh the list. If it persists, message support with the sequence name and the contact |
Stopped — no phone number for this contact | Several delivery attempts found nothing to send to | Add the number to the lead, then Clear the record so the sequence can enrol them again |
| Numbers on the page have not moved | Follow-ups do not live-update; they advance on a schedule in the background | Use the Refresh sequences chip |
| A step reads On keyword · after 2h | It was built in the previous app, which could match keywords | Leave it alone. Its keywords and match rule were set in the previous app and can't be edited here. Picking either Send condition tile converts the step and drops the keyword match |
Auto Follow-up isn't in your plan or No Auto Follow-up access | The plan does not include the feature, or your role does not include WhatsApp access | Ask a workspace owner — see the prerequisites at the top of this page |
Next
- Choose who gets an automated reply, and whenEvery automated reply Raion Hub sends belongs to a WhatsApp number, and so do the
- Stop automated messages reaching a contactSome people should never get an automated message: the customer who asked you to
- Create a WhatsApp message templateA campaign can only send a template that Meta has reviewed and approved —