A social media approval workflow with unlimited team members on every plan
Six roles, inline comments, client review links that work without a login, and a full activity audit log — and nobody is a line item. There is no seat count anywhere in WDIBoard's plans, including Free.
Adding a client-approver shouldn't cost more every month
Most social tools charge per seat. Add a client-approver who only needs to see drafts twice a week, and the bill goes up the same as if you'd hired a full-time editor — punishing exactly the workflow an agency needs most: pulling more people into review, not fewer.
WDIBoard doesn't have a seat count. There is no seats_limit in the plan schema, on any tier — add every editor, contributor, client-approver and analyst you work with, on the Free plan, and the price does not move.
Unlimited team members, including on Free
This is the strongest structural difference between WDIBoard and tools that bill per user: there is nothing to count.
Industry norm for social tools is to charge per seat, which means the cost of collaborating scales with team size, not with what you actually publish. WDIBoard's plans scale with brands, monthly posts and analytics history instead — see the exact numbers on pricing — and team size is simply not one of the numbers. An agency running one brand for a client can put its whole account team, plus the client's own approver, into that workspace at no extra cost, on the Free plan.
Six roles, each with a specific job
Every workspace member holds one of six roles, defined in the platform's own role enum, not a marketing simplification of a more complicated permission system underneath:
| Role | What it's for |
|---|---|
| Owner | Full control of the workspace, including billing and every brand and channel inside it |
| Admin | Manages brands, channels and members without necessarily owning billing |
| Editor | Creates, edits and schedules posts, and can approve content for publishing |
| Contributor | Drafts posts and comments, but doesn't approve or publish them |
| Client-Approver | Reviews and approves or rejects posts — the role built for a client who needs sign-off but not full access |
| Analyst | Reads reporting and analytics without touching drafts or publishing |
The roles map onto how agency work actually splits: a contributor drafts, an editor refines and approves internally, a client-approver signs off externally, and an analyst reports on what happened after — without any of them needing access to the parts of the workspace that aren't their job.
The post lifecycle: every state a post can be in
A post moves through an explicit sequence of named states, not an implicit "is it done yet" that only the person who last touched it understands:
- Draft — being written, not yet submitted for review
- In review — submitted, waiting on a comment or a decision
- Approved — signed off, waiting for its scheduled time
- Scheduled — queued to publish at a specific time
- Publishing — the publish job is running right now
- Published — live on every target network
Two more states exist because real publishing isn't always clean: Partially published, when a post targeting several networks succeeds on some and fails on others, and Failed, when it doesn't go out at all. Publish jobs are idempotent with external-id dedup and exponential backoff, and failures carry an error taxonomy — retryable, auth-expired, content-rejected, or rate-limited — so a failed post tells you why, not just that it didn't work.
One post's actual path, state by state
Here's what the roles and the lifecycle look like combined, following one post from first draft to publication:
-
Draft — a Contributor writes it
A contributor on the client's account drafts a post for the week's campaign and submits it. The post is now in the Draft state, visible to everyone in the workspace with access to that brand.
-
In review — an Editor leaves an inline comment
An editor opens it, moves it to In review, and leaves an inline comment directly on the post asking for a different call-to-action line. The contributor edits and resubmits. The comment thread stays attached to the post, so the history of what changed and why doesn't live in a separate chat app.
-
Approved — a Client-Approver signs off, no login required
The editor sends the client a review link. The client — who has a Client-Approver role but has never created a WDIBoard account — opens the link, sees the post exactly as it will publish, and approves it. The post moves to Approved. The client never touched a login screen.
-
Scheduled → Publishing → Published — the queue takes over
The post sits in Scheduled until its time slot arrives, moves briefly through Publishing while the job runs, and lands in Published once every target network confirms. If one network fails while others succeed, the post shows Partially published with the specific failure reason next to the channel that didn't go out.
Client review links that don't require an account
The external client review link is the piece that makes Client-Approver a role a real client will actually use. A client who has to create and remember a password for a tool they touch twice a month either does it once and forgets the login, or never does it at all — and then approvals route back through email screenshots, which is the exact chaos a formal workflow is supposed to replace.
WDIBoard's review link opens the post directly, with full context, and records the client's decision against their Client-Approver identity in the workspace — no account creation, no password, no "forgot your login" support ticket.
The audit log: what it records, and why "who approved this" needs an answer
Every workspace keeps a full activity audit log. When a post moves between states — drafted, commented on, edited, approved, scheduled, published, or rejected — the log records who did it, what the action was, and when it happened.
That matters the first time a client disputes a post that went out. "Who approved this?" is a normal question, not an accusation, and a workspace that can only answer it with "I think it was probably fine" has a real gap. The audit log turns it into a specific answer: this Client-Approver approved this exact version of this post, at this time, and here is the editor's comment thread that preceded it. That's also what protects the agency's own team — if a post published with an error, the log shows whether it was approved as submitted or changed after the fact.
Workspace → Brands → Channels: how multi-client accounts stay separated
A WDIBoard workspace holds one or more brands, and each brand holds its own connected channels. An agency running several clients keeps each client as a separate brand inside one workspace, rather than juggling separate logins or separate tools per client. A team member's role can apply at the level that makes sense for their job — an analyst reading cross-client reporting, or a client-approver who should only ever see the one brand they're the client for.
Approval workflows — the roles, the lifecycle, inline comments, review links and the audit log — are available on every plan, including Free. None of it is held back for a higher tier. See the full plan breakdown on pricing.
Who this is for
Agencies running client work where every account needs a client-approver, and a per-seat tool would make each new client relationship more expensive to staff. In-house teams with a real review chain — a contributor drafting, a manager approving, a legal or brand reviewer occasionally weighing in — who need that chain to be visible instead of happening over email. And anyone who has been asked "who approved this?" after something published wrong and didn't have a real answer.
Frequently asked questions
Is there really no limit on team members?
Correct. There's no seat count on any plan, including Free — add as many Owners, Admins, Editors, Contributors, Client-Approvers and Analysts as your work needs, at no extra cost.
Does my client need to create an account to approve a post?
No. External client review links open the post directly and record the approval decision without the client ever creating a WDIBoard login.
What are the six workspace roles?
Owner, Admin, Editor, Contributor, Client-Approver and Analyst. Each has a specific scope, from full workspace control down to read-only reporting or approval-only access.
What states can a post be in?
Draft, In review, Approved, Scheduled, Publishing and Published, plus Partially published and Failed for the cases where a multi-network post doesn't go out cleanly on every channel.
Is approval workflow a paid-plan-only feature?
No. Roles, inline comments, client review links, the post lifecycle and the audit log are all available on every plan, including Free.
Can I see who approved a specific post later?
Yes. The activity audit log records who took each action on a post — drafted, commented, edited, approved, scheduled, published or rejected — and when, so "who approved this?" always has a specific answer.
How do I keep multiple clients separated in one account?
Each client is set up as its own brand inside your workspace, with its own connected channels. Roles can be scoped so a client-approver only ever sees the one brand they're approving for.
Build your whole review chain in, without paying per seat
Get early access — six roles, client review links, unlimited team members.
Get early access