{
"id": "ck9v2m5nj0xp4wq7ybftrae8",
"seq": 312,
"teamId": "hzcai5t59nn9vsck3rbuepyg",
"type": "campaign.completed",
"timestamp": "2025-01-20T08:00:00.000Z",
"version": "1.0",
"data": {
"campaign": {
"id": "n7kxqm5d9iu2sgdf6jbw4h36",
"name": "Q1 Product Launch Outreach",
"description": "Reach out to product managers about the new API release",
"status": "completed",
"dryRun": false,
"targetsCount": 250,
"contactedCount": 250,
"repliesCount": 47,
"completionRate": 1.0,
"replyRate": 0.188,
"createdAt": "2025-01-10T09:00:00.000Z",
"updatedAt": "2025-01-20T08:00:00.000Z",
"pausedAt": null,
"completedAt": "2025-01-20T08:00:00.000Z",
"lastStartedAt": "2025-01-12T08:00:00.000Z"
}
}
}
When it fires
A campaign has finished contacting all of its targets — all scheduled messages (including follow-ups) have been sent. The campaign’sstatus transitions to "completed" and completedAt is set.
Use this event to trigger post-campaign workflows: generate performance reports, sync final metrics to your CRM, or notify your team that outreach is complete.
Payload
Campaign
required
The campaign object.
Show properties
Show properties
string
The Inbox campaign ID.
string
The campaign name.
string | null
The campaign description.
string
The campaign status. One of
draft, active, paused, or completed.boolean
Whether the campaign is in dry run mode (no messages actually sent).
number
Total number of targets in the campaign.
number
Number of targets that have been contacted.
number
Number of targets that have replied.
number
Percentage of targets contacted (0–1).
number
Percentage of contacted targets that replied (0–1).
string
ISO 8601 timestamp of when the campaign was created.
string | null
ISO 8601 timestamp of the last update, or
null.string | null
ISO 8601 timestamp of when the campaign was paused, or
null.string | null
ISO 8601 timestamp of when the campaign completed, or
null.string | null
ISO 8601 timestamp of when the campaign was last started, or
null.