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

- Workflow type: app
- Services: Klaviyo, Slack Bot
- Categories: Marketing
- Published: 2026-08-31

## What it does

- 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 you'll need

- 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

## Prompt

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.

## How to customize

- 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

## FAQ

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

Use this prompt in General Input: https://www.generalinput.com/prompts/klaviyo-campaign-calendar-and-draft-studio-for-marketing-teams