Workflow7 min read

Approve first, schedule second

Most tools are schedulers with an approve button bolted on. That ordering is the reason you build the same calendar twice.

Almost every social tool you have used was built for a brand posting its own content. Approval arrived later, as a feature request. You can still feel it in the way they work.

The data model assumes the post is going out. Scheduling is the main event; approval is a checkbox attached to it. So the flow becomes: build the calendar, fill the slots, then ask permission, and when permission does not arrive cleanly, unpick the calendar and build it again.

Ordering is not a detail

If you schedule and then seek approval, every piece of feedback is a rescheduling job. Move the post, free the slot, work out what fills it, check you have not now got two carousels on a Tuesday. The creative change takes ten minutes. The calendar surgery takes the rest of the afternoon.

Do it the other way and feedback costs what it should cost. Nothing is scheduled yet, so nothing has to be unscheduled. The month is a proposal until the client says yes, and only then does it become a timetable.

Schedule first

  • The calendar is built before anyone has agreed to it
  • Every revision is also a rescheduling task
  • Approval is a checkbox on a post that is already queued
  • Half-approved months, with some posts live and some in limbo
  • Someone has to remember what is still waiting

Approve first

  • The month is proposed as a month and reviewed as one
  • Revisions touch the creative, not the timetable
  • Approval is the gate that creates the schedule
  • A month is either agreed or it is still in review
  • Approved work places itself

Approve the month, not the post

The other habit worth breaking is approving one post at a time. Post-by-post approval feels responsive and is actually the slowest possible arrangement: it converts one review into twenty separate interruptions, each with its own notification, its own context switch and its own chance to be ignored.

Clients are better at batch decisions than at trickled ones. Give them the month, in one place, in the order it will appear. They will get through it in a sitting, and the feedback will be more coherent because they can see the shape of the whole thing rather than judging each post in isolation.

A month reviewed in one sitting produces better feedback than the same month reviewed twenty times.

What has to be true for this to work

The client has to see a month that looks like a month

A list of rows is not a month. If you want a batch decision, show the feed as it will appear, the calendar as it will run, and let them move between the two. The review has to be as easy to skim as it is to go deep on.

Approved has to mean scheduled, with no human in between

If someone on your team has to take an approved post and place it, then approval has not gated anything, it has just added a step. The moment a month is approved, the work should be in slots, inside the hours the client agreed to at onboarding.

Failures have to handle themselves

Networks time out. Aspect ratios get rejected. Tokens expire. If a failure quietly becomes a task on a human’s list, your approve-first system has a hole in it exactly where it hurts most, after the client has signed off and stopped paying attention. Retries, pre-flight checks and plain-language failure reasons are not nice-to-haves here; they are what makes the model safe.

Nothing should ever need exporting

The moment an approved asset has to be downloaded and re-uploaded somewhere else, you have reintroduced the gap the whole model exists to close. That gap is where the wrong cut goes live.

What this looks like in Ovia

Approval is the gate, not the checkbox. Your client reviews the month as a month and signs off in one sitting. Approved posts move into slots on their own, inside the posting windows the client set during onboarding, with captions, tags and first comment attached.

Publishing queue · this week
Rooftop pool reelInstagram · Reel · Thu 11:40
Scheduled
Autumn menu carouselInstagram + Facebook · Fri 09:15
Scheduled
Spa promo · TikTokNetwork timed out · retried on its own
Published

Approved on Tuesday. Nobody scheduled any of this by hand.

When a network fails, it retries. When something is going to be rejected before it is sent, it gets fixed first. Nothing gets exported, and nobody has to remember to publish.

Approval that actually gates the calendar.

Your client signs off the month in one sitting. Approved work places itself, retries on failure, and never needs exporting.

Start a free trial
Keep reading
The report that renews the retainer
Reporting · August 7, 2026

The report that renews the retainer

Stop rebuilding the same workspace
Onboarding · August 18, 2026

Stop rebuilding the same workspace for every client

The next era of
social media work.
Run on .

Client collaboration, perfected. The busywork, automated. Publishing that never fails and reporting that renews the retainer.