# Can a sequence start when someone joins a segment?

> Broadcast enrolls subscribers into a sequence automatically when they match a segment or get a tag. Set it on the Entry Point step, no date-based workaround needed.

Source: https://sendbroadcast.net/how-to/trigger-a-sequence-from-a-segment

Yes. This is built in, and it is the most common thing people build a workaround
for before they find it.

Sequences have an **Entry Point** step with an **Entry Triggers** section. Two of
the triggers there enroll people automatically:

- **Segment trigger:** a dropdown of your existing segments. Anyone who starts
  matching the segment gets enrolled.
- **Tag trigger:** a single tag. Anyone who gets that tag gets enrolled.

[The sequences documentation](https://sendbroadcast.net/docs/email-sequences) covers both,
along with the other two ways in (adding people by hand, and the
[Sequences API](https://sendbroadcast.net/docs/api-sequences)).

![The Entry Point step showing the Tag trigger field and Segment trigger dropdown](https://sendbroadcast.net/assets/docs/sequences/step-entry-point-94284cba.png)

Both triggers live on the Entry Point step. The segment trigger checks for newly matching subscribers every 15 minutes.

## You probably do not need a date-based segment

A common workaround is to build a segment like "created in the last 1 day" and
point the sequence at that, as a stand-in for "recently added." You can skip
that.

The Segment trigger fires when a subscriber **starts matching the segment**, not
when the segment is evaluated on a schedule you have to approximate. So the
segment can express what you actually care about: has a tag, opened something,
carries a particular custom data value, and enrollment follows from that
directly. Broadcast checks every 15 minutes for subscribers who have newly
started matching.

That also removes the failure mode the date proxy has: if the sync and your
"last 1 day" window ever drift apart, people fall through the gap or get
enrolled twice.

## Which trigger to use

**Use the Segment trigger** when membership is a consequence of data you already
hold: engagement, custom fields, subscription date, tags, or any combination.
Segments are rule-based and evaluated continuously, so this covers most cases.
See [segmenting subscribers](/how-to/segment-your-subscribers) for what the rules
can match on.

**Use the Tag trigger** when enrollment is an explicit act rather than a
consequence: your app tags someone at checkout, or you tag them by hand. Tag the
subscriber through the [Subscribers API](https://sendbroadcast.net/docs/api-subscribers) and the sequence
picks them up.

Two things to know about the Tag trigger: it takes a **single tag**, and it is an
**exact match**. There is no multi-tag trigger. If you need "any of these three
tags," apply one shared tag alongside them and trigger on that.

![A sequence's detail page listing the subscribers currently enrolled and their next step](https://sendbroadcast.net/assets/docs/sequences/sequence-show-444dba7c.png)

Enrolled subscribers appear here alongside the step they are currently waiting on.

## Worth knowing

**Enrollment is not instant.** The segment sync runs every 15 minutes. If a
sequence has to fire the second something happens, use the
[Sequences API](https://sendbroadcast.net/docs/api-sequences) to enroll directly from your own code rather
than waiting for the sync.

**Sequences can hand off to each other.** A sequence step can add or remove tags
and move subscribers to another sequence, so one flow can enroll someone into the
next without you wiring anything up. See
[branching a sequence](/how-to/branching-sequences).

**Removing people works the same way.** Removing a tag can take a subscriber out
of a sequence, and unsubscribed subscribers are dropped from every sequence
automatically.

---

Trying to trigger on something that is not a tag or a segment? [Tell us what the
event is](mailto:simon@sendbroadcast.net?subject=Sequence%20trigger%20question),
if it is not covered, it goes on the [roadmap](/roadmap).
