# Calendar

The Calendar gives your team a single view of scheduled, pending, manually logged, published, failed, and canceled posts across X, Instagram, and Facebook. It's also where the approval workflow plays out when enabled.

### Who can use it

Everyone in the org can view the calendar. Approval actions are gated by the **minimum role** configured in Settings (Editor, Admin, or Owner).

### Views

* **Month** - grid of the full month
* **Week** - seven-day slice
* **Day** - single-day detail

Navigate with the previous/next controls at the top.

### Status colors

| Status              | Color  | Meaning                                                |
| ------------------- | ------ | ------------------------------------------------------ |
| `approval_pending`  | Orange | Waiting on approval before it can go out               |
| `queued` / approved | Blue   | Approved and scheduled; will publish automatically     |
| `publishing`        | Purple | Currently being sent to the platform                   |
| `posted`            | Green  | Published successfully via TheContentForge             |
| `confirmed_manual`  | Gray   | Manually logged after posting elsewhere                |
| `failed` / canceled | Red    | Did not publish; see error message on the event drawer |

Platform badges (X blue, IG pink, FB indigo) show which channel each post belongs to.

### Threads and media indicators

* **Threads collapse to one entry.** An X thread scheduled as multiple tweets shows as a single pill on the calendar. A **thread** chip on the pill and a "{n}-post thread" line in the drawer show you it expands.
* **Media thumbnails.** Any event with attached images or video gets a paperclip icon on the pill. The event drawer shows a small thumbnail strip with signed-URL previews for every attached asset.
* **Thread replies inside the drawer.** Opening a thread event reveals the full list of replies in order, each with its own media strip, so you can verify the whole chain before it sends.

### Filters

* **By status** - all, needs approval, scheduled, posted, manual, failed
* **By platform** - all, X, Facebook, Instagram

A badge in the calendar header shows the current count of posts waiting for approval.

### Event drawer actions

Click any event to open its detail drawer:

* **Approve / Reject** - for posts in `approval_pending` (visible only to users at or above the configured min role)
* **Reschedule** - pick a new date and time for future queued, approved, or approval-pending posts
* **Cancel** - pull a scheduled or publishing post before it completes
* **Delete** - hard-delete terminal states such as `confirmed_manual`, `canceled`, and `failed`; deleting a manual entry also cleans up the corresponding analytics row

Each event shows its creation time, approval time if applicable, external post ID once published, and any error message from a failed attempt.

### Where posts come from

Posts land on the Calendar from:

* **Content Forge** Publish Panels
* **Video Forge** Publish Panels
* Manual logs for posts you already published elsewhere
* Analytics sync, which can later fetch or match manually posted items

Scheduled posts publish automatically at the specified time via a background job. Manual logs are useful when you posted outside TheContentForge but still want the item visible on the Calendar and available for later analytics matching.

### Related

* [Publishing](/thecontentforge-docs/feature-guides/publishing.md) - How posts reach the Calendar
* [Social Connections](/thecontentforge-docs/feature-guides/social-connections.md) - Connect the accounts posts publish through
* [Settings Reference](/thecontentforge-docs/admin-guide/settings-reference.md) - Configure the approval workflow min role


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://thecontentforge.gitbook.io/thecontentforge-docs/feature-guides/calendar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
