## Overview

**Enrolling** places a contact inside a cadence. Each enrollment is the sequence running for that
contact: it pins the published version, advances step by step on schedule, and stops on its own when
an exit rule is met. ConversaLabs offers **several ways to enroll**, from a manual click to an automatic
trigger.

The platform avoids talking to the same person twice: there is at most **one active (or paused)
enrollment per contact in each sequence** (accounting for the conversation too). Repeated attempts
are safely ignored.

## Prerequisites

- A **published**, active sequence.
- For **event** or **inactivity** enrollment: the matching trigger **configured on the sequence**
  (see below) — without it the sequence stays active but enrolls nobody.
- For automation, macro or flow enrollment: the **Automation/Flow** module available.

## Step by step

1. Create the sequence and choose the **trigger** (Manual, Event or Inactivity) and the **target**
   (contact, conversation, deal, appointment or charge).
2. If the trigger is **Event**, choose **which event** starts the enrollment.
3. If the trigger is **Inactivity**, set the **inactivity time** (value + unit: minutes, hours or days).
4. Configure the **exit conditions** (when the cadence stops) and save.
5. Publish the sequence. From then on, enroll manually or let the trigger act — the enrollment starts
   as **active**.
6. Need to adjust later? Open **Sequence settings** (the controls icon in the list) and edit the
   trigger, event, inactivity time and exits without rebuilding the sequence.

### Enrollment from a contract

On the contract detail page, sequence enrollment and the follow-up link are saved together. A failure to save the link rolls back the new enrollment. Repeating the same sequence returns the linked enrollment without creating another or restarting it if it has ended. A different sequence is declined while the link exists: select the linked sequence to reuse it or manage the existing enrollment in Follow-up.

## Settings & options

### Ways to enroll

| Way | How it happens |
|-----|----------------|
| **Manual** | You enroll one contact (or many, in bulk) directly from the interface. |
| **Automation** | An automation rule runs the enroll action when its conditions match. |
| **Macro** | An agent runs a macro that includes the enroll-into-cadence action. |
| **Flow** | A Flow Builder node enrolls the contact mid-flow. |
| **Event** | A system event (charge overdue, deal stale, appointment no-show, cart abandoned, etc.) triggers the enrollment automatically. |
| **Inactivity** | Conversations idle beyond the configured time are enrolled automatically. |
| **API** | An external system enrolls contacts programmatically. |

> **Triggers available on the sequence:** Manual, Event and Inactivity. The other ways (automation,
> macro, flow and API) enroll the contact independently of the chosen trigger.

### Event enrollment

Choose the **Event** trigger and pick, in the selector, **which event** starts the enrollment. The
list is maintained by the platform and covers the events it actually emits, grouped by area:

- **CRM**: deal went stale, close date approaching, deal won.
- **Tasks**: task overdue, task due soon.
- **Calendar**: appointment no-show.
- **Charges**: charge overdue.
- **Ads and social**: ad lead captured, social comment captured.
- **Commerce**: cart abandoned, order placed, payment pending/confirmed/declined, order
  overdue/due-soon, refund, chargeback, subscription late/canceled.

When the event happens, the platform enrolls the contact — as long as the sequence target matches
what the event carries. **Saving requires a chosen event**, so the sequence is never left without a
trigger.

### Inactivity enrollment

Choose the **Inactivity** trigger and set the **inactivity time** as value + unit (for example,
**3 days**, **12 hours** or **90 minutes**). Conversations idle beyond that time are enrolled — each
conversation is processed only once per sequence. Because the time must be greater than zero, the
sequence is never saved in a state that never fires.

For safety, publishing starts a **from-now-on** window: the detector does not automatically scan
every old conversation that is still open. To include an earlier period, choose **Include earlier
conversations**, select the date, review the count and sample, then confirm the signed preview before
it expires. If the audience changes between preview and confirmation, the platform refuses the action
and asks for a fresh preview. Confirmation queues only the ids in that exact audience, in safe
batches; conversations appearing later do not inherit the approval.

### Holding while an agent is attending (Maestro)

If the account uses Maestro, the cadence can **wait** while a human agent is on the conversation
(Maestro paused) — so an automated nudge never lands on top of the reply the agent is about to send.
The control applies to **every trigger type**, not just inactivity, and works on two levels:

- **Account (or inbox) default**: in **Follow-ups → Settings**, **Hold the cadence while an agent is
  attending** is **already on** — it is the safe default, because a held cadence resumes on its own,
  while ignoring the pause sends a message on top of the agent's reply. Turn it off only if your
  operation wants the cadence running even with an agent on the conversation. That is also where you
  set how often the platform re-checks.
- **Per sequence**: in the sequence settings, the **While an agent is attending (Maestro paused)**
  selector accepts **Inherit** (follow the account/inbox default), **Always hold** or **Never hold**.

Holding is **not exiting**: while the agent is on the conversation the sequence neither enrolls nor
sends the next step; as soon as they let go, the cadence resumes on its own from where it stopped.
What actually ends a cadence is a reply, a resolution or a goal.

Failure is safe too: when Maestro's state is unknown or the integration is temporarily unavailable,
the platform **holds** enrollment and delivery. A network error is never treated as permission to
contact the customer.

### Exit conditions

On the same screen you decide when the cadence **stops**: when the contact **replies** (on by
default), when the conversation is **resolved**, and/or when a **goal is reached** (charge paid, deal
won, appointment booked or appointment held). Details in the funnel and exit article.

## Use cases

- **Bulk manual**: select several contacts from a list and enroll them in a reactivation campaign.
- **Event**: every overdue charge automatically enters the dunning cadence.
- **Inactivity**: conversations with no reply for 3 days enter a follow-up cadence.
- **Automation**: new leads from a specific channel enter the welcome sequence.

## Tips, limits & best practices

- Match the sequence **target** to the way you enroll (a dunning cadence has a charge target).
- Do not try to enroll the same contact twice in the same sequence — the duplicate is ignored.
- For inactivity triggers, tune the time to your business so it does not fire too early.
- Picked the wrong event or time? Use **Sequence settings** to fix it without rebuilding.

## Troubleshooting

- **The contact was not enrolled by an event**: check that the sequence is active, published and has
  the right **event** and **target** (the sequence must have an event selected).
- **Inactivity did not fire**: review the **inactivity time** — it must be greater than zero.
- **I enrolled and nothing showed**: there was probably already an active/paused enrollment for that
  contact in that sequence (limit of one per target).

## 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)
- [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)