Calendar
Calendar is where you view, arrange, and time your content across weekly and monthly views with drag-and-drop scheduling.
How to access
Click Calendar in the left sidebar. Requires an active synfluencer.
Key features
- Weekly and monthly views — Toggle between a week view with hourly time slots and a month view with daily slots.
- Drag-and-drop — Move content between time slots to reschedule. The new time is also pushed to Upload-Post, so the post still fires at the right moment.
- Click a chip to edit or cancel — Clicking any scheduled item on the calendar opens a modal with the current time, a
datetime-localinput for a new time, and a Cancel schedule button. Saving updates both the local schedule and the Upload-Post job; cancelling cancels the Upload-Post job and returns the content to Discover → Drafts so you can re-use it later. - Your audience timezone is the source of truth — Every scheduling input in the app (this page's reschedule modal, the Drafts schedule form, the Drafts reschedule dialog, and the Review page's scheduling picker) interprets what you type as wall-clock time in your selected audience timezone, not your browser's clock. So if you're on a laptop in PDT scheduling for an EST audience, typing
8:35 AMmeans 8:35 AM EST — no silent shift. Each input labels the interpreted zone below it (for example,Interpreted in EST (your audience timezone).) so there's no ambiguity. - Changing the synfluencer's audience timezone asks about existing schedules and automations — Update the audience timezone in Settings and, if there are scheduled posts or active automations, a two-step modal appears. Stage 1 offers Move scheduled posts / Save without moving / Cancel. Stage 2 — only if you pick Move — explicitly lists how many scheduled posts will be shifted (so “8:35 AM” stays “8:35 AM” in the new zone, Upload-Post jobs updated in place) and how many active automation cron jobs will be re-registered (automations with their own timezone override are left alone). Click Continue to commit, or Back to reconsider. No surprise writes — every change is opt-in.
- Timezone selection — Set your preferred timezone. All scheduled times are converted and displayed accordingly, and each calendar chip shows the scheduled time with the timezone short code inline (for example,
8:35 AM EST) so you never have to hover to confirm which zone you're reading. - Autofill — Let the system suggest optimal posting times based on your content and platform best practices.
- Engagement heat map — Each day cell shows a centered percentage and a small
n=sample-size badge. Cells with fewer than 5 prior posts get a dashed border so you know that day's score is based on a platform-default fallback rather than real history. - Bulk schedule from Discover → Drafts — Select two or more drafts and click Schedule selected. Step 1 lets you pick platforms per item, toggle stagger-across-platforms, and set spacing & density controls: min hours between posts (default 4), max posts per day (default 3), and planning horizon in days (default 14). Step 2 shows an engagement-weighted plan with editable rows; each row hovers a tooltip with its source (engagement history vs. platform default), percentile, and sample size. Commit fires one transactional batch and shows a 5-minute Undo toast that rolls everything back atomically.
- CSV export — Export your schedule as a CSV file for external tracking or reporting.
- Status indicators — Scheduled chips are dark, published chips are green, and failed chips are red with a
· failedbadge. Click a failed chip to see why it failed (either a missed schedule window or a platform error from Upload-Post). - Edit a card's title inline — Each draft card shows a small pencil next to its title. Click it to rename the card; press Cmd/Ctrl+Enter to save, Esc to cancel. Useful for cleaning up older rows whose titles carried long prose from a legacy pipeline.
- Scheduling only offers connected platforms — Creation and Review may include Draft only platforms, but the schedule form lists only connected Upload-Post accounts. If nothing is connected, the form links you to Connect instead of pretending the draft can publish. When scheduling to multiple platforms, expand Set per-platform times to give each platform its own date and time; leave an entry blank to fall back to the global time. All per-platform entries are interpreted in the synfluencer's audience timezone.
- Reschedule or cancel from Drafts too — Every scheduled card in Discover → Drafts has Reschedule and Cancel schedule actions next to Delete / Archive. Reschedule opens a small dialog with a
datetime-localinput (the dialog labels the timezone it will interpret your entry in, so you can verify before saving); saving updates Upload-Post's scheduled job in place, with no duplicate posts. Cancel schedule behaves the same as on the calendar modal — it cancels the Upload-Post job and returns the content to Drafts. The All filter lists scheduled items alongside draft, review, and approved work, so you see the whole pre-publish queue in one place. - Retry a failed post — Opening a failed chip swaps the modal's primary action to Retry with new time: pick a future time, click Retry, and the scheduler clears the stale Upload-Post job and submits fresh. Prefer not to retry? Use Cancel schedule (return to Drafts) to send it back to Discover. Retries are always explicit — the background sweeper never auto-retries a failed post, so you won't get surprise duplicates.
- Delivery handoff & reconciliation — When you schedule a post, it's handed off to Upload-Post inside the same database transaction that flips the row to
SCHEDULED, so the row never sits in a half-state where the sweeper could submit it a second time and double-post. Upload-Post fires the actual post at the scheduled moment. A background sweeper runs every two minutes: it re-submits any scheduled item that didn't land on Upload-Post the first time (marking past-due unsubmitted rows as failed rather than posting stale content), and — once the scheduled moment passes — reconciles delivered posts via Upload-Post's/statusand/historyendpoints. The sweeper covers the full non-terminal lifecycle (submittedandin_progress), so calendar chips flip from dark to green within a few minutes of the actual post landing on the platform — you don't have to open Publishing activity to nudge the status.
Set your timezone first. The scheduler displays all times in your selected timezone. Changing it later will shift how existing scheduled content appears on the calendar.