# Outbound campaigns

> Reach customers proactively over WhatsApp. Build an audience from your contacts, personalize a template, send, and watch a live delivery-and-reply funnel — with replies handled by AI or a human.

Outbound campaigns let you start the conversation. Instead of waiting for customers to reach you, you send a personalized WhatsApp message to a chosen audience — an order update, a back-in-stock alert, a win-back offer — and Bookbag tracks every step from send to reply.

Crucially, a campaign isn't a dead-end blast: when recipients reply, your agent can answer automatically, or the conversation can be routed to a human. Outbound and your support agent are the same brain.

> **WHERE TO FIND IT:** Open an agent and go to the **Outbound** tab. Campaigns live there alongside the [WhatsApp templates](/docs/outbound/whatsapp-templates) manager.

## Before you start

- **A connected WhatsApp channel** for real delivery. Without one, campaigns run in a built-in simulation so you can design and preview the full funnel before going live. See [WhatsApp deploy](/docs/deploy/whatsapp).
- **An approved template.** Campaigns send a [WhatsApp template](/docs/outbound/whatsapp-templates) — only `approved` templates can be sent.
- **Contacts with phone numbers.** Your audience is drawn from [Contacts](/docs/contacts/overview); recipients without a phone number are marked failed.

## Create a campaign

1. **Name and delivery** — In Outbound, click New campaign. Give it a name and confirm the channel (WhatsApp).
2. **Choose how replies are handled** — Pick a reply mode: AI (your agent answers replies automatically) or Human (replies open a ticket for your team).
3. **Pick a template and map variables** — Select an approved template, then map each {{variable}} to a contact field, a custom attribute, or a static value. A live WhatsApp-style preview shows the rendered message.
4. **Build the audience** — On the Audience tab, search and filter your contacts (including by custom attributes) and select who receives the message.
5. **Send** — Review the summary and send. Recipients are frozen into the campaign at send time so later contact edits don't change who got what.

> **DRAFT NOW, SEND LATER:** Saving without sending keeps the campaign as a **draft**. You can come back and send it once your audience and template are ready.

## Reply modes

Every campaign declares what happens when a recipient writes back. Bookbag attributes an inbound reply to the most recent campaign that messaged that phone number within a **72-hour window**.

| Reply mode | What happens on a reply | Best for |
| --- | --- | --- |
| AI | The agent answers the reply automatically from your knowledge, just like any other channel. | Scale: order updates, FAQs, promotions where most replies are routine questions. |
| Human | The reply opens a ticket in the Help Desk with campaign context attached, for your team to handle. | High-touch outreach: sales follow-ups, retention saves, sensitive conversations. |

> **INFO:** In Human mode, the attributed reply marks the recipient as **replied** and creates a handoff so the conversation surfaces in your [Help Desk](/docs/help-desk/overview).

## Personalization with variables

Template variables like `{{1}}` or `{{name}}` are filled per recipient. For each variable you choose a source:

- **Contact field** — name, email, phone, or external ID.
- **Custom attribute** — any [custom attribute](/docs/contacts/custom-attributes) on the contact, e.g. `order_number` or `loyalty_tier`.
- **Static value** — the same text for every recipient.

Bookbag resolves these into each recipient's message at build time. If a value is missing for a contact, the placeholder is left visible so you can spot the gap before sending.

```text
Hi {{1}}, your order {{2}} has shipped! Track it any time by replying here.
```

## The delivery funnel

After you send, the campaign detail view shows a live funnel that updates as the campaign progresses. Each recipient moves through these stages:

| Stage | Meaning |
| --- | --- |
| Queued | Built and waiting to send. |
| Sent | Handed off to WhatsApp for delivery. |
| Delivered | Reached the recipient's device. |
| Read | Opened by the recipient. |
| Replied | The recipient wrote back (within the 72h window). |
| Failed | Could not be delivered — e.g. no phone number or an undeliverable address. |

> **LIVE COUNTERS:** The campaigns list and detail views poll for updates, so the funnel and per-recipient statuses animate in real time as messages are delivered and read.

## Messaging limits

WhatsApp enforces a daily limit on how many unique customers you can message, based on your account's **messaging tier**. The Outbound view shows your current tier and how much of today's allowance you've used so you can size audiences accordingly.

> **RESPECT THE 24-HOUR WINDOW:** Outside the 24-hour customer-service window, WhatsApp requires an approved template to open a conversation — which is exactly what campaigns send. Free-form messages are only allowed within 24 hours of the customer's last message.

## Simulation vs. real send

|  | No WhatsApp channel connected | WhatsApp channel connected |
| --- | --- | --- |
| Delivery | Simulated — a deterministic funnel progresses over time so you can preview behavior. | Real — messages are sent through the Meta Cloud API. |
| Funnel stages | Advance automatically (delivered → read → replied) on a realistic timeline. | Driven by actual delivery; the sent state is recorded on launch. |
| Use it for | Designing, previewing, and demoing campaigns safely. | Production sends to real customers. |

> **INFO:** Connecting WhatsApp later switches campaigns from simulated to real delivery automatically — no campaign changes needed. See [WhatsApp deploy](/docs/deploy/whatsapp).

## Frequently asked

**Can I edit a campaign after sending?**

No. Recipients are frozen at send time so the funnel stays accurate. Create a new campaign to reach a different or updated audience.

**What happens to recipients with no phone number?**

They are marked Failed with a reason. Clean phone numbers on your contacts before sending to maximize deliverability.

**How are replies linked back to a campaign?**

Bookbag matches an inbound reply by phone number to the most recent campaign that messaged that number within 72 hours, then marks that recipient Replied.

**Can I message the same audience again?**

Yes — create another campaign. Mind your daily messaging-tier limit and avoid over-messaging the same customers.

## What's next

- [WhatsApp templates](/docs/outbound/whatsapp-templates) — Create and manage the templates campaigns send.
- [Connect WhatsApp](/docs/deploy/whatsapp) — Wire up the Cloud API for real delivery.
- [Contacts](/docs/contacts/overview) — Build and segment the audiences you send to.
- [Help Desk](/docs/help-desk/overview) — Where human-mode replies land for your team.
