Scheduling Posts
Schedule content across all your platforms
Scheduling a single post
Any post you create in Octopost can be scheduled instead of published immediately.
- Create a new post and write your content.
- Select the platforms you want to publish to (or pick a preset).
- Instead of clicking Publish, click Schedule.
- Pick a date and time using the date picker. Times are shown in your local time zone.
- Click Confirm Schedule.
Your post will be saved and published automatically at the scheduled time. You can edit or cancel it at any point before it goes out.
Using the content calendar
The content calendar gives you a visual overview of everything you have scheduled. You can find it under Calendar in the dashboard sidebar.
The calendar shows:
- Scheduled posts -- Posts waiting to go out, shown at their scheduled time.
- Published posts -- Posts that have already been sent, so you can see your posting history.
- Drafts -- Saved but unscheduled posts appear in a sidebar so you do not forget about them.
You can drag and drop scheduled posts to reschedule them to a different day or time. Click any post to open it for editing.
Bulk scheduling
If you have a batch of content ready to go, you do not have to schedule each post one by one.
- Create all your posts as drafts first.
- Open the Calendar view.
- Click Bulk Schedule in the top right.
- Select the drafts you want to schedule.
- Pick a schedule pattern -- for example, one post per day at 9am, or three posts per week on Monday/Wednesday/Friday.
- Octopost will assign times to each draft and show you a preview.
- Confirm, and they are all scheduled.
You can still go in and adjust individual post times after bulk scheduling.
How the scheduler works
Behind the scenes, the scheduler is straightforward and reliable:
- A background job checks for posts that are due every 60 seconds.
- When a post's scheduled time has passed, Octopost begins publishing it to each selected platform.
- Each platform is published to independently. If Twitter succeeds but LinkedIn fails, the Twitter post stays up and LinkedIn gets retried.
Retry behavior
If publishing to a platform fails (network issue, rate limit, temporary API error), Octopost retries up to 3 times with increasing delays:
| Attempt | Delay |
|---|---|
| 1st retry | 1 minute |
| 2nd retry | 5 minutes |
| 3rd retry | 15 minutes |
After 3 failed attempts, the post is marked as failed for that platform. You will see the error in your post's detail view and can retry manually whenever you want.
Retries only apply to temporary errors (server errors, rate limits, timeouts). If the error is something permanent -- like an expired token or invalid content -- Octopost will not retry and will tell you what went wrong so you can fix it.
Threaded posts
Threaded posts (a main post plus one or more reply segments) work the same in the scheduler as single posts. The whole thread is treated as one unit — one scheduled slot, one calendar card, one status. When the scheduled time hits, the main post and all replies publish in order. See Threaded Posts for how to compose them.
Time zones
Octopost uses your browser's local time zone when displaying and scheduling posts. All times you see in the app -- on the calendar, in the scheduler, in post details -- are in your local time.
Internally, all scheduled times are stored in UTC. This means:
- If you travel and your time zone changes, your existing scheduled posts will still go out at the originally intended moment in time.
- If you are scheduling with a team across different time zones, each person sees times in their own local zone.
You can see what time zone Octopost detected for you in Settings. If it looks wrong (this can happen with VPNs), you can override it there.
Post statuses
Every post in Octopost has a status that tells you where it is in its lifecycle:
| Status | Meaning |
|---|---|
| Draft | Saved but not scheduled or published. Sitting in your drafts until you are ready. |
| Scheduled | Set to publish at a specific date and time. Will go out automatically. |
| Publishing | Currently being sent to platforms. You will see this briefly while it is in progress. |
| Published | Successfully sent to all selected platforms. |
| Partially failed | Sent to some platforms but not all. Check the post details to see which ones failed and why. |
| Failed | Could not be published to any platform after all retries. |
You can filter your post list by status to quickly find drafts that need attention or check on recently published content.
Tips
- Schedule during peak hours for each platform. Posting at 9am on Twitter and noon on LinkedIn tends to perform better than blasting everything at midnight.
- Space out your posts. If you are cross-posting the same content, consider staggering by 15-30 minutes so it does not look like a bot hit all your accounts at the exact same second.
- Use drafts liberally. Write when inspiration strikes, schedule when strategy calls for it.
- Check the calendar weekly. A quick glance at your upcoming week helps you spot gaps and avoid accidentally double-posting.
Queue
The queue is a pool of posts that publish automatically at regular intervals during your active hours. It is different from scheduling -- with scheduling you pick the exact time, with the queue the system picks for you.
How it works
- Add posts to the queue from the compose page (or via the API / MCP tools with
queue_post). - The scheduler publishes the oldest queued post every N hours (default: 4).
- Posts only go out during your active hours (default: 9am to 8pm in your timezone).
- The exact minute within each interval is randomized so your posts look natural, not robotic.
- Posts publish in FIFO order -- oldest first, unless you reorder them.
Approval workflow
If you (or an agent) create a post with needs_approval: true, the post enters the queue as pending. Pending posts are not published automatically. A human must review and approve them first, at which point they become queued and enter the normal publishing rotation.
This is useful when an AI agent is generating content on your behalf and you want a human in the loop before anything goes live.
Queue vs schedule
| Schedule | Queue | |
|---|---|---|
| Who picks the time? | You do | The system does |
| Best for | Time-sensitive content, launches, announcements | Evergreen content, maintaining a regular cadence |
| Can use both? | Yes | Yes |
Scheduled posts and queued posts do not conflict. A scheduled post publishes at its exact time regardless of what the queue is doing, and vice versa.
Queue settings
You can configure your queue from Settings in the dashboard or via the API:
- Interval -- How many hours between each published post (default: 4).
- Active hours -- The window during which posts can go out (default: 9am to 8pm).
- Timezone -- Your local timezone, used for active hours.
- Enabled -- Pause or resume the queue at any time. Pausing does not delete your queued posts.
Tips
- Great for agents. Create many posts at once and they drip out over days without flooding your followers.
- Use approval for agent-generated content you want to review first.
- Scheduled and queued posts do not conflict. Use both freely.
- Pausing the queue keeps all your posts in place. Resume whenever you are ready.