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

# Build a campaign

> Walkthrough — from defining the audience to hitting send.

Building a reactivation campaign takes about 5 minutes. The key decisions: who gets it, what does it say, when does it go.

<Steps>
  <Step title="Click 'New campaign'">
    From **Reactivation → Campaigns**, click **New campaign**.
  </Step>

  <Step title="Name it">
    Internal label only — customers don't see it. "Spring 6-month dormant push" or "Q4 commercial check-in" — whatever helps you find it later.
  </Step>

  <Step title="Pick a channel">
    SMS or email. Or both — we'll send SMS to contacts with phones and email to contacts without (or you can pick channel-per-contact preference).
  </Step>

  <Step title="Define the audience">
    Filters available:

    * **Status** — pick one or more (e.g., `Customer`, `Cancelled`, `Lead`)
    * **Last interaction** — older than X days/weeks/months
    * **Tags** — has tag(s) / doesn't have tag(s)
    * **Source** — came in via specific channels
    * **Has phone / email** — required for SMS / email respectively

    The audience size shows live as you adjust filters. Tweak until you have a focused list.

    [More on audiences →](/reactivation/audiences)
  </Step>

  <Step title="Write the message">
    Short. Personal. With a clear next step.

    Templates available — start with one and customize:

    * **6-month check-in**: "Hey {{first_name}}, it's {{business_name}}. It's been a while — anything we can help with around the house? Just reply if you have a project in mind."
    * **Off-season promo**: "Hi {{first_name}}, we're running a winter prep special this month. Reply YES if you'd like to hear more."
    * **Quote follow-up**: "Hi {{first_name}}, this is {{business_name}} — circling back on the quote we sent. Still interested? Reply or text us a question."

    Use `{{first_name}}` and `{{business_name}}` for personalization. Other tokens available — see template variables in the editor.

    For SMS, keep it under \~140 characters (after the auto-appended STOP footer it'll fit in one segment).
  </Step>

  <Step title="Preview">
    Before activating, the preview pane shows:

    * Exactly what one recipient will see (rendered with their name substituted)
    * The total audience size
    * A breakdown of who'll be excluded (already-opted-out, already in another campaign)

    Confirm the count and message look right.
  </Step>

  <Step title="Schedule">
    * **Send now** — fires within minutes
    * **Schedule for later** — pick a date + time

    Reactivation sends always respect quiet hours by default — even if you schedule for 11pm, individual sends defer until \~9am in each recipient's local time.
  </Step>

  <Step title="Activate">
    Click **Activate**. The campaign moves to **Sending** status; sends start firing in batches.

    You'll get an email notification when the campaign completes (typically within an hour for audiences under 1,000).
  </Step>
</Steps>

## Pause / cancel a running campaign

From the campaign detail page, click **Pause** to stop further sends. Already-sent messages can't be unsent (Twilio doesn't support recall), but pending sends are halted.

## Templates and saving for later

Save a draft instead of activating — useful when you want to set up a campaign now and send next week. Drafts live in **Reactivation → Campaigns** with a Draft badge.

## Editing after send

Once a campaign is sent or sending, you can't edit the message (the customers got what they got). You CAN see the results, see who replied, drill into individual conversations.

## Examples that work

A few real examples we've seen drive results:

* **Service-based reminder**: "Hi {{first_name}}, it's {{business_name}}. We did your annual maintenance last May — want to schedule this year's? Reply YES and I'll send some times."
* **Project-based follow-up**: "Hey {{first_name}}, we did your basement reno last fall. Anything else on the list this year? We've got availability in Q3."
* **Off-season promo**: "{{business_name}} here. February is our slow month — we're running a 15% off promo on standard installs all month. Reply if you want to hear more."

Examples that don't work as well:

* **Generic blast**: "Hi {{first_name}}, just checking in! Hope you're well!" (no value, no ask)
* **Pushy offer**: "Last chance — book before Friday or miss this deal forever!" (feels desperate)
* **Long-winded**: anything over 2 short sentences for SMS

## Next

<CardGroup cols={2}>
  <Card title="Audiences in detail" icon="users" href="/reactivation/audiences">
    Every filter explained.
  </Card>

  <Card title="Handling replies" icon="reply" href="/reactivation/handling-replies">
    What happens when someone responds.
  </Card>
</CardGroup>
