Campaigns & Recipients
Where devices and published links are “always-on” surfaces, a campaign is a time-boxed, metered outreach to a known list of people — each getting their own personalized link.
What a campaign is
Section titled “What a campaign is”A campaign owns:
- A list of recipients (imported/managed in the campaign manager).
- One target device — the rendering surface every recipient’s chat uses. Presentation, custom template and access rules are inherited from that device.
- Its own budget, in one of two modes:
| Mode | Analogy | How it works |
|---|---|---|
| Metered | Taxi meter | You authorize interactions via top-offs and pay for what’s used. |
| Committed | Buffet | A fixed total agreed up front. |
- An optional schedule (start date / end date).
- An optional reference field for your own records (e.g. a PO number).
Lifecycle
Section titled “Lifecycle”A campaign’s state is derived automatically from the commit marker and schedule:
draft → upcoming → active → completed| State | Chat links | Editable? | What triggers it |
|---|---|---|---|
| Draft | Off | Yes | Not yet committed |
| Upcoming | Off | Yes | Committed, but before start date |
| Active | Live | No | Inside the schedule window |
| Completed | Off | No | Past end date, or manually halted |
- Committing a campaign moves it out of draft — that is the billable moment.
- You can top off a metered budget at any time.
- You can halt an active campaign early; it moves straight to completed.
The links a campaign produces
Section titled “The links a campaign produces”Once a campaign is active, each recipient gets a personalized link:
/i/<token>- The token is an unguessable per-recipient secret — the link is the credential, so treat recipient links like passwords.
- Each link renders the campaign’s target device, but carries its own
prompt injection (personalized instructions, with
{email}/{label}placeholders resolved per person) and its own interaction limits. - Links only work while the campaign is active; before commit or after completion/halt they return an error.
- Every interaction is metered against the campaign budget so you can see budget-vs-actual at any time.
Also see
Section titled “Also see”- Campaigns & Recipients API — managing campaigns and recipients programmatically.