> ## Documentation Index
> Fetch the complete documentation index at: https://docs.custral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sequences

> Build long-running, multi-step automated processes.

Sequences are for automations that span days, weeks, or months. Where a [Workflow](/automation/workflows/overview) fires and finishes in an instant, a Sequence enrolls a record and walks it through steps over time. Pausing for delays, waiting on events, branching, and respecting business hours along the way. They're built on the same canvas as Workflows, with a starting **Enrollment** trigger instead of an event trigger.

## Enrollment

Records are **enrolled** into a sequence. You can enroll:

* **Individually**: from a record view, one at a time.
* **In bulk**: select records in a table or list and enroll them together.
* **From a Collection or saved View**: enroll the records currently in a [collection](/data/collections/overview) or a filtered view in one action.
* **Automatically**: a [Workflow](/automation/workflows/overview) or [Job](/automation/jobs/overview) fires the **Enroll in Sequence** action on a trigger, so records enroll the moment they match your criteria.

## Threads

Each enrollment runs on one or more **threads**. When the flow forks (an A/B split or parallel branches) the enrollment carries multiple threads at once, each advancing independently. This is what makes complex, non-linear journeys possible: a thread can be waiting on an email reply while another moves ahead.

## Control blocks

Sequences use specialized blocks to manage the flow of time and events.

| Block                                             | What it does                                                                       |
| ------------------------------------------------- | ---------------------------------------------------------------------------------- |
| **Wait for Duration**                             | Pause for a set amount of time, seconds through months (e.g. "wait 3 days").       |
| **Wait until Date**                               | Pause until a specific calendar date and time.                                     |
| **Wait for Event**                                | Pause until an event occurs. Such as an email open, click, or reply.               |
| **Wait for Task Completion**                      | Pause until a linked task is completed.                                            |
| **Wait for Call** / **Wait for Call Disposition** | Pause until a call happens, optionally with a specific disposition.                |
| **Wait for Either**                               | Continue as soon as *any* of several events occurs.                                |
| **Join**                                          | Synchronize parallel threads, wait for `all` or `any` to arrive before proceeding. |
| **A/B Split**                                     | Randomly divide the flow into weighted paths for testing.                          |
| **Enroll in Sequence**                            | Enroll the record into another sequence.                                           |

Alongside these, a sequence can run any standard **action** block (send an email or SMS, create a task, update a property) between the waits.

## Office hours & constraints

Sequences can be configured with **office hours** so that time-sensitive actions (SMS, calls) only fire during business hours in the recipient's timezone.

<Info>If a sequence step is reached outside of office hours, it pauses and resumes automatically at the next available window.</Info>

## Managing enrollments

Once a record is moving through a sequence, you can steer it:

* **Pause** and **resume** an individual enrollment.
* **Cancel** an enrollment to remove the record from the sequence.
* **Jump** an enrollment to a specific step.

Each enrollment keeps a log of every step it took, so you can see exactly where a record is and what happened.

## When to use a Sequence

| Use case                                                     | Pick                                       |
| ------------------------------------------------------------ | ------------------------------------------ |
| Spans days or weeks with explicit waits and branching        | **Sequence**                               |
| Fires immediately on a record, field, or conversation change | [Workflow](/automation/workflows/overview) |
| Runs on a schedule over a filtered set of records            | [Job](/automation/jobs/overview)           |

## See also

* [Workflows](/automation/workflows/overview): instant, event-driven automations.
* [Jobs](/automation/jobs/overview): scheduled, bulk operations.
* [Run an outbound sequence](/recipes/outbound-sequence): a full multi-channel example.
* [Email templates](/comms/email/templates): the messages a sequence sends.


## Related topics

- [Run an outbound sequence](/recipes/outbound-sequence.md)
- [Workflows](/automation/workflows/overview.md)
- [Email](/dev/webhooks/events/email.md)
- [What the assistant can do](/ai/tools/library.md)
- [Workflow Actions](/automation/workflows/actions.md)
