Campaign Enrollment
Choose how recipients enter a campaign, define recipient scope, and control re-entry
Enrollment creates a recipient's individual Journey. Open the campaign's Workflow, select the entry node, and choose Edit campaign setup to set timing, choose one enrollment method, configure re-entry when relevant, and review recent recipients.
Timing and enrollment settings save automatically after you stop editing. Wait for the Saved indicator before closing campaign setup or publishing the campaign. Incomplete required fields remain marked until you finish them.
One campaign, one enrollment method
Choose the method that represents how people should enter this campaign:
- Saved audience for a promotion, newsletter, announcement, or another fixed launch.
- Manual or Campaign API when an operator or integration chooses each recipient.
- When a module record is created for CRM-driven lifecycle entry.
- When an external event is received for events emitted by another application.
- When a new Coherence workspace signs up for the vendor-only product onboarding flow.
The UI does not combine a saved audience with an ongoing rule. Selecting one method automatically saves it and replaces the previous method, which prevents recipients from entering twice through two different paths.
Campaign timing
The start date is a campaign delivery boundary and applies to every enrollment method. Leave it empty to begin as soon as the campaign is published, or select a future date to publish it as Scheduled. Journey emails cannot send before this date.
Timing is locked after delivery begins. Create a new campaign when a materially different launch date is required after sending starts.
Saved audience
Use this method for a campaign that begins with an existing recipient list:
- Select Saved audience as the enrollment method.
- Choose an active audience.
- Set the campaign start date, if needed.
- Wait for the Saved indicators to confirm the enrollment method and timing were stored.
- Build and review the Journey.
- Click Review & publish in the campaign header.
When the published campaign reaches its start date, Coherence resolves the audience once and creates durable campaign enrollments. A dynamic audience therefore becomes a campaign snapshot at launch; later audience changes do not silently change an in-flight campaign.
The selected audience is locked after recipients enroll. Create a new campaign when a materially different audience is required after launch.
Entry methods
Manual or Campaign API
Use manual or API enrollment when another workflow decides exactly who should enter. This is also useful for controlled backfills of existing recipients.
For a single recipient, select Manual or campaign API, enter their email and optional name, and click Enroll. The campaign must be Active.
For an integration, first create a workspace API key under Settings → API Keys. The key is used as a bearer token and must resolve to a user who can manage Campaigns. Keep it on your server; never put it in browser code.
Then send an authenticated request to the campaign-specific endpoint:
curl -X POST "https://app.getcoherence.io/api/v1/module-config/marketing-campaigns/{campaignId}/enrollments" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"recipientEmail": "[email protected]",
"recipientName": "Taylor Example",
"sourceKind": "api",
"sourceId": "crm-contact-123",
"idempotencyKey": "crm-contact-123:end-of-year-deals",
"mergeData": {
"firstName": "Taylor",
"offerCode": "EOY25"
}
}'Use a stable idempotency key so retrying a request does not intentionally add the same entry twice. The campaign's re-entry policy still applies.
When a module record is created
Use this for customer-managed CRM data such as new leads or contacts.
- Select When a module record is created.
- Choose a source module with an email field.
- Select the re-entry policy.
- Wait for the Saved indicator.
- Publish the campaign when the Journey is ready.
Records created through the Coherence UI, API, or an integration use the same trigger. Existing records are not treated as newly created merely because the rule was enabled.
When an external event is received
Use this when an external application pushes a lifecycle event into Coherence.
- Select When an external event is received.
- Enter a stable event name, such as
trial_started. - Select a re-entry policy.
- Wait for the Saved indicator.
- Publish the campaign when the Journey is ready.
Create a workspace API key, keep it in the server that emits the lifecycle event, and send an account-authenticated request to:
POST https://app.getcoherence.io/api/v1/module-config/marketing-campaigns/events
Authorization: Bearer sk_live_...
Content-Type: application/jsonThis endpoint is event-oriented rather than campaign-specific: it enrolls the recipient into every Active campaign in that API key's workspace whose saved external-event method has the exact same eventName.
Example body:
{
"eventName": "trial_started",
"idempotencyKey": "trial:trial_123",
"recipientEmail": "[email protected]",
"recipientName": "Taylor Example",
"sourceId": "trial_123",
"properties": {
"plan": "pro"
}
}Use a stable, unique idempotency key for every real event. Retrying the same request with the same key will not intentionally create a duplicate enrollment.
When a new Coherence workspace signs up
This vendor-only entry method is available only in the configured Coherence workspace. It reads directly from product Account, User, and Role tables rather than creating CRM People records.
Recipient scopes are:
| Scope | Enrolls |
|---|---|
| First signup user | The first user created for the workspace |
| Workspace owner | The current owner |
| Workspace admins | Active users with the admin role |
| Owners and admins | Active owners and admins |
| All active users | Every active user in the workspace |
| Selected roles | Active users in the selected owner, admin, manager, or user roles |
Enable Include users who join later when new matching users should begin the journey from their own workspace join date.
Only accounts and users created after the signup method is saved are included automatically. Use manual or API enrollment when you intentionally need to backfill earlier users.
Re-entry policies
| Policy | Behavior | Typical use |
|---|---|---|
| Once ever | A recipient can enter the campaign only once | Onboarding, learning, or welcome campaigns |
| Again after exit | A recipient may re-enter after the previous enrollment is no longer active | Eligibility-based programs where an exited person may qualify again |
| Again after completion | A recipient may re-enter only after completing the journey | Repeatable training or renewal education |
| Once per unique event | Each unique event may enroll the recipient again when no enrollment is active | Purchases, trials, projects, or other repeatable lifecycle events |
For new-user onboarding or a learning series, Once ever is usually correct. Include users who join later handles future users; it does not require a more permissive re-entry policy.
Recent enrollments
The bottom of Entry & schedule in campaign setup shows recipients who entered the campaign, their enrollment source, status, and timing. Use this list to confirm that the rule is firing before diagnosing sending or provider behavior.
Next: Connect a provider and review Sending and Compliance.