Klaviyo campaign calendar and draft studio for marketing teams

Plan every email and SMS send on one calendar, see how past campaigns performed inline, and let an assistant write and file the next draft in Klaviyo.

App
KlaviyoSlack BotMarketingContent GenerationAI Reports
PromptCreate

Build me a Klaviyo campaign calendar and draft studio that my marketing team opens every week instead of the planning spreadsheet we keep alongside Klaviyo. It should be the single surface where we see what already went out, plan what is coming, and kick off the writing.

The main view is a calendar with a month tab and a week tab. Pull every email and SMS campaign from Klaviyo with Get Campaigns (run it once per channel, since the operation filters by channel) and place each one on its send date. Colour code the cards by campaign status so draft, scheduled, sending, sent and cancelled are all visually distinct, and show the channel on the card too so an SMS send never gets mistaken for an email. Clicking a campaign opens a side panel with its name, audience, status and, for anything already sent, its numbers.

Past sends show open rate, click rate and attributed revenue inline on the calendar card, sourced from Query Campaign Values. That reporting operation is heavily rate limited on Klaviyo's side, so request the whole visible date range in as few calls as possible rather than one call per campaign, and cache the results in the app so scrolling between months does not re-query. If numbers are still loading or a campaign is too recent to have them, show the card without metrics rather than blocking the calendar.

Every date that has no campaign on it is a planning slot the team can fill in. Clicking an empty day opens a form where they enter a theme, an offer, a target audience in their own words, the intended channel and any notes. The app stores these planned slots itself, in its own storage, because they do not exist in Klaviyo yet. Planned slots render on the calendar in a distinct style from real Klaviyo campaigns so nobody confuses a plan with a scheduled send. Team members can edit a slot, move it to another date, or delete it.

Each planned slot has a Draft this campaign button that kicks off a background agent. The agent should: review how similar past campaigns performed using Get Campaigns and Query Campaign Values, focusing on sends with a comparable theme, offer or audience; read the copy used in those campaigns through Get Messages for Campaign so the new draft matches the voice that worked; choose an audience by reviewing Get Lists and Get Segments against the target audience the planner described; write several subject line options plus preview text and full body copy; then create the campaign in Klaviyo as a draft with Create Campaign, set the message content with Update Campaign Message, and attach a template with Assign Template to Campaign Message.

This is the hard rule and it must be enforced in the agent's instructions: the agent never schedules and never sends. It creates campaigns with no send time attached and leaves them sitting in draft for a human to review, adjust and send from Klaviyo. It must not call any send, schedule or activation operation under any circumstances, even if a user asks it to in the slot notes.

When the agent finishes, it writes its output back into the calendar slot so the app can show it: the finished brief explaining which past campaigns it learned from and why it picked that audience, the subject line options, the body copy, and a link straight to the draft campaign in Klaviyo. The slot changes state from planned to drafted, and the calendar card reflects that. If the agent fails partway, the slot should show what went wrong instead of silently staying in planned. While the agent is running, the slot shows a running state so two people do not kick it off twice.

After the draft is filed, the agent posts a short heads up to the team's Slack channel using the Slack Bot Send a Message operation: which slot was drafted, the date it is planned for, the chosen audience, the leading subject line, and the link to the Klaviyo draft, with a clear note that it is a draft awaiting human review. Let the user configure the channel in an app settings view, and let them turn the notification off.

The calendar also warns about two kinds of trouble. First, collisions: when two campaigns or planned slots land on the same day against overlapping segments or lists, flag both cards, since that means some subscribers get hit twice in one morning. Let the user tell the app which of their audiences overlap in a settings view, and also treat the obvious case of the same list or segment appearing twice as an automatic collision. Second, frequency: when a week contains more sends than the team's send frequency cap, mark that week in both the month and week views. The cap is a number the team sets in settings. Both warnings are advisory, shown as banners and card badges, and never block anyone from planning anything.

Round it out with a settings view holding the send frequency cap, the overlapping audience pairs, the Slack channel, and the tone and length guidance the drafting agent should follow when it writes. Keep the calendar fast and readable at a glance, since the whole point is that a team can run their weekly planning meeting off this one screen.

What does this prompt do?

  • A month and week calendar of every email and SMS campaign in your Klaviyo account, colour coded by status so you can see at a glance what is sent, scheduled and still in draft.
  • Past sends show their open rate, click rate and revenue right on the calendar, so the weekly review happens in the same place as the planning.
  • Empty dates are planning slots your team fills in with a theme, an offer and a target audience. The app stores all of it, so the planning spreadsheet and the separate briefing doc can go away.
  • A Draft this campaign button hands a slot to a background assistant that studies how similar campaigns performed, reads the copy you used last time, picks the audience, writes subject line options and body copy, and leaves a finished draft waiting in Klaviyo.
  • Warnings when two campaigns land on the same day against overlapping audiences, and when a week goes over the number of sends your team agreed on.
  • Nothing is ever scheduled or sent automatically. Every campaign the assistant builds waits as a draft for a person to review.

What do I need to use this?

  • A Klaviyo account with campaigns you send to lists or segments, and permission to create campaigns
  • A Slack workspace and the channel where your marketing team wants a heads up when a draft is ready
  • Your team's rule of thumb for how many campaigns a week is too many, so the calendar can warn you when you go over
  • Roughly which of your lists and segments overlap, so collision warnings match how you actually think about audiences

How can I customize it?

  • Set the weekly send frequency cap and mark which audiences overlap, so collision warnings reflect your own rules
  • Change the tone, length and offer framing the assistant uses when it writes subject lines and body copy
  • Pick which Slack channel gets the heads up when a draft is ready, or turn the notification off
  • Choose how far back the calendar looks when it compares a new plan against past performance

FAQs

Can this send or schedule campaigns for me?
No, and that is deliberate. Everything the assistant builds lands in Klaviyo as a draft with no send time attached. A person on your team still opens it, reviews the copy and audience, and presses send. The app has no way to schedule or send on its own.
Do we still need our planning spreadsheet?
No. The theme, offer, target audience and notes for each planned slot are stored inside the app, alongside the real campaigns pulled from Klaviyo. That is the whole point: one surface instead of a calendar in Klaviyo, a planning sheet somewhere else and a briefing doc in a third place.
Does it cover SMS as well as email?
Yes. Both email and SMS campaigns appear on the same calendar, colour coded so you can see the mix for any given week and spot when a segment is getting hit on both channels at once.
How does the assistant decide what to write?
Before writing anything it looks at how similar past campaigns performed, reads the copy you actually used in those sends, and reviews your lists and segments to choose an audience. The brief it writes back into the calendar slot explains the reasoning, so you can judge the draft rather than take it on faith.
What counts as a collision?
Two things. Two campaigns on the same day going to audiences that overlap, which usually means someone gets two emails in a morning. And a week that has more sends in it than the cap your team set. Both show up as warnings on the calendar rather than blocking anything.
Who on the team can use it?
Anyone you share the app with. It is built for the weekly marketing planning ritual, so the people who would normally sit around the planning spreadsheet are the people who open it.

Related templates

Turn any influencer campaign into a client-ready report

Open any campaign, pick this month versus last, and have a written client report drafted into Google Docs and posted to their Slack channel.

Later
Google Docs
Slack Bot
App
Approve every Jotform enquiry before it reaches HubSpot

Work every form enquiry from one queue that already tells you who is new, who is a duplicate and who has a deal open, then push only what you approve.

Jotform
HubSpot
Slack Bot
App
Run cold email domain rotation on one drag-and-drop board

See every sending domain as Active, Reserve or Retiring, watch your bench against the 20 to 25 percent target, and refill it before a domain burns.

InfraForge
Smartlead
Slack Bot
+1
App
Klaviyo list health and sunset workbench for deliverability

Clean your email list from one screen: see every audience, review who is in it, and suppress unengaged people in batches a human approves first.

Klaviyo
Google Sheets
App
Launch console for cold email domains and mailboxes

Pick a client, get ranked domain suggestions with live prices, and buy domains and mailboxes in one confirmed step instead of juggling tabs and a spreadsheet.

InfraForge
Smartlead
Slack Bot
+1
App
incident.io process hygiene board for weekly reviews

Grade every recent incident against your own process checklist, fix the gaps in place, and walk into the weekly review with an agenda already written.

incident.io
Slack Bot
App

Retire the campaign planning spreadsheet.

Plan, brief and draft every Klaviyo send from one calendar your marketing team actually opens each week.