Creating & Managing Posts from the Calendar
The calendar is not just a read-only view — you can create, reschedule, publish, and delete posts directly from it.
Creating a Post
From Month or Week view
- Hover over any empty day cell. A + button appears.
- Click the cell (or the + button).
- You are taken to the Create Post page with the date pre-filled.
- If the day is today, the scheduled time defaults to the next full hour.
- If the day is in the future, the scheduled time defaults to 9:00 AM.
- Write your caption, attach media, select your social accounts, and save.
From Day view
- Click any empty hour row.
- You are taken to the Create Post page with both the date and the exact hour pre-filled.

Rescheduling a Post by Drag-and-Drop
You can move any post chip to a new date or time by dragging it.
In Month or Week view
- Click and hold a post chip.
- Drag it to the target day cell.
- Release. The post is rescheduled to the same original time on the new day (e.g., a post at 14:30 dragged to Thursday stays at 14:30 on Thursday).
In Day view
- Click and hold a post chip.
- Drag it to a different hour row.
- Release. The post is rescheduled to the new hour while preserving the original minutes (e.g., 10:45 dragged to the 14:00 row → 14:45).
What happens behind the scenes
- The calendar updates the chip position immediately (optimistic UI).
- The new
scheduled_timeis synced to the server. - A toast notification confirms success or shows an error if the update fails.

Viewing Post Details
Click any post chip to open the Post Details dialog.
Fields shown for all platforms
| Field | Description |
|---|---|
| Title / Caption snippet | Shown in the dialog header |
| Status badge | Scheduled / Posted / Failed / Draft |
| Platform | Icon + name |
| Scheduled date & time | Full timestamp |
| Post type | post, reel, story, etc. |
| Campaign | Campaign name if part of one |
| Content | Full caption text |
| Hashtags | Shown as pills |
| Media | Image or video preview with skeleton loader |
YouTube-specific fields
| Field | Description |
|---|---|
| Video title | Separate from the description |
| Description | Full YouTube video description |
| Tags | Shown as pills |
| Privacy status | public / private / unlisted |
> [Screenshot: Post Details dialog — standard post on the left, YouTube post on the right]
Publishing a Post Immediately
From the Post Details dialog, click Publish Now to bypass the scheduled time and push the post live immediately. This works for:
- Scheduled posts — publishes them right now.
- Failed posts — retries the failed publish attempt.
A loading toast is shown while publishing, followed by a success or error toast.
> [Screenshot: Publish Now / Retry button in the Post Details dialog]
Opening a Published Post
When a post's status is Posted, the Post Details dialog shows an Open Post external-link button. Clicking it opens the live post on the platform in a new tab.
Handling Failed Posts
If a post has status: Failed, the Post Details dialog shows:
- A red error banner with the specific error message returned by the platform.
- A hint about retrying.
- A Retry button that re-publishes immediately.
After a successful retry, the status updates to Posted in the calendar grid.

Deleting a Post
- Open the Post Details dialog by clicking the post chip.
- Click the Delete (trash icon) button.
- Confirm deletion in the prompt.
The post is removed from the calendar grid and permanently deleted from the scheduler.
Campaign posts: If the deleted post was linked to a campaign, the campaign record is automatically updated to mark that post as unscheduled — so it can be rescheduled later from the campaign view.