New Feature: Content Calendar Auto-Scheduling
Priority: 🟡 Pre-launch
Area: Scheduling / Automation
Competitive Reference: Predis.ai (Content Scheduler + Auto-Post), Semrush (Social Media Scheduling), Buffer, Hootsuite
Why This Matters
Every social media management tool offers intelligent auto-scheduling — AI picks the optimal posting times based on audience activity and platform algorithms. Leadmetrics has a content calendar page but content is only scheduled manually or by the deliverable planner. There’s no “best time to post” intelligence.
What Leadmetrics Has Today
calendardashboard page — shows content items on a calendar viewsocial-calendar-planneragent — plans what to post when (content themes per date)DeliverablePlan+DeliverablePeriod— monthly planning structureSocialPost.scheduledAtfield exists in schema- No auto-scheduling — no algorithm picks optimal times
- No direct publishing — posts don’t auto-publish at
scheduledAt(see #16) - No engagement-based timing — no analysis of when the audience is most active
Proposed Implementation
Step 1 — Optimal Time Analysis
Analyze connected channel data:
- Pull past post performance from Facebook/Instagram/LinkedIn APIs (already connected)
- Group by day-of-week + hour-of-day
- Calculate average engagement rate per time slot
- Build a “best times” heatmap per channel per tenant
Step 2 — Auto-Schedule Algorithm
When content is approved and ready to publish:
- Check the “best times” heatmap for the target platform
- Find the next available optimal slot that doesn’t conflict with other scheduled posts
- Respect minimum spacing rules (e.g., no two posts within 4 hours on same platform)
- Assign
scheduledAtautomatically - Allow manual override
Step 3 — Publish Queue
Once scheduledAt arrives:
- Scheduler task
social.post.publishfires - Calls the appropriate platform API (Facebook Graph, LinkedIn, etc.)
- Updates post status to
published - Records the published URL/ID
Step 4 — Dashboard UI
- Calendar view shows suggested time slots highlighted in green
- “Auto-schedule” toggle: ON = system picks time, OFF = manual
- “Best Times” analytics page showing the engagement heatmap
- Drag-and-drop reschedule on calendar
- Publish status indicators: scheduled → publishing → published / failed
Related
- Social Post Platform Publishing — prerequisite: posts must actually publish
- Scheduler Missing Task Types —
social.post.publishis a new task type