Skip to main content
Everything already scheduled goes out at the minute it says, with nothing on this screen waiting on you. The calendar is where you come to change your mind: move a post to a better time, start one in an empty slot, or check what is actually coming up.
Every time you see here is drawn in your timezone, taken from your saved setting or guessed from your browser.
The format comes from a saved preference and, when there is none, from whether your browser language is en-US. Day view labels its rows through your interface language instead, so those rows can read twelve hour even when the rest of the grid does not.

Four ways to look at it

Two small button groups sit in the toolbar above the grid. One switches between Day, Week and Month. The other flips the whole screen between the calendar and the list. In Day, Week and Month the Today button snaps the range back to now without changing the view. In List that same corner of the toolbar turns into Page 1 of 4 with arrows either side, because the list is not bound to a date range at all. A calendar cell shows three posts and then stops. When there are more, a + Show more (4) line appears at the bottom of the cell, and - Show less folds it back.
Hours that have already passed carry a diagonal stripe and the cards inside them turn grey. No new post starts there, and nothing can be dropped there either.
Day view does not draw an empty twenty-four hour column. It draws only the times that mean something to you: every time you already have a post that day, and every posting time set on your channels. Each of those gets a labelled row.Hover an empty row and the avatars of the channels for that slot light up. Click, and the editor opens on that time.
Monday to Sunday across the top, twenty-four hourly rows down the side. Today’s column carries a small dot next to its date so your eye finds it without reading.
Six full weeks of squares, always starting on a Monday, with the day number in the corner of each one. Six weeks means the edges of the grid carry a few days from the month before and the month after.
No grid, no date range, just posts in order under a date heading, each row showing its time on the right. This is the view for the question “what is actually coming up”, and it is the only view with a state filter.The Day, Week and Month group leaves the toolbar while you are in here, since none of the three means anything to a list. The calendar icon on the other group is how you come back.

Moving a post to a new time

Every post card is draggable and every calendar cell is a drop target, as long as that cell is not in the past. The drop sends PUT /posts/:id/date with the new time and one of two actions.
Most of the time she just moves it. The card lands on its new date and there is nothing else to press.
If the post already went out, or it was queued for a time that has since passed, she stops and asks: What do you want to do?
Closing that dialog cancels the move. The card stays where it was.
Set a post to repeat and it appears on every recurrence inside the range you are looking at. Drag any one of them and the whole series moves, because each occurrence is drawn forward from the post’s own date.

Filters

Customers

Group your channels under a customer and a small person icon joins the toolbar. It shows up only when your channels span more than one customer, so a single-brand account never sees it. Open it and you get a Customers list. Pick one and both the calendar and the list narrow to that customer’s channels, with a Customer socials selected toast to confirm it. The choice rides along in the URL as customer=.

State, in list view

The four tabs next to the page arrows decide which posts the list is willing to show you. Everything except Published is filtered to now and later, so the list is a forward-looking screen by default. Published drops that limit and reaches back, which makes it the tab you open to review what shipped.
Nothing matching? She says so in plain words rather than showing an empty page: No upcoming posts scheduled, No draft posts, No published posts.
Repeating posts and the follow-up parts of a thread are left out of the list on purpose. Those live on the calendar, under the post they belong to.

The strip on a post card

Every card is two pieces. A thin coloured strip on top, and the post underneath it: the channel avatar with its platform badge in the corner, a Draft: prefix when the post is a draft, and one line of the content. Click the body of the card and the editor opens on that post. Hover the strip and the tag names give way to a row of icons.
The chart icon is only there when there is something to chart. A post that has not gone out yet does not show it, and on X it is hidden as well when the install has X analytics turned off. When she has the post but not the link back to the published version, the same icon opens Connect Post instead, where you pick the matching post from the platform, and she goes straight to the statistics once you save.
A failed post is hard to miss: the whole card gets a red outline and a red ! badge in the corner. Hover that badge to read the error the platform sent back.
Super admins get one extra icon on the strip, which opens a small dialog with two buttons: Copy post id and Copy Debug JSON.

Tags

Tags are colour, not filing. Give one a name and a colour when you create it, attach it to a post from the tag picker at the bottom of the editor, and the strip across the top of that card takes the colour of its first tag. Every tag name on the post is written across that strip, so a glance at the week tells you which campaign is which. The picker lists every tag in your workspace, each with a checkbox. Add New Tag at the bottom opens a Name field and a colour picker.
The small red cross next to an unselected tag deletes it for the whole workspace, not only for this post. She confirms by name before she does.
Tags paint the calendar. They do not change what it shows: the calendar filters on dates and customers, and the list adds state on top of that.

Starting a post from an empty slot

Click any empty space in a cell that is not in the past and the editor opens on that time. In Week and Month a + appears under your cursor first. In Day the channel avatars appear instead. A few things happen around that click.
No channels connected yet? That same click sends you to the connect flow instead, which is the only thing worth doing on an empty calendar.

Where you left off

The view you last chose is remembered, so the calendar opens the way you left it. The range you are looking at lives in the URL as startDate, endDate and display, with customer on the end when one is selected.
Bookmark a week and it comes back as that week.

Keep going

Manage posts from the CLI

The same posts, created and moved from your terminal

Let an agent fill it

Hand her a brief in chat and watch the week land on the calendar

Public API

Read and write the calendar from your own scripts

Next steps

Writing a post

The composer, per-channel versions and the three ways a post leaves it

Posting times

Set the slots once and she takes the next one still empty

When a post fails

The red badge, the four states, and how to get it out

Tags and saved sets

Colour a month of posts so it reads at a glance