This event is triggered when a paused campaign is resumed and continues processing leads.
When This Event Fires
- Campaign is resumed via the Resume Campaign API
- Campaign is manually resumed through the dashboard
- Campaign transitions from
PAUSED to STARTED status
Payload
{
"eventId": "evt_1708456789123_abc123def",
"eventType": "campaign.resumed",
"timestamp": "2024-02-24T10:30:00.000Z",
"workspaceId": "ws_abc123xyz",
"data": {
"campaignId": "camp_xyz789",
"campaignName": "Q1 Tech Founders Outreach",
"resumedAt": "2024-02-24T10:30:00.000Z",
"resumedBy": "api"
}
}
Payload Fields
| Field | Type | Description |
|---|
eventId | string | Unique event identifier for idempotency |
eventType | string | Always campaign.resumed |
timestamp | string | ISO 8601 timestamp when the event occurred |
workspaceId | string | Your workspace ID |
data.campaignId | string | Unique campaign identifier |
data.campaignName | string | Human-readable campaign name |
data.resumedAt | string | ISO 8601 timestamp when the campaign was resumed |
data.resumedBy | string | How the campaign was resumed: api or user |
Use Cases
Monitoring
Track when campaigns resume operation
Notifications
Alert team when campaigns are back online
Analytics
Track campaign uptime and activity periods
Synchronization
Sync campaign status with external systems
Example Handler
app.post('/webhooks/sendpilot', async (req, res) => {
const event = req.body;
if (event.eventType === 'campaign.resumed') {
const { campaignId, campaignName, resumedAt, resumedBy } = event.data;
// Log the resume event
await analytics.track('campaign_resumed', {
campaignId,
campaignName,
resumedBy
});
// Notify team
await slack.postMessage({
channel: '#campaigns',
text: `▶️ Campaign resumed!\n` +
`Name: ${campaignName}\n` +
`Resumed by: ${resumedBy}\n` +
`Time: ${resumedAt}`
});
// Update external tracking systems
await externalCRM.updateCampaignStatus(campaignId, 'active');
console.log(`Campaign ${campaignName} resumed by ${resumedBy}`);
}
res.status(200).send('OK');
});
When a campaign is resumed, it continues processing leads from where it left off. The sequence position for each lead is preserved.