Social media approval workflow: steps and template

    A client approval process that works: who approves what, the steps, a template to copy, and how approval links work without client accounts.

    Updated · 10 min read · Prices and limits checked against the vendors' own pages and APIs on that date.

    A social media approval workflow is the fixed route a post takes from draft to published: who writes it, who checks it, who has the final yes, and the rule that nothing goes out before that yes. The smallest version that works has four moves: a brief, a draft, one internal check and one sign-off by the account owner. Add scheduling, publishing and a record, and you have the seven steps below.

    Most guides stop at the diagram. This one also covers what they leave out: what happens when a post is edited after approval, how long a link should live, what counts as a record, and a sensible turnaround. The tool section is written by a company that sells a scheduler; the process works in a spreadsheet too.

    The workflow in seven steps

    The steps are the same for an agency, a freelancer and an in-house team. Only the person in step 4 changes.

    1. Brief

    Who: the account manager or the client. Output: one paragraph per post or per week: the goal, the network, the message, anything that must appear (a legal line, a discount code) and the publish date.

    The usual trap: the brief lives in a call, and the approver judges the draft with no memory of what they asked for. Write it down, even in two lines.

    2. Draft

    Who: the writer or designer. Output: the caption, media, link and networks as they will go out: the post itself, not a document about it.

    The usual trap: drafting once and posting everywhere. Draft per network where the networks differ, and check each against its real limits.

    3. Internal check

    Who: a colleague, or the freelancer themselves a day later. Output: a corrected draft or a list of fixes.

    The usual trap: skipping it in a one-person business. Use a checklist: spelling, the link opens, the right file, alt text, the time zone, the right account. The client should spend their time on the decision, not on typos.

    4. Client or owner approval

    Who: the person who answers for the account: the client, the brand manager or the founder. Output: one of two answers, approved or changes wanted, with a note when it is the second.

    The usual trap: an email thread where the post is a screenshot, three people reply, and nobody can say which version was approved. Send the post itself, in one place, for one answer.

    5. Schedule

    Who: the person who runs the account. Output: the post in the queue with its time on each network.

    The usual trap: scheduling first and asking later. A queued post goes out when its time arrives, whether or not the client has read the message. Hold it until approval, or make the tool hold it.

    6. Publish

    Who: the tool, at the scheduled time. Output: a live post on each network.

    The usual trap: approval arrives after the slot has passed. Decide the rule in advance: publish on approval, or move to the next free slot.

    7. Record

    Who: the account manager. Output: a note of who approved what and when, kept where you can find it in a year.

    The usual trap: the record is an email thread that never says which version was meant. This step decides who is right when a client says "I never approved that".

    Who approves what

    An approval workflow fails when everybody can approve everything. Give each role a narrow job and write it down.

    RoleApprovesDoes not approve
    Writer / designerTheir own draft is ready to be checkedTheir own post for publishing
    Social media managerCraft: tone, format, spelling, links, network rules, timingClaims about the client's products, prices or legal matters
    Client or brand ownerSubstance: facts, offers, tone of voice, what the brand says in publicNetwork technicalities such as aspect ratios or character counts
    Legal or compliance (where it applies)Regulated claims, disclosures, competitionsCreative choices

    How many rounds? One with the client is the target, two the ceiling. A third means the brief was unclear: go back to step 1. Internal review is a separate round the client never sees.

    How long should it take? Write a service level into the agreement, in working days. A workable default is 24 hours for internal review and two working days for the client, with a reminder after the first. For urgent posts, agree in advance who may approve by phone and what you log afterwards. If the client is silent past the deadline, the post does not go out, and the agency says so.

    A template you can copy

    Keep one row per post in a spreadsheet or a project card. The columns matter more than the software.

    FieldWhat goes in it
    CampaignThe brief it belongs to
    Network and accountWhich channel, written out in full
    CaptionThe exact text that will be published
    MediaFile names and alt text
    LinkThe URL, tracking parameters included
    Publish date and timeWith the time zone
    ApproverOne named person
    StatusDraft, Internal check, Sent to client, Changes wanted, Approved, Scheduled, Published
    NotesWhat was asked for, in the approver's own words
    Date of decisionThe day and time of the yes, or of the request for changes

    One filled-in row looks like this:

    FieldExample
    CampaignSpring menu launch
    Network and accountInstagram, @bistro.example
    Caption"The spring menu is here. Wild garlic, asparagus and a rhubarb tart we have been saving since March. Book a table, link in bio."
    Mediaspring-menu-01.jpg (alt text: a plate of asparagus with poached egg)
    Linkhttps://bistro.example/book
    Publish date and timeWednesday 14 April 2027, 11:30 Europe/Prague
    ApproverJana Nováková, owner
    StatusApproved
    NotesChanged "launch" to "is here"; price removed on request
    Date of decision13 April 2027, 16:05

    Two rules make it work: a post moves to Scheduled only from Approved, and any change to caption, media, link or networks puts it back to Sent to client. Most teams never write the second one down.

    Preflight turns steps 4, 5 and 7 into one object, the approval link. This is how it behaves on 8 October 2026, checked against the code.

    No account for the client. You open a post in the dashboard, optionally type the name of the person you are asking, and press "Make an approval link". The link is copied to your clipboard and shown once; only a hash of it is stored, so it cannot be shown again. The client opens it in a browser, with no registration, password or invitation.

    What the client sees. A page headed with your workspace's name, saying that you would like their approval, with the post as it will go out: the media, the full caption, the link, and each network with the account name and its publish time. Below that are a field for their name, a box for a comment, and two buttons: "Approve and publish" and "Ask for changes". A request for changes must include a note. Times are shown in the client's browser time zone.

    Three states. The post is pending from the moment you make the link, not from the moment the client opens it. It becomes approved or changes when they answer. While it is pending or in changes, it cannot publish. Two separate checks enforce this: the scheduler will not pick the post up, and the publishing job checks again before sending. A video already uploaded to YouTube to go public at its time is put on hold (private) when you ask, and gets its time back on approval; if YouTube refuses to hold it, no link is made.

    One decision per link. A second answer from the same link is refused; the page becomes a read-only record of what was said, by whom and when. If they change their mind, you send a new link. An approval that can be flipped afterwards is not a record. There are no comment threads; changes come back as one note, shown next to the post.

    Expiry and withdrawing. A link made from the dashboard lasts 30 days. The endpoint behind it accepts any length from 1 to 180 days. An expired, withdrawn or non-existent link shows the same message. You can withdraw a link at any time from the post. If the last live link is withdrawn while the post is pending, the post is released and goes back to being an ordinary scheduled post.

    Approved after the time has passed. The post is published at once instead of waiting for the next slot. If the time is still ahead, it goes out at the time you set. The confirmation page tells the client which of the two will happen.

    Editing an approved post. Changing the caption, the link, the media, the alt text, the networks or their settings sends the post back to "changes", and it waits for a new link. Changing only the time keeps the approval. For typos the editor offers a "Small fix, keep the client's approval" checkbox; the call is yours, so use it for typos only. The API flags such an edit with approvalNeedsRenewal: true (documentation).

    Who sees what. Each decision, with the typed name, comment and time, is stored per link and shown on the post to your workspace's members. The name is not verified; the link is the credential, so send it to a person, not a group address.

    Plans. Approval links are not gated by plan in the code, and the pricing page lists them under every plan. Seats differ: Free and Starter have one, Pro three, Studio ten, so a second person for the internal check needs Pro or above. Limits are on the pricing page.

    What goes wrong in approval processes

    Approval by email thread. Screenshots, three replies, no way to say which version was approved. *Process fix:* one place, one named approver. *Tool fix:* the client sees the post itself and answers once.

    The approved text is changed. A typo fix becomes a rewrite. *Process fix:* any change to caption, media, link or networks goes back to step 4. *Tool fix:* editing an approved post resets it, and keeping the approval is a deliberate tick.

    The client approves on a phone, in a hurry. *Process fix:* one post, one question. *Tool fix:* the approval page is a single column with the post and two buttons.

    The time does not match. The agency means 09:00 in one zone, the client reads another. *Process fix:* write the time with its zone. *Tool fix:* the client's page shows the time in their own browser zone, so a mismatch is visible before approval.

    Nobody owns the decision. The link is forwarded twice and everyone assumes someone else looked. *Process fix:* one named approver per account, with a deputy. *Tool fix:* a link made for a named person, and a record of who answered.

    The post goes out while the client is still thinking. *Process fix:* never schedule what is not approved. *Tool fix:* a post sent for approval is held, whatever its time.

    Choosing a tool

    Four questions separate the tools.

    1. Does the client need an account? A seat costs money on some plans and a password on all. A link removes both.
    2. Is there a record? You want the decision, the note, the name and the time attached to the post.
    3. What happens when an approved post is edited? Ask the vendor; the answer is often "nothing".
    4. What does it cost for the number of clients you have? Compare per-seat and per-channel pricing at your real size.

    Prices below are the vendors' own, monthly billing, read in October 2026.

    ToolWhere client approvals startClient needs an account?
    PreflightEvery plan, free to $64No, a link
    KontentinoStandard, €109 (Starter is internal only)Role in the workspace or a calendar link
    MetricoolAdvanced, $67Yes
    HootsuiteAdvanced, $399 per userYes, a seat

    Kontentino has the most complete approval flow in this group: comment threads per post, tasks, a client-facing calendar and a history. Preflight has none of the task management and no threads, only one note per decision, and it posts text only to X. If clients want to discuss each caption inside the tool, Kontentino fits better; if they want to press a button and move on, a link is lighter. See Preflight vs Hootsuite and Preflight vs Metricool.

    Whatever you choose, test it first: request approval, approve, edit the caption, and see what the tool does.

    Questions people ask

    What is a social media approval workflow?
    It is the fixed route a post takes from draft to published: who writes it, who checks it, who gives the final yes, and the rule that nothing is published before that yes. The minimum is a draft, one internal check and one sign-off by the account owner, with a record of the decision.
    How many approval rounds are normal?
    One round with the client is the target and two is the ceiling. Internal review is a separate round the client never sees. If a post needs a third round, the brief was unclear, so go back to the brief rather than editing the caption again.
    Can a client approve posts without an account?
    In Preflight, yes. You send a link; the client sees the post with its media, caption, networks and times, and either approves or asks for changes with a note. They create no account and set no password. The link answers once, lasts 30 days from the dashboard and can be withdrawn.
    What happens if I edit a post after approval?
    In Preflight, a change to the caption, link, media, alt text, networks or their settings sends the post back to changes and it waits for a new link. Moving only the time keeps the approval, and the editor has a deliberate 'small fix, keep the approval' option for typos.
    Which plans include approval links?
    All of them. Approval links are not limited by plan; the pricing page lists them for every plan including Free. What differs between plans is seats, channels and posts per month, so a second person for an internal check needs Pro or above.

    Write it once. Let the rules be our problem.

    Preflight checks every post against each network's rules before it leaves, then publishes it to twelve networks. Free plan, no card.