Skip to main content
Solved

Campaign Send Notifications

  • April 18, 2025
  • 3 replies
  • 61 views

Forum|alt.badge.img+4

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?

Best answer by retention

@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.  

3 replies

whereisjad
Expert Problem Solver IV
Forum|alt.badge.img+16
  • Expert Problem Solver IV
  • April 18, 2025

@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


Forum|alt.badge.img+4
  • Author
  • Problem Solver I
  • April 18, 2025

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


retention
Partner - Platinum
Forum|alt.badge.img+62
  • 2025 Champion
  • Answer
  • April 21, 2025

@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.