A content calendar example you can copy today is one table with seven columns: Week, Date, Channel, Format, Topic, Owner, and Status.
One condition applies. Each line needs one owner name and one publish date.
One limit applies too. A calendar controls timing, not idea quality. A tidy schedule does not rescue a weak topic.
I wrote this for a marketer who does not read code. I put the calendar first, then the reasoning. All numbers below are sample data or Rama Digital recommendations, not industry figures.
At a glance: the calendar shape I use
This table holds the calendar shape I suggest for a small team. It is a Rama Digital recommendation, not an industry standard.
| Item | Rama Digital recommendation |
|---|---|
| Column count | 7 for a team, 3 for one person |
| Cycle length | 4 weeks |
| Publish slots each week | 4 to 6 |
| Weekly meeting | 1 time, 30 minutes |
| Brief to publish gap | 5 working days |
| Publish approver | 1 person |
| Spare slot | 1 each week |
| Status values | 5: Idea, Brief, Production, Review, Published |
A filled content calendar example for 4 weeks
The table below uses one invented business: Kanaya Bakery, a team of 3. Names, dates, and topics are sample data. Copy the shape, replace the content.
Look at the Status column. Week 1 is published. Week 4 still holds ideas. That gap is not neglect. That gap is the healthy shape.
| Week | Date | Channel | Format | Topic | Owner | Status |
|---|---|---|---|---|---|---|
| 1 | Mon, 2 Mar | Reels | Dough at 4 in the morning | Dina | Published | |
| 1 | Wed, 4 Mar | Blog | Article | Keep bread fresh for 3 days | Rama | Published |
| 1 | Thu, 5 Mar | Threads | Text | Ask about favourite filling | Dina | Published |
| 1 | Sat, 7 Mar | Broadcast | Weekend offer | Yuni | Published | |
| 2 | Mon, 9 Mar | Carousel | 4 fillings that sell most | Dina | Published | |
| 2 | Wed, 11 Mar | Blog | Article | Plain loaf against sourdough | Rama | Review |
| 2 | Fri, 13 Mar | Reels | First buyer tells her story | Dina | Production | |
| 2 | Sat, 14 Mar | Broadcast | Open tray cake pre-orders | Yuni | Brief | |
| 3 | Mon, 16 Mar | Threads | Text | One failed bake, told plainly | Rama | Brief |
| 3 | Wed, 18 Mar | Photo | New coconut bread | Dina | Brief | |
| 3 | Thu, 19 Mar | Blog | Article | How to order a birthday cake | Rama | Brief |
| 3 | Sat, 21 Mar | Broadcast | Pre-order deadline reminder | Yuni | Brief | |
| 4 | Mon, 23 Mar | Reels | The kitchen before dawn | Dina | Idea | |
| 4 | Wed, 25 Mar | Blog | Article | New menu after 1 month | Rama | Idea |
| 4 | Fri, 27 Mar | Threads | Text | Answer 5 buyer questions | Dina | Idea |
| 4 | Sat, 28 Mar | Spare | Open | Empty slot for sudden news | Yuni | Idea |

The five columns that change the outcome
Seven columns look like a lot. Only five change the outcome. The other two help you scan.
Date, not week
Write a real date. "Next week" is not a date. A real date lets a person refuse new work with a clear reason.
Channel, one for each line
One line serves one channel. One topic may appear on three channels, but write three lines. The reason is plain: the production work differs and the timing differs.
Topic, not a finished headline
A topic is a promise of content in one short sentence. The finished headline comes later. If you force headlines while you fill the calendar, filling stops at line five.
Owner, one human name
Write a person's name. Do not write a team name. An Owner column that reads "Marketing" means nobody owns it.
Status, five values and no more
I use five values: Idea, Brief, Production, Review, Published. Status is the position of a line on the production track, like a carriage number on one rail. A sixth value makes people stop using the column.
The two remaining columns, Week and Format, are scanning aids. Week shows you the load. Format lets the production person prepare tools. If you add a video channel, check the TikTok feed sizes before you write anything in Format.
The weekly rhythm: one loop, five steps
A calendar without rhythm becomes a wish list. The rhythm I use turns once each week and holds five fixed steps.

Brief happens on Monday. One person reads the week 3 lines and writes the content promise. Production runs Tuesday to Thursday. Review happens Friday morning. Publishing follows the date in the calendar. Record results happens Friday afternoon, one metric for each channel.
This loop touches three weeks at once. You write briefs for week 3, produce week 2, and publish week 1. That is why the Status column in the sample table looks stepped.
The approval rule: who says publish
Teams skip this part most often, and it breaks calendars most often.
One person holds publish approval. One person only. In the sample table, Yuni holds it. She may refuse, delay, or replace a topic. Other people may comment, but they do not move a line to Published.
I have seen a team with two approvers. Quality did not rise. Instead, a line hung in Review for nine days, because each approver waited for the other. That is my observation, not a measurement.
Write the rule on the top line of the calendar, not in somebody's head. One sentence: "Yuni approves publishing." A new team member reads it without asking.
Channel cadence and the one metric to watch
The next table holds Rama Digital recommendations for a small team. It is not industry data and not a third-party research figure.
| Channel | Cadence I suggest | One metric to watch |
|---|---|---|
| WhatsApp broadcast | 1 time each week, limit 2 | People who leave the list |
| 3 to 4 times each week | Saves for each post | |
| Threads | 3 to 5 times each week | Replies for each post |
| Blog | 1 time each week | Clicks from the search results page |
One metric for each channel, not five. Five metrics turn a 30-minute meeting into a 70-minute meeting and change no decision.
WhatsApp broadcast carries a harder limit than the other channels, because the reader pays attention out of a private inbox. The number of people who leave the list is the bill you get for sending too often.
Threads gives you a short text space, so a topic must finish in one breath. I wrote the limits in the Threads character limit for 2026. For Instagram, prepare profile assets first; Instagram profile photo sizes holds those numbers.
A minimal calendar for a one-person team
Seven columns weigh too much when you work alone. The Owner column earns nothing, because the owner is you. Format folds into Topic.
| Date | Channel and topic | Status |
|---|---|---|
| Mon, 2 Mar | Instagram Reels: dough at 4 in the morning | Published |
| Thu, 5 Mar | Threads: ask about favourite filling | Production |
| Mon, 9 Mar | Instagram Carousel: 4 fillings that sell most | Idea |
Three columns and three statuses: Idea, Production, Published. Drop Brief and Review, because you cannot send a brief to yourself and you cannot act as a neutral reviewer.
For one person, I suggest 2 slots each week, not 5. Two finished lines help more than five lines that keep changing status.
How to keep the calendar alive when the team is busy
A calendar does not die because people forget. It dies because the load stays high while other work rises.
My first rule: cut the slot count, do not delete the calendar. Go from 5 slots to 2. Raise it again next month. A calendar with 2 lines is alive. A calendar with 5 empty lines is already dead.
Second rule: keep 1 spare slot each week. Look at the last line of the sample table. That slot absorbs sudden news without pushing four other lines. Without it, one small news item wipes out a week of planning.
Third rule: move a stalled line, do not leave it. Each Friday, a line that has not moved for 2 loops drops to the bottom of the calendar with one sentence of reason. That line may die. A dead line that still looks active may not stay.
Simulation: 4 weeks at Kanaya Bakery
This part is a simulation with sample data. The shop, the people, and the numbers are invented. I use it to show the shape of a decision, not to promise a result.
Starting condition
A team of 3. Instagram at 2,100 followers (sample data). No calendar. Posting happens when somebody remembers, roughly 6 times each month.
Input
One spreadsheet with 7 columns. A 4-week cycle. Five slots each week, one of them spare. Yuni holds publish approval.
Steps
- Yuni fills 4 weeks of topics in one sitting, 40 minutes.
- Dina takes all Instagram and Threads lines.
- Rama takes all blog lines.
- The Monday meeting runs 30 minutes, moves statuses, and skips new ideas.
- On Friday afternoon, Yuni records 1 metric for each channel and marks stalled lines.
Observable output
These numbers are sample data, not client results. Week 1: 4 of 5 lines published. Week 2: 5 of 5 published. Week 3: 4 of 5 published, 1 blog line moved to week 4. Week 4: 3 of 5 published, because 2 people took leave.
Decision
The blog line moved twice, so the load is too heavy for 1 time each week. Simulated decision: drop the blog to 1 time in 2 weeks and add 1 Threads slot. The total stays at 5 slots.
Look at the shape of that decision. Calendar data tells you which channel you cannot carry. That is what the Status column is for.
Checklist before you fill the first line
- Write the name of 1 publish approver on the top line of the calendar.
- Fill the Owner column with a person's name on each line.
- Lock 1 weekly meeting of 30 minutes and do not move it.
- Keep 1 spare slot each week.
- Fix 5 Status values and add no new value.
- Pick 1 metric for each channel, not 5.
- Review the calendar each Friday and move stalled lines.
- Fill 4 weeks ahead, not 12 weeks.
Questions and answers
Do I need special software for a content calendar? No. One spreadsheet with 7 columns runs each rule in this article. Move to a dedicated tool only when 2 people start overwriting the same line.
How far ahead should I fill the calendar? I fill 4 weeks. Week 1 is locked, week 2 is in production, week 3 holds briefs, and week 4 holds ideas. This shape stops panic without wasted work.
Who may set a line to Published? One person. I name the business owner or the marketing lead. Two approvers make lines stall halfway, and nobody feels responsible for the stall.
What do I do when the team gets busy? Cut the slot count. Do not delete the calendar. Two posts that go out beat six posts that sit written and unpublished.
Can one calendar hold all channels? Yes, and I recommend it. One table with a Channel column scans faster than four separate tables that collide on dates.
When may I add a new column? When 3 people ask you the same question across 2 loops. Before that, a new column adds filling work and changes no decision.
Sources
- The Threads character limit for 2026 supports the topic length decision for Threads lines.
- TikTok feed sizes supports the Format column when you add a video channel.
- Instagram profile photo sizes supports the asset preparation step in Production.
- Rama Digital recommendations: column count, cycle length, slot count, and channel cadence. These are our observations from content ops work, not industry data.
- Kanaya Bakery, the person names, the dates, and all numbers in the tables and the simulation are sample data.
Copy the calendar shape above and run one loop. If you want us to run that weekly loop with your team, see our content ops service.




