Approval workflow for agencies
composed / accountable / precise
Nothing publishes without a name beside it.
Approvalrail holds every client post in one queue and refuses to release it until an approval is on the record, with a reviewer name and a timestamp.
Free to read the queue and send one live client review link. No card.
Northgate Dental
1 pending of 2
- PendingXSat 19 Sept, 01:32
Five fluoride myths we hear in the chair every week, and the one sentence we answer each with. 1. It is a new...
Cut from Five fluoride myths patients still repeat
- ApprovedInstagramFri 18 Sept, 03:32
Meet Rosa, who joined us this month as our third hygienist. She has spent nine years in community clinics and...
Approved by Dana Reyes on 17 Sept, 00:32
Lumen Fitness
0 pending of 2
- RejectedLinkedInNo slot booked
Winter programming is the part of the year most gyms get wrong. We rebuild the block around three things: shor...
Rejected by Priya Shah on 16 Sept, 21:32
Shorten the intro. Open on what changed for members, not on other gyms.
- ApprovedThreadsFri 18 Sept, 16:32
New class schedule from Monday. Two extra strength slots at 06:30, the Saturday conditioning class moves to 09...
Approved by Priya Shah on 17 Sept, 07:32
The approval ledger
Six accounts, one queue, one rule.
This is the queue itself, running on the same seeded rows a new account gets. Each row carries its client, its platform, its slot and the state that decides whether it can be released.
The release is the gate
Release to schedule only unlocks on a row a client has approved. On every other row the button stays visible and disabled with the blocking state named, so an account manager can see who is holding the queue without asking.
A review link your client can actually read
No login, no seat, no invite. The post renders in its platform shape, and approving puts the reviewer's name on the record.
One asset, platform-native drafts
Paste a blog post, pick the client and the platforms, and each draft lands in the queue with a visible line back to the asset it was cut from.
The paper trail writes itself
Every state change writes an immutable row: who moved it, when, and the rejection note in their own words. The argument about what was approved never happens twice.
Grouped by client, not by date
Six accounts read as six sections, each with its own pending count, rather than one endless list.
Rejections come back with a reason
A reject needs a note. It lands on the queue row verbatim, so the rewrite starts from what the client said, in the words the client used. Edit the draft, send it again, and the ledger keeps both rounds.
How a round goes
Asset in, approval on the record
Four steps, and the last one is the only way a post leaves the queue.
- 1
Paste the asset
One long-form piece, a client account, and the platforms you want. The repurposer writes a draft for each one.
- 2
Send for review
Each draft gets a link with no login behind it. Send it in whatever channel the client already answers in.
- 3
The client decides
Approve with a name, or reject with a note. Either way the decision is timestamped and immutable.
- 4
Release to schedule
Approved rows unlock. Everything else stays blocked, and the queue says exactly why.
Counted, not claimed
Platforms the repurposer drafts for
5
States every post moves through
4
Approval required before a release
1
Logins a client reviewer needs
0
| Feature | Approvalrail | PostPeer |
|---|---|---|
| Client sign-off before publish | A hosted review link per post. Release is refused until an approval is on the record. | Not offered as a product surface; you build the screens yourself. |
| Audit trail | Reviewer name, timestamp and note on every state change, kept as immutable rows. | API logs, no human record of who decided what. |
| Who it is for | Agency account managers and the clients who sign off. | Developers and AI agents wiring endpoints. |
| Turning one asset into many posts | Paste a long-form asset and get platform-native drafts in the queue, each linked to the source. | You send finished content, per platform, already written. |
| Queue visibility | One board across every client account, with the approval state on each slot. | Query the scheduling endpoint and render it yourself. |
| Reporting | Approval turnaround, rejection reasons, and who is holding the queue. | Platform metrics and comment endpoints. |
| Setup | Sign in, paste an asset, send a review link. | API key, SDK wiring, and hosting your own interface. |
Pricing
One plan, one price
Free while you are reading the queue. Nineteen dollars a month when the agency runs on it.
Free
Read the queue, run one live client review link.
$0
forever
- The full approval queue
- One live client review link
- Six repurposer runs a month
Agency
RecommendedFor an agency running every client account through one queue.
$19
per month
- Everything in Free
- Unlimited review links and repurposer runs
- Turnaround reporting per client
- Cancel from the billing portal
One plan, monthly, cancelled from the Stripe billing portal whenever you like. The amount is charged by Stripe, so what you see at checkout is what you pay.
Questions
Before you send the first link
Does Approvalrail publish the post for me?
Not at launch. A release is recorded against the slot, with the approval attached, and the post goes out through whatever you already use. The rule we enforce is that nothing leaves the queue unapproved.
Does the client need an account?
No. The review link opens without a login. They read the post as it will appear, type their name, and approve or reject with a note.
What stops someone releasing a post nobody approved?
The action itself. Release checks the state on the server, not in the browser, so a rejected or pending row cannot be released even by someone who goes looking for the button.
What happens to a rejection?
The note is stored with the reviewer name and the timestamp, and shows on the queue row word for word. Edit the draft and send it again; both rounds stay in the ledger.
Where do the drafts come from?
You paste one long-form asset and choose the platforms. Each draft keeps a line back to the source asset title, so the client can see what it was cut from. Drafts are editable before anything is sent.
Put the sign-off on the record.
Create an account and the demo workspace is already in the queue, states and all.