## Overview

As an enrollment advances, each step produces a **send record** with a status, forming the cadence
**funnel**: from how many contacts entered to how many replied or converted. In parallel, **exit
rules** decide when a cadence should stop before reaching the end — for example, as soon as the
contact replies.

Understanding the funnel and configuring exits well is what makes a cadence polite and effective: it
speaks enough to re-engage, but stops the moment it has met its goal.

## Prerequisites

- Enrollments in progress (see the enrollment article).
- Permission to view reports and manage sequences.
- For a billing or CRM goal: the record (charge or deal) tied to the enrollment. The calendar goals
  need no link — they are checked by contact.

## Step by step

1. Open the sequence and view the **enrollments** list and the per-step **funnel**.
2. On each enrollment, open the **timeline** to see the history of every step and event.
3. Set the sequence's **exit rules** in **Sequence settings** (on reply — on by default —, on
   resolution and/or on goal). You can edit them later without rebuilding the sequence.
4. Publish the sequence to apply the exit rules to new enrollments.
5. Track the **reports** to measure replies, conversions and per-step performance.

## Settings & options

### Reply before the first step

Reply exit keeps the previous behavior by default: it requires an already-sent step. Enable
**Also stop on a reply before the first step** to end the enrollment when the contact sends a
new public message in the same conversation after enrollment. This option requires **Stop when
the contact replies**. Earlier messages, private notes and replies in another conversation do
not count. No send receipt is invented to record that reply. Queued messages are rechecked
before sending; a delivery already accepted by the provider cannot be undone.


### Step statuses (funnel)

Each sent step moves forward through statuses, always forward (a later status never goes back):

| Status | Meaning |
|--------|---------|
| **Pending** | Waiting (includes AI drafts awaiting approval). |
| **Scheduled** | Queued to send at the step's time. |
| **Sent** | Message sent. |
| **Delivered** | Delivery confirmed. |
| **Read** | The contact read it. |
| **Replied** | The contact replied (usually triggers the exit). |
| **Skipped** | The step was skipped by a "skip" rule. |
| **Failed** | The send failed. |

### Exit rules

Exits decide when the cadence stops before the last step:

- **On reply** (on by default): if the contact replies, the cadence stops. This is the most important rule.
- **On resolution**: if the linked conversation is marked resolved, the cadence stops.
- **On goal**: the cadence stops when the goal is reached — even if it was reached outside the
  cadence. The available goals are in the table below.
- **At the end of the sequence**: completing the last step ends the enrollment naturally.

### Available goals

| Goal | Stops when… | How it's checked |
|------|-------------|------------------|
| **Charge paid** | the linked charge is paid | by the record **linked** to the enrollment |
| **CRM deal won** | the linked deal is marked won in the CRM | by the record **linked** to the enrollment |
| **Appointment booked** | the contact has a confirmed appointment **still ahead** | by **contact** |
| **Appointment held** | the contact had a confirmed appointment that **already ended** (after the enrollment started) | by **contact** |

The two calendar goals are different on purpose:

- **Appointment booked** is what most prospecting cadences want: the moment the lead books the
  meeting, stop chasing — even if the meeting is only next week.
- **Appointment held** waits for the meeting to actually happen. Use it when the cadence should keep
  reminding the contact until the commitment is fulfilled.

The calendar goals are checked **by contact** (appointments where they are the event's contact or are
on the attendee list), so they work on any sequence — including **inactivity** ones, which carry no
linked appointment. **Charge paid** and **CRM deal won**, on the other hand, rely on the record linked
to the enrollment, which is what event-triggered sequences provide.

### Holding is not exiting

Besides the exits, a cadence can sit **on hold** for a while without ending:

- **On hold (an agent is attending)** — with Maestro paused because a human took over the
  conversation, the platform defers the next step instead of sending on top of the agent.
- **Throttled (rate limit)** — the per-contact daily cap or the channel's send rate was reached.

In both cases the enrollment stays **active** and resumes on its own once the condition clears. Only a
**reply**, a **resolution** and a **goal** actually end the cadence. See
[Settings: timezone, quiet hours and limits](/hc/ajuda/articles/follow-ups-configuracoes-fuso-silencio-limites-en).

### Enrollment states

The enrollment itself can be **active**, **paused**, **completed** (reached the end), **exited** (an
exit rule stopped it) or **failed**. You can **pause**, **resume**, **skip a step** or **cancel**
enrollments manually.

### Reports

Reports show performance by **sequence**, by **step** and by **compose mode**, plus the distribution
of enrollments by state — useful for tuning waits, copy and the number of steps.

### Stop contact and AI decisions

Enable the lost-deal exit condition when the enrollment is linked to a deal. You can also enter the exact contact label names that should end the enrollment. These conditions are checked again after AI composition and when approving a draft.

AI can prepare a message, skip only the current step, or end the enrollment. A do-not-contact decision must end the enrollment; skipping a step allows the sequence to continue later. Invalid output is not sent as a customer message.

Human approval remains subject to conversation pauses, enrollment status, and the allowed sending times of the inbox, sequence and step. When sending is blocked, the draft remains pending; approval does not bypass these rules.

## Use cases

- Measure at which step most replies arrive and shorten the cadence from there.
- Ensure the billing cadence stops as soon as the payment lands (exit on goal).
- Spot steps with many failures and review the channel or message template.

## Tips, limits & best practices

- Keep **exit on reply** on by default — it's what avoids nagging someone who already answered.
- Use **exit on goal** for cadences tied to billing, CRM and Calendar.
- In a prospecting cadence whose whole point is to get the meeting, the right goal is **Appointment
  booked** — not "held".
- Use reports to cut low-return steps instead of only adding more.

### Opt-out protection

An incoming opt-out keyword is honored on supported channels even without the semantic pipeline. A suppressed contact cannot enter a cadence; existing enrollments exit before their next send. Already queued follow-ups are checked again before dispatch. WhatsApp marketing preferences block MARKETING templates, while utility and authentication templates keep their own rules. A message already being delivered cannot be recalled.

## Troubleshooting

- **The cadence continued after a reply**: confirm exit on reply is enabled on the sequence.
- **Exit on goal didn't work**: for **charge paid** and **CRM deal won**, check the enrollment is
  linked to the right record and that its state changed. For the calendar goals, check the appointment
  is **confirmed** (cancelled doesn't count) and that its contact is the same as the enrollment's.
- **The cadence stopped before the meeting happened** (or kept going after it was booked): you picked
  the wrong calendar goal. **Appointment booked** stops as soon as a future meeting exists;
  **Appointment held** only stops after it has ended.
- **A step shows as failed**: check the step's channel and whether an approved template is needed.

## See also

- [Follow-ups and cadences overview](/hc/ajuda/articles/follow-ups-overview-en)
- [Sequences, steps, channels and composition](/hc/ajuda/articles/follow-ups-sequencias-passos-canais-composicao-en)
- [Enrollment: manual, automation, event and inactivity](/hc/ajuda/articles/follow-ups-inscricao-en)
- [AI with human approval](/hc/ajuda/articles/follow-ups-ia-com-aprovacao-humana-en)

### Definitive delivery failure

A definitive Meta failure receipt or a confirmed nontransient send rejection marks the step as failed and stops the enrollment. The report counts that failure. A delivered, read or replied step is not downgraded by a late receipt, and an exit due to a reply or goal is preserved. An unknown outcome or a local block is not proof of provider rejection. The cadence does not automatically resend: the human **Resend** action, when allowed, applies to that message and still respects opt-out rules. History from before the update is not automatically reclassified.