Skip to main content
{
  "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’s status 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
Campaign
required
The campaign object.