On this page
- Step 1: give each stage one owner
- Step 2: check internally before the client sees it
- Step 3: hand over to client review
- Step 4: decide who schedules and publishes
- Step 5: schedule from one calendar per client
- Step 6: close the loop after publishing
- The whole workflow on one page
- Running the workflow in Poststack
- Frequently asked questions
A caption is written on Monday. The designer thinks the account lead is still editing it, and the account lead thinks it went to design. On Thursday the client asks where their post is, and three people open three different versions to find out.
Posts usually stall between people.
Step 1: give each stage one owner
At any moment, each post should have one person responsible for its next step. A team or "whoever is free" does not count.
Agree the stages and who owns each one. A typical set for a small agency:
| Stage | Owner | Done when |
|---|---|---|
| Brief | Account lead | Topic, format, platform and date agreed |
| Draft | Copywriter | Caption written and checked against the brief |
| Design | Designer | Image or video attached in the right size |
| Internal check | Account lead | Checked against the list in step 2 |
| Client review | Account lead | Client approved; any changes have gone back through the draft or design stage and the internal check |
| Scheduled | Named publisher for that client | Date and time set on the calendar after approval |
| Published | Named publisher | Post confirmed live on the right account |
Change the owners to fit your team. In a three-person agency one person may own three stages. The rule still holds: at each stage, everyone knows whose move it is.
Write down where each stage is visible. If a post's stage lives only in someone's head or a chat message, the next person cannot see it.
Step 2: check internally before the client sees it
When a deadline is close, it is tempting to send a draft straight to the client. Errors caught internally avoid sending the client corrections your team could have made beforehand.
Keep the internal check short and the same every time:
- Does the post match the brief: topic, offer, date and call to action?
- Are the platform details right: character count, image size, handles, links and hashtags?
- Is the client's current product name, price and campaign wording used?
- Is the right account selected?
Send problems back with a specific note. "The caption feels off" starts another loop. "The caption uses last month's offer; change it to the Diwali price" gets one fix.
Keep these notes inside your team. Client feedback and team comments in the same thread make it hard to tell what the client actually asked for.
Step 3: hand over to client review
Once the internal check passes, the post goes to the client. How you share it, how many rounds you include and what happens when the client goes quiet are covered in our social media post approval process. For setting the number of rounds per client, see revision limits and agency margins.
For the internal workflow, two points matter here:
- One person owns the client conversation for each post, usually the account lead. Feedback goes to them, and they pass it to the copywriter or designer as a specific note.
- When feedback comes in, the post goes back to the stage that needs to change. A caption change goes to the copywriter, a new image to the designer, then through the internal check again and back to the client under your agreed review process. It is ready to go out only once the client approves.
Step 4: decide who schedules and publishes
Name one publisher for each client, with a backup for days off. Only they schedule and publish that client's posts. Everyone else drafts and comments.
Then agree a rule for posts still waiting on the client. If a post is scheduled before the client has approved it, some tools publish it at its time anyway. Decide which of these your team follows:
- Schedule only after approval, and keep everything else as a draft.
- Schedule early to hold the slot. At a set cutoff before each post goes out, the publisher checks what is still waiting on the client and moves those posts back to drafts or reschedules them.
Either works if everyone follows it. Problems start when half the team does one and half does the other.
The client never publishes. They approve or ask for changes; your team decides what goes out and when.
Step 5: schedule from one calendar per client
If posts are scheduled from a spreadsheet, the platform's own app and a shared calendar, two people will eventually schedule the same post, or none will.
Use one calendar that the whole team works from, with each client kept separate. The person scheduling should take the post from that calendar, so the version that goes out is the version the client approved.
Check the calendar once a week for gaps and clashes: a client with nothing scheduled next Tuesday, or two posts for the same account an hour apart.
Step 6: close the loop after publishing
First, the publisher checks that each post went live on the right account. If a post failed, they fix the cause, such as an expired account connection or a file the platform rejected, and post it again.
Then keep two things:
- The review history: what the client saw, what they asked to change and when they approved. When a client asks why a post went out, you can answer from the record instead of searching chats.
- How it performed. Note which formats and topics did well, and use that in next month's brief.
The whole workflow on one page
- Brief agreed by the account lead
- Draft written by the copywriter
- Design attached by the designer
- Internal check by the account lead, using the same short list
- Client review, owned by the account lead
- Changes sent back to the stage that needs them
- Scheduled by the client's named publisher, from the client's calendar
- Checked live by the publisher, with any failed post fixed
- Results noted for the next brief
Print it, change the names to your team's, and pin it where everyone works.
Running the workflow in Poststack
Each client is a workspace with its own calendar and connected accounts.
- Drafts sit on a drafts page you can filter by account, so each client's posts stay together. Track the stages above as your team's process.
- Each post has two comment tabs: internal comments for your team only, and client feedback. Team notes stay out of the client's view.
- Roles are Owner, Admin, Editor and Viewer, or you can pick individual permissions such as draft, publish and approve. You choose which workspaces each person works in.
- Pre-publish checks flag character, hashtag, mention and media limits before a post is scheduled.
- The post details panel shows each post's status, schedule, comments and review history.
- Clients review on a no-login link or a client portal and can never publish. Review status does not block a scheduled post, so your team keeps control by keeping posts as drafts, rescheduling or editing them. Platform or connection errors can still stop a post going out, and failed posts are flagged with the platform's error.
For comparisons of tools on these points, see the best social media scheduling tools for agencies in 2026 and the top social media management platforms for small teams managing multiple clients. Before the first post for a new client, baseline the account.
Run your team's drafts, internal checks and scheduling on one calendar per client. Start a 7-day free trial, no card needed.
Frequently asked questions
What is a social media team workflow? The steps a post goes through inside your agency, from brief to published, with one named owner at each step. It covers drafting, design, an internal check, the hand-off to client review, scheduling and what you record afterwards.
Should every post get an internal review before the client sees it? Yes, if you can keep it short. A fixed checklist covering the brief, platform details, current client wording and the selected account takes a few minutes, and the client sees fewer errors your team could have caught.
Who should be allowed to publish? One named publisher per client, with a backup. Everyone else drafts and comments. Clients approve or ask for changes but do not publish.
Should we schedule posts before the client approves them? Either way can work. Agree one rule as a team: schedule only after approval, or schedule early and have the client's publisher move anything not approved back to drafts at a set cutoff. Check whether your tool publishes scheduled posts that are still waiting on the client.
How do we keep team comments separate from client feedback? Keep internal notes in a place the client cannot see, and client feedback in its own thread on each post. In Poststack each post has an internal comments tab and a client feedback tab.


