Skip to content
RRAECHLY
CampaignsWrites data

enroll_contacts

Enroll leads into a campaign, assigning mailboxes round-robin and scheduling the first send.

Say this to your assistant

›Enroll every active lead into Agency Q3, but only send from our two warmed mailboxes.

What it does

Enrollment is where leads meet mailboxes. Each enrolled lead is assigned a send-eligible mailbox round-robin and given a `next_send_at`, which the hourly pipeline then honours inside the campaign send window.

Round-robin distribution across mailboxes is what keeps per-mailbox volume flat instead of concentrating a list on whichever address happens to be first. You can narrow the pool with `mailbox_ids` when you want a specific sender identity on a specific segment.

It is idempotent. Leads already enrolled in that campaign are skipped, so re-running after adding more leads does exactly what you want and nothing else. Omitting `contact_ids` enrolls every active contact, so confirm that first.

Because enrollment only schedules the first send, nothing happens the instant you call it. The lead waits for the next pipeline pass that falls inside the campaign send window, in the campaign timezone. Enrolling at 6pm on a Friday into a weekday 9-to-5 window means the first message goes out Monday morning, which is usually what you wanted anyway.

Parameters

NameTypeNotes
campaign_id *string
contact_idsarray
list_idstringEnroll the members of this list
lead_search_idstringEnroll the contacts this saved search added
tagstringEnroll contacts with this tag, e.g. the batch an import used
wait_for_sendersbooleanEnroll even if no sender is ready yet

* required · Maps to POST /api/campaigns/:id/enroll

What comes back

Enrolled count, with already-enrolled leads skipped.

The thing people get wrong

Only send-eligible mailboxes are assigned. If every mailbox is still warming or missing reply capture, enrollment succeeds and then nothing sends.

Use it with

More campaigns tools

See all 147 tools and the connection string on the MCP server page.

Run enroll_contacts yourself.

Connect the MCP server to Claude, Claude Code or Cursor and the whole toolset shows up in the conversation.