Updated Sep 2026
Review and approve your posts
Nothing you create publishes on its own. Every post waits on the Content page until you approve it. This is where you make that call, one post at a time or in bulk.
Before you start
You need at least one post. If you haven’t created any yet, see Create your first posts with AI.
Steps
- Open Content in the sidebar. It opens showing only posts with the Pending status filter, the ones waiting on your decision.
- Each row shows the post’s platforms, a preview of its content, and any status badges (see below). Select a row’s content preview, or open the post from the Content page, to see the full text for each platform you selected. The post keeps a separate, editable copy per platform.
- To approve or reject a single post from the Content page, select the ✓ (Approve) or ✕ (Reject) icon at the end of its row. On the mobile card layout these appear as Approve and Reject buttons.
- To approve or reject from inside an opened post, select Approve or Reject under the editor. If compliance findings need your sign-off first, Approve becomes Acknowledge & approve. See Compliance review, below.
- To act on every platform version in that post at once, use Approve All or Reject All in the Group Actions panel.
Bulk approve or reject
- On the Content page, select the checkbox on each row you want to act on (or the header checkbox to select every row currently shown).
- A bulk action bar appears above the list showing how many posts are selected, with Approve and Reject buttons.
- Select Approve or Reject to apply it to every selected post.
If some of the selected posts fail, the rest still go through and you see a message like “Some posts failed to approve (2 of 5)” or “Some posts failed to reject (2 of 5)” naming how many failed out of how many you selected.
If a selected post needs a compliance analysis first, bulk approve skips it rather than failing the whole batch. See Compliance review, below.
When a post expires
A pending post doesn’t expire just for sitting there. It can wait as long as you need it to, and nothing publishes from Pending in the meantime.
There is one case where a post expires: it had a scheduled time, that time arrived, and it still hadn’t been approved. It missed its publication, so it moves to Expired and the post shows Expired — missed its scheduled time. If you’ve scheduled a post, approve it before its scheduled time arrives.
An expired post isn’t gone. See Reactivate an expired or rejected post to bring it back to Pending for another look. For why approval is required at all, see Why every post starts pending.
Compliance review
If your brand has compliance review turned on, a post also needs a passing (or acknowledged) analysis before you can approve it. Trying to approve a post that hasn’t been analyzed against its current content blocks with a message telling you to run the analysis first. A post with unresolved findings requires you to tick an acknowledgement before Approve becomes Acknowledge & approve. See Run a compliance check before approving for the full walkthrough.
What happens after you approve
An approved post doesn’t publish immediately. It publishes either:
- At its scheduled time, if you’ve set one (see Schedule posts for later), or
- Immediately, if you select Post Now (see Publish a post immediately).
Until one of those happens, an approved post sits, ready to go, exactly like a pending one sits waiting for your decision.
If external publishing is turned off in this environment, the Content page shows “Publishing is turned off in this environment — approved posts stay in the queue for manual posting.” Approved posts won’t publish on their own until that changes.
If you change your mind after approving, you can still select Reject on an approved post. Reject works on pending and approved posts alike.
If something goes wrong
“Cannot approve post with status ‘{status}’. Must be ‘pending’.”: the post already moved on (someone else approved it, or it expired) before your click reached the server. Refresh the Content page to see its current status.
“Cannot reject post with status ‘{status}’. Must be ‘pending’ or ‘approved’.”: the same idea for Reject. The post is no longer in a state that can be rejected. Refresh and check its status.
“This post has not been analyzed against its current content. Run the compliance analysis before approving.”: compliance review is required for this brand and this post hasn’t been checked (or was edited since its last check). Open the post and select Analyze, then approve.
“{N} post(s) skipped — needs compliance analysis — open the post” (bulk approve): one or more selected posts need an analysis before they can be approved. They’re left as-is. Open each one, analyze it, then approve individually or re-run the bulk action.
“{N} post(s) skipped — needs compliance review — open the post” (bulk approve): one or more selected posts have unresolved compliance findings that need your acknowledgement. Open each one, tick the acknowledgement, then approve individually or re-run the bulk action.