Schedules

Post queue and auto-scheduling system

Schedules is the brain of Missinglettr. It orchestrates all concepts—Workspaces, Social Accounts, Post Windows, and Campaigns—to generate optimal posting schedules months in advance.

How Schedules Orchestrates Everything

Schedules brings together all the pieces to create your perfect posting strategy:

The Scheduling Flow

📁
Workspace - Your brand/client container
Contains all settings, timezone, and connected accounts
🔗
Social Accounts - Connected platforms
Twitter, LinkedIn, Instagram, etc. linked to workspace
Post Windows - When posts can be scheduled
Available time slots, blackout days, vacation periods
🎯
Campaigns - Post types and channel targeting
Which content goes to which platforms, start/end dates
🤖
Schedules - Generates optimal posting times
Intelligently schedules months of content across all platforms

What Schedules Does

Schedules analyzes all your configuration and generates an optimal posting calendar:

  • Reads your Post Windows to know when posting is allowed
  • Checks blackout days and vacation periods to avoid bad timing
  • Reviews Campaign settings to know which posts go to which channels
  • Respects campaign start and end dates
  • Optimizes posting times per channel based on engagement data
  • Schedules content months in advance so you can set and forget

Scheduling Modes

Schedules offers three ways to schedule content:

1. Manual Scheduling

You specify the exact date and time. Useful for time-sensitive posts.

{
  "content": "Join us live at 2 PM!",
  "schedule_time": "2024-01-15T14:00:00Z"
}

2. Post Queue (Auto-Scheduling)

Add posts to the queue. Schedules automatically assigns them to optimal windows based on all your settings.

POST /v1/workspaces/{id}/schedule/queue/
{
  "post_id": 123,
  "campaign_id": 456
}

# Process the queue to generate schedule
POST /v1/workspaces/{id}/schedule/queue/process/

3. AI Optimal Times

Let AI analyze your audience engagement patterns and automatically choose the best time within each window for each platform.

Scheduling Months of Content

Schedules is designed to handle large volumes of content far into the future:

Example: Scheduling 3 Months of Posts

  1. Step 1: Create 90 posts across 3 campaigns (blog, product, tips)
  2. Step 2: Add all 90 posts to the queue
  3. Step 3: Hit "Process Queue"
  4. Step 4: Schedules analyzes:
    • ✓ Your post windows (M-F at 9 AM, 1 PM, 5 PM)
    • ✓ Upcoming blackout days (holidays)
    • ✓ Your vacation period (July 4-14)
    • ✓ Campaign channel targeting (which posts go where)
    • ✓ Campaign date ranges (some campaigns end mid-quarter)
  5. Step 5: Schedules generates optimal times for all 90 posts across the next 90 days
  6. Result: 3 months of content, perfectly scheduled, respecting all your rules
Set and Forget: Schedule months of content at once. Schedules handles all the complexity—you just create content and let the system optimize everything else.

The Post Queue

The post queue is your staging area for content waiting to be scheduled:

  1. Create posts and add them to the queue (or bulk import from CSV)
  2. Assign posts to campaigns (determines channel targeting)
  3. Reorder posts to set priority
  4. Click "Process Queue" when ready
  5. Schedules analyzes all concepts and generates optimal schedule

Intelligent Processing

When you process the queue, Schedules does sophisticated analysis:

What Happens During Processing:

Reads Post Windows: Gets all available time slots for the next X months
Filters Blackout Days: Removes holidays and vacation periods
Checks Campaign Settings: Verifies campaign start/end dates and channel targeting
Optimizes Per Channel: Chooses best time within each window for each platform
Balances Distribution: Spreads content evenly across days/weeks
Avoids Conflicts: Never double-books a time slot

Queue Management

Manage your queue in the console:

  • View Queue - See all posts waiting to be scheduled
  • Reorder - Drag and drop to change priority
  • Edit - Modify post content before scheduling
  • Bulk Import - Upload CSV with months of content
  • Process - Generate optimal schedule for all queued posts
# Add posts to queue
POST /v1/workspaces/{id}/schedule/queue/
{
  "post_id": 123,
  "campaign_id": 456
}

# Process queue to generate schedule
POST /v1/workspaces/{id}/schedule/queue/process/

Real-World Example

Here's how all the concepts work together in a typical workflow:

Scenario: Marketing Agency Managing Client Content

Workspace Setup:

Create "Acme Corp" workspace with EST timezone

Social Accounts:

Connect Twitter, LinkedIn, Facebook, Instagram for Acme

Post Windows:

M-F at 9 AM, 1 PM, 5 PM (15 slots/week)

Add blackout: Dec 25-26 (Christmas)

Add vacation: July 1-14 (summer break)

Campaigns:
  • "Blog Posts" → Twitter, LinkedIn (M-F, ongoing)
  • "Product Updates" → All channels (Q1: Jan 1 - Mar 31)
  • "Visual Content" → Instagram, Facebook only (ongoing)
Content Creation:

Create 180 posts (3 months worth)

  • 60 blog posts → "Blog Posts" campaign
  • 60 product updates → "Product Updates" campaign
  • 60 visual posts → "Visual Content" campaign
Schedules Orchestration:

Click "Process Queue"

  • ✓ Analyzes 180 posts across 3 campaigns
  • ✓ Checks 60+ post windows (minus Christmas/vacation)
  • ✓ Respects campaign channel targeting
  • ✓ Optimizes times per channel
  • ✓ Generates schedule: Jan 1 - Mar 31
Result:

3 months of content perfectly scheduled across 4 platforms, never posting on holidays or during vacation, with each campaign posting to its designated channels only. All done in under 60 seconds.

Post Status

Track where posts are in the scheduling lifecycle:

StatusMeaning
DraftCreated but not yet in queue or scheduled
QueuedIn the queue, waiting for Schedules to assign time
ScheduledAssigned to specific date/time, will be published
PublishedAlready posted to social media

Bulk Scheduling Workflows

Schedules is built for scale. Common bulk workflows:

  • CSV Import - Upload spreadsheet with 100+ posts, assign to campaigns, process queue
  • API Batch - Send months of content via API in minutes
  • Integrations - Auto-add posts from Notion, Airtable, Google Sheets via Zapier/Make
  • Content Calendar Sync - Import your entire quarterly content plan at once
Pro Tip: Schedule your entire quarter at the start. Review the generated schedule, make any tweaks, then let it run automatically. Check in weekly to add new content to fill future slots.

Scheduling Rules

How Schedules makes decisions:

  • Only schedules within defined Post Windows
  • Never schedules on blackout days or during vacation periods
  • Respects campaign start/end dates (won't schedule outside range)
  • Only posts campaign content to its designated channels
  • Never double-books a post window
  • Optimizes time within each window based on channel best practices
Important: Once a post is published, it cannot be edited or deleted from social media via Missinglettr. You'll need to go directly to the platform to make changes.

Best Practices

  • Plan Quarterly: Schedule 3 months of content at once, not week-by-week
  • Set Blackouts Early: Add all holidays for the year upfront
  • Use Campaign Targeting: Let campaigns determine channel distribution automatically
  • Review Before Processing: Check queue order and campaign assignments
  • Monitor Fill Rate: Ensure you have enough post windows for your content volume
  • Adjust Windows as Needed: Add more slots if you're creating more content

API Usage

Automate the entire scheduling flow via API:

# 1. Bulk create posts
POST /v1/workspaces/{id}/posts/bulk/
{
  "posts": [
    {"content": "...", "campaign_id": 123},
    {"content": "...", "campaign_id": 123},
    // ... 100+ posts
  ]
}

# 2. Add all to queue
POST /v1/workspaces/{id}/schedule/queue/bulk/
{
  "post_ids": [1, 2, 3, 4, 5, ..., 100]
}

# 3. Process queue - schedules all posts optimally
POST /v1/workspaces/{id}/schedule/queue/process/

# Result: Months of content scheduled in seconds