## Overview

A **sequence** is the blueprint of your cadence. It is made of **steps** in order, each with a
**wait**, a **channel** and **content**. When you **publish** the sequence, the platform takes a
snapshot (version) of the steps: enrollments already running keep the version they started on, so
editing a sequence never disrupts anyone already mid-cadence.

This article covers how to structure the sequence, configure each step, choose the sending channel,
and compose the message with variables and WhatsApp templates.

## Prerequisites

- The **Follow-ups** module enabled and permission to create sequences.
- A valid outbound channel (for example, a WhatsApp inbox, email or SMS).
- To use custom variables, the contact's **custom attributes** configured.
- To send outside WhatsApp's 24h window: an **approved template (HSM)** on the inbox.

## Step by step

1. In the **Follow-ups** module, create a new **sequence** and give it a clear name.
2. Set the cadence **target** (contact, conversation, CRM deal, appointment or charge).
3. Add the first **step**: choose the wait, the channel and write the message.
4. Add the following steps, adjusting each one's wait relative to the previous send.
5. Use the **variable picker** to insert contact/conversation data into the message.
6. Review everything and click **Publish** to activate the sequence.

## Settings & options

### Steps and waits

Each step has a **wait** before it is sent, counted from the previous send. The wait can be in
**minutes, hours, days or business days**. Business days and quiet hours are adjusted by the time
zone set in the module's settings.

### Channels

The **channel** defines how the step sends:

| Channel | When to use |
|---------|-------------|
| **Automatic** | The platform picks based on the conversation/contact (recommended in most cases). |
| **Same conversation** | Continues in the contact's existing conversation. |
| **Email** | Sends by email. |
| **SMS** | Sends by SMS (mind the message length). |
| **WhatsApp** | Sends by WhatsApp, respecting the 24h window. |

### Content type and composition

- **Content type**: text, template or rich content.
- **Compose mode**: **static** (you write the text), **AI assisted** (the AI drafts and a human
  approves) or **AI full** (the AI composes and sends). See the AI with human approval article.

### Variables (personalization)

Write personalized messages with **variables** (for example, the contact's first name, the agent's
name, conversation data and custom attributes). Variables are resolved **on the server**, at send
time — you only insert the placeholder via the variable picker.

### Preview and test send

Before publishing, check the step's copy right in the editor:

- **Select a conversation** in the search picker — it lists recent conversations when you open it,
  and you can search by number, contact name, email or phone. Only conversations from the inboxes
  you have access to are listed.
- **Preview**: shows the rendered message. With a conversation selected, variables resolve with that
  contact's real data; with no selection, they come out blank.
- **Send test**: actually sends the message to the selected conversation. It is a one-off send — it
  creates no enrollment, does not advance the cadence and does not count in reports.

### Action button (inside the window)

Each step can carry an **optional native button** on its own message — it does not become a second
message. Fill in the **label** and the **link**; both accept variables, so the link can be
personalized per contact.

- **Button title (optional)**: shown above the message on WhatsApp Web and accepts variables. Left empty, the
  message goes out without a header; anything past 60 bytes is cut.
- **WhatsApp Cloud** renders a real link button; **WhatsApp Web** renders a native button; the API
  channel receives the button structured in the payload.
- On channels with no native button (email, SMS) what ships is the link you wrote in the body — so
  keep the link in the text whenever it is essential.
- **Label and link are required together**: with only one of them filled the step will not save,
  because a half-filled button makes WhatsApp reject the whole message. Clear both fields to send no
  button at all.
- **Outside the 24h window** the button is not used: there the message is an approved template, and
  the link travels in the template's own URL button (below).

### WhatsApp templates (24h window)

If the step is WhatsApp and the contact is **outside the 24h window** (WhatsApp Cloud), only an
**approved template (HSM)** can be sent. On the step, pick the template and map its parameters with
variables. If the template has a **link button**, fill in the button value right there: it is **saved
with the step** and used on send. Inside the window (or on WhatsApp Web, which has no window), free text
is sent normally.

### Message templates and sequence templates

- **Message templates**: reusable text that speeds up step creation.
- **Sequence templates**: ready-made cadences by niche; applying one also creates the custom
  attributes that cadence uses.

## Use cases

- Billing cadence: step 1 immediate, step 2 after 1 day, step 3 after 3 days, all on WhatsApp.
- Welcome: 3 emails over a week, using the contact's first name.
- Reactivation: 2 touches in the same conversation with 2 and 5 days of wait.

## Tips, limits & best practices

- Space steps out well: waits that are too short feel like spam.
- For WhatsApp, always keep an approved fallback template on steps that may fall outside the window.
- Test variables with a real contact before publishing so they don't render blank.
- Publish again after any edit — only the published version applies to new enrollments.

## Troubleshooting

- **The message went out with a blank variable**: the contact didn't have that data — pick a variable
  with a value or provide default text.
- **The WhatsApp step failed outside the window**: the step was missing an approved template (HSM).
- **The template's link button had no destination**: open the step and fill in the **link-button value**
  — it is saved with the step and must be filled in for the button to lead anywhere.
- **I edited the sequence and nothing changed**: old enrollments keep the old version; publish and
  new enrollments will use the new one.

## See also

- [Follow-ups and cadences overview](/hc/ajuda/articles/follow-ups-overview-en)
- [Enrollment: manual, automation, event and inactivity](/hc/ajuda/articles/follow-ups-inscricao-en)
- [Cadence funnel and exit rules](/hc/ajuda/articles/follow-ups-funil-e-saida-en)
- [AI with human approval](/hc/ajuda/articles/follow-ups-ia-com-aprovacao-humana-en)