Skip to main content

Is there any way to know when a campaign is scheduled in an account? We have integrations with all of our clients Klaviyo accounts and it would be really nice to know when one of them is about to send a campaign.

It doesn’t look like there is a webhook topic for it, would that be possible to add?

@dkjonzy Do you require the exact scheduled time for the campaign, or is a one-hour flexibility acceptable?

If so you can set up a hourly cron job to execute this API call:

 https://developers.klaviyo.com/en/reference/get_campaigns

and from the returned results you can inspect the following status values:

Adding Recipients Cancelled Cancelled: Account Disabled Cancelled: Internal Error Cancelled: No Recipients Cancelled: Smart Sending Draft Preparing to schedule Preparing to send Queued without Recipients Scheduled Sending Sending Segments Sent Unknown Variations Sent


That’s our last resort, however, it isn’t really helpful unless we can guarantee that we know BEFORE the campaign is sent so we can prep things on our end


@dkjonzy - There isn’t a webhook or push/subscribe event that I know of.  It seems like polling the end point that ​@whereisjad described is your best bet for now, maybe tighten down the polling frequency (every minute?) and look for campaigns with the status values of “Preparing to schedule,” “Scheduled,” or ‘Preparing to send” depending on how close you want to know when it’s about to send.