Content approval workflow: stop chasing client sign-off
A content approval workflow is the path a piece of content takes from finished draft to the client's yes: who reviews it, in what order, by when, and what counts as approved.
Most guides on this spend their time setting those steps up. But the drafts are often ready on time. What runs late is the yes. So most of this guide is about the client's side of the handoff, with messages you can copy for each step.
The basics every guide agrees on
Read a few articles on this and you'll find the same list. It's a good list:
- One person makes the final call for each client.
- The brief is agreed before anyone writes.
- Feedback lives in one place, not across email, Slack and doc comments.
- Every review has a deadline.
- Revision rounds have a limit.
If you're still working out where approval sits among everything else that happens to a post, this distribution process walks through the steps around it.
If you have all five and posts still sit for a week, the problem is on the client's side. That's the part worth fixing, and it's the part the usual advice skips.
Why client sign-off stalls
From the agency's side, a late approval looks like a client who doesn't care. From the client's side, it usually looks like one of the following.
The person you email isn't the one who decides
Your contact is often a marketing manager whose job includes getting a yes from someone else. That might be a founder, a partner or someone in compliance.
Your email lands, they forward it, and now your deadline depends on a person who has never heard of it.
Ask at kickoff who really signs off. Then ask whether your contact can approve routine posts on their own. Some can, once someone says so.
They don't know what you want them to check
"Please review" is an open invitation. A client who isn't sure what they're checking for will either reread every line or wait until they have time to. Both are slow, and the line-by-line read tends to produce edits to sentences that were fine.
The ask arrives in a hard format
An attachment to download, a tool that wants a login, a doc with forty comments already in the margin. Approval requests often get opened on a phone between meetings. If a request can't be answered there, it waits for a laptop, and the laptop session is already booked.
There's too much at once
A month of posts in one send feels like a project, and clients postpone projects. A few pieces tied to one post feel like a quick decision.
Nothing says by when
"When you get a chance" has no deadline. So it goes behind everything that does.
Make the ask small and specific
Most of those stalls come down to how the request is framed. The fixes are small, and they compound.
Send one set per post
If you repurpose client blog posts, the facts in the LinkedIn post, the newsletter section and the thread already appear in a post the client approved. Send those pieces together, as one set tied to the post they came from.
One decision with context is easier than a dozen without it. It also means the client can see how the pieces fit together, which answers half their questions before they ask them.
Tell them what to check, and what to leave alone
Give the client a short list of what you need from them:
- Names, job titles and quotes.
- Numbers, prices and dates.
- Offers, discounts and anything with legal weight.
- Where each piece sends the reader.
Then say what they can leave to you: the format and length for each channel, and the tone you agreed at kickoff. If the voice itself feels wrong, raise that on its own. Fixing it one post at a time won't stick.
A client who knows the job is four checks will finish it. A client facing "any feedback?" might never feel done.
Give three answers, not two
Most review requests offer two choices: approve, or request changes. Add a third: not approved.
Sometimes a client doesn't want a post to run at all. Maybe the offer changed or the timing is wrong. With only two buttons, they'll either approve it and tell you separately, or type "don't run this" into a change request. The second one looks like a revision brief, and someone rewrites a post that was already dead.
A plain "no" doesn't need a reason attached. Your next step is a short conversation.
Put a time and a time zone on it
"By Thursday at 5 p.m. ET, so it can go out Monday" works better than "this week." It gives the client a reason, and it tells you exactly when to follow up.
Match the window to the content. A short social post might need a day. A newsletter, or anything a lawyer has to read, needs more.
Here's a review request that puts all of that together:
Subject: 3 pieces from your spring pricing post, for approval by Thursday
Hi Dana,
Your spring pricing post is live, and we've turned it into a LinkedIn post, a newsletter section and an X thread. They're all at the link below, and you won't need a login.
Could you check the names, the numbers and the offer, and let us know by Thursday at 5 p.m. ET? That keeps them on track for Monday.
For each piece you can approve it, ask for changes, or tell us not to run it.
When the client goes quiet
This is where most approval processes quietly fall apart, and most guides say the least about it.
Why "no reply means approved" is a bad rule
Some approval guides suggest writing it into the contract: if the client doesn't answer within a set time, the work counts as approved. It's tempting. It's also the rule most likely to damage the relationship it's meant to protect.
Content goes out under the client's name. If they didn't answer because they were on vacation, out sick or waiting on legal, the first time they see the post is when their customers do. A wrong price or a quote from someone who has left the company is now public. "You didn't reply" is a weak position to argue from.
The costs aren't even close. Holding a post for three more days costs some timing. Publishing something the client would have stopped can cost the account.
GoMimic learned this the direct way. It used to offer automatic approval after a set number of days, and removed it after finding it had approved posts whose clients hadn't been able to open the review link. Now a link that runs out simply expires. It never counts as a yes.
Follow up on a schedule, not from memory
Decide when you'll follow up at the moment you send, not when you notice the silence. For a Thursday deadline, a reasonable pattern is a nudge the day before, then a short note on the day.
Hi Dana, a quick reminder that the three pieces from the spring pricing post need your yes by tomorrow at 5 p.m. ET. They're short, and you can approve all three at once.
Hi Dana, today's the day we need these to keep Monday. If Monday no longer works, just say so and we'll move them.
Keep each follow-up shorter than the last, and make answering easier each time rather than making the silence feel worse.
Go to the backup approver
If the deadline passes, go to the backup you named at kickoff. Frame it as protecting their schedule. Nobody wants to be the reason a colleague got chased.
Hi Sam, Dana usually approves our posts for your team, and we haven't been able to reach Dana this week. Could you take a quick look at these three pieces so Monday's posts can go out? If you'd rather wait for Dana, that's fine too. We'll hold them.
Hold the posts, and say so
When nobody answers, don't publish, and don't go silent either. Tell the client the posts are on hold and what it takes to restart them. That turns the silence into a decision they can see.
Hi Dana, we've held Monday's three pieces because we didn't get a yes. Nothing will go out until you approve it. When you're ready, reply here and we'll send a fresh link.
Revisions without the loop
Most revision loops start with feedback that doesn't say what to change. "Make it punchier" produces a second draft that's punchier in the wrong place.
- Ask for changes against the specific piece and line, not in a separate email.
- Collect a full round of feedback before revising. Two people's notes arriving a day apart means two rounds.
- Agree on a number of rounds at kickoff. A piece that goes past it usually points to a problem with the brief or the voice, and another edit won't fix that.
- Treat "not approved" as final for that piece. Don't rescue it with a rewrite unless the client asks for one.
Keep a record you can point to
Sooner or later someone asks who approved a post. It's usually a colleague of your contact, the day after a post they didn't expect.
The answer should take a minute to find: which piece, who approved it, when, and what they said if they asked for changes.
Email can hold that in theory. In practice it ends up split across inboxes and forwards. Whatever you use, keep each decision attached to the piece it's about, with a name and a time on it. It's also one of the questions worth asking any tool before you buy it.
Set it up once per client
Most of the friction above goes away if you agree on the rules at kickoff, instead of discovering them on the first late post. One page per client covers it:
- Who approves, and who approves when they're out.
- Whether the approver can say yes alone, or needs to check with someone.
- The usual review window, and how much notice you'll give.
- What they should check, and what they can leave to you.
- What happens when there's no reply: the posts wait.
- How many revision rounds are included.
Some clients don't want to review every post at all. That's fine. Agree on it, and write down that they chose it.
Some agencies also put the review window and the hold rule into the contract or statement of work. That's worth doing, but have whoever handles your contracts write the wording. Nothing here is legal advice.
Where GoMimic fits
GoMimic is built for agencies that repurpose client blog posts, and approval is part of that job. When a set of pieces is ready, you send the client a review link:
- The client opens it without an account or a password, and can approve pieces one at a time or all at once.
- Each piece gets one of three answers: approve, request changes or not approved.
- Nothing reaches you until the client submits, so a client who changes their mind halfway through doesn't send you a stream of half-decisions.
- You pick the review window when you send, from 12 hours up. When it runs out, the link expires. It never approves anything by itself.
- If a link went to the wrong person, you can withdraw it.
- Comments show up next to the piece they're about.
- On the Agency plan, reminders go out automatically, up to five per link, and you can add a second approver.
Approval is a setting per client, so clients who don't review content can skip it. Once pieces are approved they can go on to Slack, Google Drive or your scheduler through a webhook. How it works has the rest.
The follow-up calls and the conversation about a late yes are still yours. No tool should be having that conversation for you.
Turn your published blogs into ready-to-post assets in 60 seconds
GoMimic remembers every client's voice. No prompts to write.
Start Free TrialThe short version
- Name one approver per client, plus a backup.
- Send one set of pieces per post, not a message per piece.
- Tell the client what to check and what to leave to you.
- Offer three answers: approve, request changes, not approved.
- Put a date, a time and a time zone on every request.
- Decide your follow-ups when you send.
- When nobody answers, hold the posts and say so. Silence is not a yes.
- Keep each decision attached to the piece, with a name and a time.
More from GoMimic
How to Build a Content Distribution System for Your Agency (Without Adding Headcount)
A practical system for turning every client blog post into LinkedIn, newsletter, X and outreach pieces, without adding headcount.
Agency opsWhy ChatGPT Breaks Down When You're Managing 20 Clients
ChatGPT works brilliantly for one client. Here's exactly where it breaks for agencies managing multiple accounts, and what to do about it.
Turn your published blogs into ready-to-post assets in 60 seconds
GoMimic remembers every client's voice. No prompts to write.
Start Free Trial