How to get clients to approve social media posts without email chains
Clients slow to approve posts? Here's a simple social media approval workflow for freelancers: one link, a clear deadline, and no more email chains.

At the end of 2025, our co-founder Thomas was spending about two hours every evening posting content by hand. He'd shoot for clients all day, then sit down at night to download videos and paste captions, one account after another, for more than ten clients.
He had a scheduler. The problem was that nothing could go into it until the client had approved it, and approvals arrived late. Clients couldn't play the videos back properly in the shared Notion pages, so they'd reply hours later, or not at all, and he'd end up posting manually once they did.
If that sounds familiar, this post is for you. It covers a simple way to get clients approving posts on time.
Why clients don't approve on time
It's tempting to blame busy clients. Usually, though, the approval process asks too much of them. Look at what a typical approval involves from the client's side:
- Open an email with a Google Drive link
- Request access, because the link was set to private
- Download a 200MB video to their phone
- Find the caption in a separate document
- Reply with feedback, in a thread that also has last week's feedback in it
Every step is a chance to put it off until later. Later becomes tomorrow, and the post goes out late or not at all.
The second reason is that there's no deadline. If a client doesn't know approval is due by Monday at noon, they'll get to it when they get to it.
What a good approval workflow looks like
The goal is to get each approval down to a single tap, with a clear default if the client doesn't respond.
Send one link, not a folder
The client should open one link and see the post as it will appear: the video playing, the caption underneath, the date it's going out. No downloads, no logins, no hunting for the caption.
If you're using a spreadsheet or Drive today, even a shared page with embedded video and the caption beside it is a big step up.
Ask for one decision per post
Each post should have two buttons, or the equivalent: approve, or request changes. Open questions like "what do you think?" invite long replies and second thoughts. A yes-or-no question gets a yes or no.
When a client does request changes, keep that feedback attached to the post itself. You don't want to search an email thread a week later to find out what "make it punchier" referred to.
Set a deadline and a default
Agree this at onboarding, in writing. Something like:
"Content for the following week will be sent for approval by Thursday. Please approve or request changes by 12pm Monday. Anything not reviewed by then will be published as planned."
Some clients will want the default to be "held, not published". That's fine too. What matters is that both of you know what happens when nobody replies.
Batch approvals weekly
Sending posts one at a time trains clients to treat each one as a small interruption. Sending a full week at once makes approval a single task they can do in five minutes. Pick a day and stick to it, so it becomes part of their routine.
Keep a record of sign-off
Occasionally a client will say they never approved something. A timestamped approval protects you, and it's far easier to point to than an old WhatsApp message.
How to introduce the change to existing clients
Clients who are used to email may resist a new process. Keep the message short and frame it around saving their time:
"From next week, I'll send your content as a single link each Thursday. You can watch each post and tap approve or request changes. It should take five minutes. If I haven't heard back by Monday lunchtime, I'll post as planned."
Send one test post through the new flow first, so the first real link isn't a surprise.
Tools that handle approvals
You can run this workflow with a shared doc and good discipline. Most freelancers move to a tool once they have three or more clients, because chasing approvals across several accounts gets messy quickly.
The thing to check is which plan includes approvals. Several popular schedulers keep them on higher tiers. At the time of writing, Later includes them from its Growth plan ($37.50 a month billed yearly), Buffer from Team ($10 per channel a month billed yearly) and Metricool from Advanced (from €43 a month billed yearly).
We built Koda around this problem after Thomas's evenings of manual posting. Clients get a clean link showing the actual post, video included, with approve and request-changes buttons and no account to create. You get a push notification on the iPhone app when they approve or ask for changes. If a client signs off after the scheduled time has passed, Koda sends you a heads-up so you can decide what to do. Approved posts publish to Instagram automatically.
Approvals are included on every plan, from £19 a month for up to three clients.
A quick checklist
- Approval deadline agreed in writing at onboarding
- Default agreed for posts nobody reviews
- One link per batch, with video that plays in the browser
- Approve or request changes on each post
- Feedback kept on the post, not in email
- Same send day every week
FAQ
What should I do if a client never approves anything?
Treat it as part of the contract. If the agreed default is to post, post. If it's to hold, hold, and note in your monthly report that content was held for approval. Missed posts that are clearly the client's delay rarely become your problem twice.
Should clients be able to edit captions themselves?
It's usually better if they request changes and you make them. That keeps the brand voice consistent and stops edits landing after you've scheduled the post.
Do approval links need to be private?
Yes. Each client should only see their own posts. Check that your tool's approval link doesn't expose other clients or your internal notes.