Approval workflows
An approval workflow makes sure a post is reviewed before it goes out. You set up a workflow once, with one or more steps of approvers, and choose it when you schedule a post. This article covers creating workflows, sending posts for approval, reviewing posts, and what to do when a reviewer asks for changes.
How approval works
- Someone schedules a post and chooses an approval workflow.
- The approvers of the first step get an email and a notification, and the post shows up on their Approvals page.
- Each step needs a yes from any one of its approvers, or from all of them. When a step is approved, the next step starts.
- When the last step approves, the post publishes at its scheduled time. If that time has already passed, it publishes right away.
- If a reviewer clicks Request changes, the post goes back to the person who sent it, with the reviewer's note. It doesn't publish until they send it again.
The person who asked for approval gets an email and a notification when a reviewer comments, edits the post, asks for changes or gives the last approval.
Create an approval workflow
- Click your name at the bottom of the sidebar, then Settings.
- Click Approval workflows. If you belong to more than one organization, choose it in the switcher above the organization pages first.
- Click New workflow.
- Choose the Workspace and enter a Workflow name.
- Under Steps, enter a name for the first step.
- Next to Needs approval from, click Choose people. Search for and tick the team members or clients who review this step.
- Once a step has two or more people, choose any (one yes is enough) or all (everyone has to say yes).
- To add a step, click Add step and fill it in the same way. The trash icon next to a step removes it.
- Click Create workflow.
Posts wait for every step, in order, before they go out. The Approval workflows page lists each workflow with its workspace, its number of steps and approvers, and what it requires. A label shows how many posts are still waiting in a workflow.
You can also create a workflow from a workspace's Approval workflows tab, or with Create workflow at the bottom of the workflow list while you schedule a post.
Send a post for approval
- Create your post in the composer.
- Click Schedule Post, or Schedule Reel or Schedule Story for those post types.
- Choose the date and time.
- Next to Approval workflow, choose a workflow. Click Preview workflow to check its steps.
- Click Ask for approval.
The post shows as In approval on the Posts page, and under Sent by you on the Approvals page. To learn more about scheduling, see Scheduling.
The Approvals page
Click Approvals in the sidebar. The number on it shows how many posts are waiting for you. The page has five tabs:
- For you: posts that wait for your decision on their current step.
- Sent by you: posts you sent for approval, while they wait and after a reviewer asks for changes.
- In review: every post in this workspace that waits for approval.
- Approved: posts where every step of the workflow has said yes.
- Sent back: posts you asked changes for, with your note.
The first three tabs show how many posts they hold.
Each post is a card, drawn the way it will look on its channel, in the order the posts go out. Posts whose publish time has already passed come first. On a wide screen, the column on the right lists the posts by publish day. Click one to jump to its card.
Use Platforms to filter the posts by channel, or search for a post. The switch next to the search changes between the Feed and the List view. The List view shows one row per post, with its workflow and who it waits for. Click Review on a row to open the full review. On the Sent by you tab you can click Edit on a row, or use the three dots to duplicate or delete the post. On a phone, the page always shows the feed.
Review a post
Everything a review needs is on the post's card:
- The channel switch: the icons at the top right of the card switch the preview between the post's channels, so you see each version the way its followers will.
- Approve: says yes for your step. The card folds into one line that says what happens next, for example that the post goes out at its time or who reviews next. If the publish time passed while the post waited, the button reads Approve and post now, and approving publishes the post right away.
- Request changes: write what should change and click Send back. The note is required. The post goes back to the person who sent it and doesn't go out until they send it again. You find it on your Sent back tab.
Approve and Request changes only show for the approvers of the step that is waiting.
Comment on a post
- On the whole post: type in the Write a comment... field under the card and press Enter. The card shows the newest comment. Click the line above it, for example "2 comments before this", to open the whole thread.
- On words in the caption: select the words in the preview and click Comment. Write your comment and, if you like, the words you want instead under Replace with (optional). Then click Comment. Someone who can edit the post can click Apply on your suggestion to put it in the caption.
- On a moment in a Reel: pause the video where you want to comment. The comment field then points at that moment. Click the time in the field to comment on the whole video instead. The time on a comment jumps the video back to that moment.
- On a spot of a Story slide: Stories have no caption. Click a spot on a slide, write your comment and click Comment. A numbered pin marks the spot.
Edit the caption
If your role lets you create posts, click Edit text under the preview. The preview follows what you type. The line under the field says which channels publish this text, and counts its characters against the strictest limit of those channels.
- Click Save to keep your change.
- Click Save and approve to save and give your approval in one go. This button shows when the post waits for you.
The media, the channels and the other settings change in the editor. Stories, and channels that publish as a thread, are edited in the editor too. Clients comment and suggest changes, but they don't edit.
What an edit does to the review
- A text change keeps the approvals that were already given. The thread logs the edit, for example "Daan edited the Instagram text", and Show changes shows the old and the new words. The person who asked for approval and the approvers who already said yes hear about the edit.
- A change to the media, the channels, the cover or the post type replaces what was approved, so OmniSocials asks first. The review starts again at step 1, and the people who approved review again. Click Save and start again (or Save and send to a person when one person had approved) to go on, or Cancel to keep the review as it is.
The full review
To review in the editor, click the three dots on a card and then Open full review, or click Review in the List view. The post opens in approval mode:
- The banner at the top shows who asked for approval, which step is waiting, and when the post publishes.
- Request changes and Approve for the publish date are at the top right. After a text edit, you can click Save changes, or Save & approve to do both.
- The panel on the right has Comments (feedback on the whole post or on one channel's version), Timeline (the steps and who approved so far) and Details.
- The list on the left shows the other posts waiting for approval, so you can move straight on to the next one.
When a reviewer asks for changes
The person who sent the post gets an email and a notification with the reviewer's note. On the Sent by you tab, the post's card shows Changes requested and the note. To send it again:
- Click Edit and send again on the card. The post page has the same button.
- Make your changes. The banner at the top of the editor shows who asked for changes, and the review thread stays next to the post.
- Click Schedule Post, choose the workflow next to Approval workflow and click Ask for approval.
While a post still waits for approval, you can click Edit post on its card to change it. The post also shows on the Rejected tab of the Posts page.
Decide from an AI agent or the API
Approvers can also decide outside the app. The MCP server has the tools approve_post and reject_post, the CLI has omnisocials posts:approve and omnisocials posts:reject, and the API has POST /posts/:id/approve and POST /posts/:id/reject. A rejection there stops the workflow the same way Request changes does, and its comment is optional.