Queue Posts on an Automated Posting Schedule
Define weekly time slots once. Every queued post fills the next available slot automatically — consistent posting across 10 platforms without picking dates.

import PostZen from '@postzen/node'
const postzen = new PostZen()
// 1. Connect any of 10 channels via OAuth
const { authUrl } = await postzen.accounts.connect({ platform: "instagram", profileId });
// 2. Publish everywhere in one call
await postzen.posts.post({
body: {
content: 'New feature drop',
mediaItems: [{ url: 'https://example.com/demo.mp4' }],
platforms: [
{ platform: 'instagram', accountId: instagramId },
{ platform: 'linkedin', accountId: linkedinId },
{ platform: 'tiktok', accountId: tiktokId },
],
},
})Key Features
Keep every posting queue full and on time
Set independent weekly schedules, add content from any workflow, and let each post claim the next open slot automatically.

- Weekly Time SlotsDefine your schedule once, like Mon/Wed/Fri at 9 AM. Queued posts fill the slots automatically.
- Timezone AwareEach queue has its own timezone, so slots fire at the right local time wherever your audience is.
- Per-Profile QueuesEvery profile gets independent queues with their own slots and default queue — built for agencies and multi-brand teams.
- Skips Occupied SlotsSlot filling is occupancy-aware: if a slot already has a post, the queue moves to the next open one.
- Queue From AnywhereAdd posts to the queue from the dashboard, the REST API, bulk CSV uploads, or the MCP server for AI agents.
- Reshuffle On ChangeUpdate slots or timezone anytime and optionally reshuffle already-queued posts onto the new schedule.
How it Works
Fill your posting schedule in 3 steps
Set the schedule once, then just keep the queue stocked.

01. Define Your Slots
Create a queue with weekly day/time slots and a timezone, per profile.

02. Queue Your Posts
Create posts and add them to the queue — no dates needed. Each one takes the next open slot.

03. Publish on Schedule
Posts go out automatically at their slot times. Preview upcoming slots or edit any post before it publishes.
Why use PostZen?
Skip months of platform integrations
Each social network means its own developer app, review process, token lifecycle, and media rules. One PostZen integration replaces all of it.
Building it yourself
- 10 developer apps, 10 OAuth flows, 10 app reviews
- Token refresh, rate limits, and retry logic per platform
- Media specs and API rules that change without warning
- Months of integration work before your first post
- App review rejections and delays that block your launch
- Quota restrictions that limit your users and frustrate your team

Post Consistently
A steady schedule without daily manual work.
Batch Your Content
Create a week of posts in one sitting. The queue spaces them out.
Agency Ready
Independent queues per client profile.
Right Time, Every Zone
Timezone-aware slots hit peak hours everywhere.
Never Miss a Slot
Occupied slots are skipped, nothing double-books.
Automate With the API
Queue posts from scripts, CI, or AI agents.
Pricing
How much does queue-based scheduling cost?
Queue features are usually locked behind paid tiers. PostZen includes queue scheduling, dashboard access, and API access on every plan.

| Approach | Monthly cost | What you get |
|---|---|---|
| Buffer Essentials | $6/mo | Queue limited to 100 posts per channel, no API |
| Hootsuite Standard | $99/mo | Auto-schedule only, no public API |
| Ayrshare Premium | $149/mo | Auto-schedule via API, no visual queue dashboard |
| PostZen | Free up to 2 accounts, then per-account | Queue scheduling + API and dashboard on every plan, 10 platforms, unlimited posts. |
* PostZen's free tier: first 2 social accounts free with unlimited posts and full API + dashboard access.
Code Examples
Build and fill your queue with the API
Define weekly slots, add a post without choosing a date, and preview the next occupancy-aware opening.
curl -X POST https://api.postzen.dev/v1/queue/slots \
-H "Authorization: Bearer $POSTZEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"profileId": "prof_123",
"timezone": "America/New_York",
"slots": [
{ "dayOfWeek": 1, "time": "09:00" },
{ "dayOfWeek": 3, "time": "09:00" },
{ "dayOfWeek": 5, "time": "14:30" }
]
}'curl -X POST https://api.postzen.dev/v1/posts \
-H "Authorization: Bearer $POSTZEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Fresh from the content batch",
"queuedFromProfile": "Primary",
"platforms": [
{ "platform": "instagram", "accountId": "acc_instagram" },
{ "platform": "linkedin", "accountId": "acc_linkedin" }
]
}'curl "https://api.postzen.dev/v1/queue/next-slot?profileId=prof_123" \
-H "Authorization: Bearer $POSTZEN_API_KEY"
# Response:
# { "profileId": "prof_123", "nextSlot": "2026-09-02T13:00:00.000Z",
# "timezone": "America/New_York", "queueId": "que_123", "queueName": "Default" }Platform Coverage
One API, 10 social networks
Publish through one integration while keeping the options that matter on each platform.
Frequently asked questions
Still have questions?
What is a posting queue?
A posting queue is a schedule of recurring weekly time slots. Instead of picking a date for each post, you add posts to the queue and each one takes the next available slot.
How many time slots can I have?
Each queue holds up to 56 weekly slots — enough for 8 posts a day — and every profile can run up to 10 queues with one default. Common setups use 3 to 21 slots per week.
What happens if a slot already has a post?
Slot filling is occupancy-aware. Occupied slots are skipped and the post lands in the next open one.
Can I change my queue schedule later?
Yes. Update slots, name, or timezone anytime, and opt into reshuffling already-queued posts onto the new schedule with reshuffleExisting.
Can I combine queueing with manual scheduling?
Yes. Queued posts and posts scheduled for exact times coexist, and the queue skips slots that manual posts already occupy.
Can I queue posts through the API or CSV upload?
Yes. Use POST /v1/posts with queuedFromProfile, the use_queue column in bulk CSV uploads, or the MCP server for AI agents.
Set your schedule once, stay consistent forever
Create your queue and keep it stocked from the dashboard, API, or your AI agent.