# Campaigns & sequences

> Step-by-step outreach to a contact list — entry filters, daily intake, which X account works each person, versions, replies and review.

Source: https://x.builera.app/docs/en/campaigns
Last checked: 2026-10-24

A **campaign** takes people from a contact list and walks each one through a **sequence** of steps — follow, like a recent post, wait, send a message, wait for a reply — on one of your X accounts.

## Steps {#steps}

A sequence is a graph of steps, not just a list: a step can wait, branch on what happened (for example "followed back" or "replied"), or end. Every message step sends exactly the text you wrote. Template fields such as a name are filled in for each person; nothing else changes.

If a template field has no value for a person, nothing is sent: the person is held for review with **The message template has a field (e.g., @name) with no value for this contact — nothing was sent.** The editor shows **Variables:** you can use and warns about **Unknown variables:**.

## Who enters {#who-enters}

Entry filters decide who from the list may start:

- **Minimum followers**
- **Bio contains any of these words** / **Bio contains none of these words**
- skipping people who look like bots

**New contacts per X account per day** sets how many new people each participating X account takes in per day. It's an intake limit, not a promise of sends: every step still obeys the X account's limits and run hours.

## Which X account works a person {#which-x-account-works-a-person}

Each person is worked by one X account. X-Buddy prefers the X account that already owns the person, then one the person follows, then the least busy eligible X account. People owned by another X account aren't enrolled twice.

## Editing a running campaign {#editing-a-running-campaign}

Saving changes to a running campaign creates a **new version**. People already in the campaign stay on their version; new people use the new one. To move existing people, use **Switch version** and review **Version switch results**. Saving never moves everyone silently.

## Replies stop everything {#replies-stop-everything}

When a person replies, X-Buddy stops **every live sequence for that person in the workspace**, not just this campaign. People on the do-not-contact list never enter, and are removed if added later.

## When X refuses messages {#when-x-refuses-messages}

If X refuses to deliver messages 3 times within 24 hours for a campaign that sends messages automatically, the campaign pauses itself and you get an alert. Each refused person ends with a "messages closed" result.

## Needs review {#needs-review}

When X-Buddy can't tell whether a step happened on X (an unknown outcome), the person is parked in **Needs review** instead of repeated. X-Buddy reads X first — see [Unknown outcomes](/docs/en/troubleshooting#unknown-outcomes) — and then asks you to choose **Done on X**, **Retry** or **Stop**.

## Related {#related}

- [Contacts & lists](/docs/en/contacts-and-lists)
- [Limits, run hours & safety](/docs/en/limits-and-safety)
- [Stats & activity log](/docs/en/stats-and-activity)
