A campaign is where content meets delivery: one sequence, one sending
setup, plus the rules about when and how fast to send.
Creating a campaign
Send window
Campaigns can be restricted to business hours in the recipient-relevant
timezone:
Tuesday–Thursday, 08:00–11:00 local is the standard advice and it holds up.
Avoid sending on the hour exactly — ManyPI already staggers sends inside the
window for you.
Enrolling leads
Enrollment is what actually queues real email.
Up to 1,000 leads per call. ManyPI skips, rather than fails on:
- leads with no email address,
- leads already enrolled in this campaign,
- suppressed or unsubscribed addresses,
- addresses known to be undeliverable.
If the brand has validate on enroll turned on (the default), unchecked
addresses are validated first and undeliverable ones are dropped before a single
email goes out.
Enrollment is not reversible in the sense that matters: an email that has gone
out cannot be recalled. Pausing a campaign stops future sends only. Test
with a handful of leads before you enroll a list of 800.
Requires a paid plan — 403 with code: "outreach_locked" otherwise.
One-off sends
For a single email outside any sequence:
Merge variables are rendered against the lead, the inbox’s daily/warmup cap is
respected, and the lead is marked contacted.
Pausing, resuming, archiving
Analytics
GET /api/outreach/campaigns/{id}
returns the full picture:
- headline stats — enrolled, active, completed, sent, opened, replied
- a per-step breakdown, which is where you see the follow-up doing the work
- every enrolled lead with its current step and status
Workspace-wide activity — 14 days of sends, opens, replies, bounces,
unsubscribes and today’s sent-versus-cap — is at
GET /api/outreach/stats.
Read the per-step breakdown before you rewrite step 1. A campaign with a
healthy step-1 open rate and no replies has an offer problem, not a subject
line problem.