Kadenzo

Free tool · runs in your browser

Content Calendar Template

Pick your channels, posting days, and content pillars — get a dated calendar where every slot already has an idea, a hook starter, and a format, plus the workflow columns your team runs on. Download as CSV or paste straight into Google Sheets.

Pick a start date to generate the calendar.

The columns that do the work

Most calendar templates fail by being either a bare date grid or a twenty-column monster nobody maintains past week two. The columns here are the ones that change behavior:

  • Idea and hook, pre-filled.Every slot starts with a prompt from our library — an idea keyed to the slot’s pillar and a hook starter to open it — because a blank cell on a busy Tuesday stays blank. They’re deliberately written as starting points: replace the blanks with your specifics and the slot is half-drafted.
  • Status, as a fixed pipeline.Idea → Drafted → Approved → Scheduled → Posted. The value isn’t the labels; it’s that a glance at the column answers “what needs attention before Thursday?” without a meeting.
  • Owner.A calendar without owners is a wishlist. One name per row — even on a team of two — is the difference between “we’re posting Wednesday” and someone actually posting Wednesday.
  • Tracked link.The link column exists so tagging happens at planning time, not in a panic at publish time — build the campaign’s links once in the UTM builder and paste them into the rows while the thinking is fresh.
  • Pillar.The mix-honesty column. When every slot declares its theme up front, you can’t end the month discovering you published nine promos and one useful post.
  • Deliberately absent: performance columns. Reach and engagement belong in your reporting, reviewed against your own baseline — a calendar that doubles as a scoreboard stops being updated the first bad week.

Cadence before content

The generator asks for days-per-channel before it asks for a single idea, and that ordering is the method: decide the rhythm you can sustain for twelve weeks, then fill the slots. A cadence chosen in an ambitious mood collapses by week three, and the collapse costs more than the lower cadence would have — feeds reward consistency over bursts. If in doubt, generate the calendar with one fewer posting day than feels right, and keep the next two weeks detailed while the weeks beyond stay as dated slots with pillars only.

Using it in Sheets, Excel, or Notion

  • Google Sheets:“Copy for Google Sheets” puts the table on your clipboard tab-separated — click cell A1, paste, done. Freeze the header row, then add a dropdown on Status (Data → Data validation) so the pipeline stays consistent.
  • Excel or Numbers: download the CSV and open it directly. Save as a real workbook before adding formatting.
  • Notion: import the CSV (Import → CSV) and it becomes a database — Date works with calendar views, and Status converts cleanly to a select property for board views.
  • Whatever you choose:filtered views per owner and per status (“everything Drafted”) are what turn the sheet from a document into a workflow.

Frequently asked questions

What columns should a content calendar include?

Seven do the real work: the date, the channel, the format, an idea, a status that moves through a fixed pipeline (Idea → Drafted → Approved → Scheduled → Posted), an owner, and the tracked link the post will carry. Pillar and hook columns earn their place on bigger teams. What doesn't belong: performance columns — likes and reach live in your reporting, not your planning doc, or the calendar quietly becomes a scoreboard nobody updates.

Where do the pre-filled ideas and hooks come from?

From an original prompt library written for this tool, keyed to each slot's pillar — education slots draw from teaching-shaped prompts (myth-busts, process walkthroughs, teardown posts), community slots from conversation-shaped ones, and so on. Custom pillars get universal prompts that weave the pillar's name in. They're starters, not finished copy: each contains a blank to replace with your specifics, which is the difference between a prompt that helps and a calendar full of generic posts.

How far ahead should I plan a content calendar?

Two horizons at once. Keep the next two weeks fully detailed — titles, hooks, assets, owners — and the four to six weeks beyond as dated slots with pillars only. Detail planned too far ahead goes stale and gets reworked anyway; slots without detail keep the cadence visible without the waste. Agencies usually align the detailed window to the client's monthly approval meeting.

Is a content calendar different from a scheduling tool?

Yes, and teams that merge them usually regret it. The calendar is the planning surface — where ideas, owners, approvals, and the channel mix live, including content that never gets scheduled anywhere (a newsletter, a blog post). The scheduler is the execution surface for whatever survived planning. The calendar is the source of truth; a scheduler's queue is its output.

How do content pillars actually work in a calendar?

A pillar is a recurring theme you've decided deserves a fixed share of your output — education, product, community, behind-the-scenes. The calendar is where the share is enforced: assign a pillar to every slot (this generator rotates them for you as a starting point) and the mix is decided before the week gets busy. Without pillar assignments, every busy week drifts toward whatever's easiest to make — usually promotion.

Should every channel share one calendar or have its own?

One calendar, one Channel column, filtered views per channel. The whole point of a calendar is seeing the week as your audience experiences it — and as your repurposing pipeline flows: the LinkedIn post that becomes a thread that becomes a Reel should be visible as one storyline, which separate per-channel files make impossible. Separate tabs are where repurposing goes to die.

How do I run client approval from this template?

Turn on the Approval column, then work the statuses: everything Drafted gets a filtered view the client can scan in one sitting, approvals flip the status to Approved, and anything else gets a comment in the row. One approval pass per cycle on a fixed weekday beats drip-feeding posts for sign-off — clients approve batches faster than they approve one-offs, and your scheduler only ever receives Approved rows.