Docs

Publish your first post

The approval pipeline, start to finish — what each status means, who can move things, and when the publisher picks it up.

The six statuses

  • Planned — a drafted post not yet in editing. Just a title + maybe some pillar notes.
  • Editing — caption and media being written and attached. Normal in-flight state.
  • Ready for review — handed off to a reviewer / client. The Awaiting Approval ring appears on the card.
  • Ready for agents — automation path (if the workspace has agents configured — captions, hashtags, carousel rendering handled by the agent fleet).
  • Scheduled — approved and queued. The publisher picks this up when scheduledFor passes.
  • Posted — live on the platforms it was tagged to. Row is locked at this point — edits require canceling and re-queuing.

Writing a post

  1. From the Content page, click New post. Give it a title (internal — never shown anywhere public).
  2. Pick the content type: Video, Carousel, Post, or Story. This affects which per-platform caption fields appear and which assets you'll upload.
  3. Pick platforms. Each selected platform gets its own caption and optional first comment — never copy-paste the same caption across platforms.
  4. Upload media. Images, videos, and carousel slides all go to blob storage; the publisher reads them when it's time to send.
  5. Pick a schedule. Scheduled for + status Scheduled is what the publisher checks; past that time, it fires.

Approval

Changing status to Ready for review adds the ring to the card. A reviewer opens the post, reads the per-platform captions, previews the media, and either approves (which moves it to Scheduled) or sends it back with notes.

Approval is per-workspace, not global — a client of yours can approve their own posts without seeing anyone else's.

What the publisher does

The publisher is a background job that runs every minute. It picks every post whose scheduledFor has passed and status = Scheduled, walks the platforms list, and calls the publishing API for each. Successes get a platform- specific external id written back; failures mark the post awaitingApproval = true again with the error visible on the row.

Edit a Scheduled post
You can't directly — scheduled rows are locked to prevent drift between what was approved and what shipped. If something needs to change, cancel the schedule (status back to Editing), make the edit, re-approve, re-schedule.