Client Reviews

Send a batch.
The client decides through a link.

The slowest part of agency work is rarely the work. It's the back-and-forth with the client. Screenshots in Slack, a spreadsheet of captions, eight email threads with the same subject line. Client review batches put a private link in front of the people who need to sign off, and the round-trip becomes a tracked object instead of a chase.

Pick the posts. Invite reviewers by email. Set the policy (any one approves, or all must agree). Send. The client opens the link, scrolls the list, and decides post by post: approve, request changes, comment, attach a markup. Every decision lands back on the post itself with a version stamp.

The review link reads from the same workspace as the calendar and the composer, so the post the client sees is the post you scheduled. Same native preview, same media, same scheduled time. Pair it with the broader approval workflow if your team needs to sign off first, or run it inside a client workspace on the agency plan.

How A Client Review Batch Works

Approvals that act like
approvals, not threads.

The most-upvoted complaint on competitor feedback boards is some version of "my client refuses to log in to another platform." The review link exists to skip that. Reviewers identify with the email address you invited and read straight into the batch. No seat, no password, no "reset my login please" email at 8pm.

Pair this with the proposal template so new clients know what to expect before the first batch goes out, and the monthly report template to close the loop after the campaign runs.

Tokenized link

No login required

Each batch produces a per-batch /review/:token URL. The reviewer identifies by the email you invited. No password, no signup, no seat on your plan.

Any or all

Decision policy per batch

Pick whether one reviewer's approval is enough, or whether every invited reviewer has to agree before the post is signed off. Set per batch.

Four workflow modes

direct, internal, client, internal_client

No review, team only, external client only, or team approves first then client signs off. Same calendar, four routes. The post knows which stage it's in.

Comments and markups

Up to 2,000 chars

Per-post comments with optional image attachments. Reviewers can also drop a screenshot or scribble straight onto the thread instead of emailing it.

Admin override

With written reason

Admins can override an item with a required reason. Status flips to admin_overridden, the rationale is preserved against the batch, scheduling continues.

Versioned history

Approval History view

Every resolved batch is recorded: who decided, when, which version of the post they decided on. Useful for end-of-month reviews and the occasional dispute.

The Full Client Reviews Feature List

Batch composer

Pick a set of draft posts, give the batch a name, set the policy, optionally set an expiry, write an invite note, and send. The batch keeps everyone on the same conversation instead of one-off review threads per post.

Invite by email

Reviewers added by name and email. They get a link. They identify themselves on arrival. No EziBreezy account required, no seat charged on your plan.

Any or all decision policy

Per-batch toggle controls whether one approval is enough or every reviewer has to agree. Backend enforces both, so the post doesn't move forward until the policy is met.

Four workflow modes

direct (no review), internal (team only), client (external only), internal_client (team approves first, then client). The mode is a property of the post, so the calendar always reflects which stage it's in.

Tokenized review link

Each batch produces a unique /review/:token URL. Token is per-batch, scoped to the listed reviewers, rate-limited, and revocable.

Public-only what's public

Clients see post previews, scheduled times, and external-facing comments. Internal notes, audit trails, and other workspaces stay private. Visibility is enforced server-side, not in the UI.

Comments per post

Up to 2,000 characters per comment, with optional image attachments uploaded through a presigned URL. Threads stay attached to the post they describe, not floating somewhere on the batch.

Markup attachments

Reviewers can attach screenshots, scribbles, or reference images straight into the comment thread. No need to email attachments separately and hope the agency stitches them back to the right post.

Five reactions

Lightweight reactions on activity items: thumbs up, heart, laugh, party, eyes. For when a comment is overkill but a thumbs-up is enough.

Resubmit after changes

When a client requests changes, edit the post and resubmit. The link surfaces the new version. Earlier decisions are versioned, not overwritten, so the decision points at the exact content the client saw.

Admin override

Admins can override any item with a required written reason. Post status becomes admin_overridden, reason is preserved in Approval History.

Optional link expiry

Per-batch expiresAt timestamp. After expiry the link stops working. Useful for campaign approvals you don't want lingering in inboxes after the campaign is gone.

Approval History

Every resolved batch is recorded: participants, decisions, comments, override reasons, timeline. A clean audit trail per client, per batch, per post.

Edit history per post

Every edit on a reviewed post is versioned, so the decision a client made always points to the exact content they saw, not whatever the post became later.

Multi-workspace, multi-client

Run client review batches inside any workspace on Agency or Scale plans. One workspace per client, one reviewer list per batch, no cross-pollination between accounts.

Free Tools And Templates

Social Media Proposal Template

Set client expectations on the approval workflow before the first batch goes out. Pairs cleanly with internal_client mode.

Social Media Report Template

Once the batch is approved and posts are live, hand the client a stakeholder-ready monthly recap.

Social Media Calendar Template

A printable starting point for the monthly plan you'll send for client review.

Social Media Strategy Template

Align pillars and cadence first so reviewers can decide on context, not just craft.

Social Media Audit Template

Audit the existing account before the first review batch. Feed the wins back into the plan you'll get approved.

Social Media Character Counter

Sanity-check caption length per platform before sending the batch. Fewer mid-review surprises.

The Workflow Around The Batch

Client review is one stage of the publishing workflow, not a separate product. The post you draft in the composer is the post the client sees. The batch you send is what shows up on the calendar. Every other surface reads from the same record.

See pricing, Agency tier includes client reviews

Client Reviews FAQ

What's a client review batch?

A set of draft posts you send to a client through one shareable link. They open the link, scroll through every post laid out the way it'll publish, and either approve, request changes, or leave a comment. Your team stays in EziBreezy. The client doesn't have an account.

Do clients have to sign up for anything?

No. The link uses a per-batch token. Clients land on the review page, identify themselves with the email address you invited, and they're in. No password, no signup, no extra seat on your plan. The most-upvoted complaint we kept hearing about competitor tools was "my client can't get into yet another platform." The review link exists to skip that.

How is this different from team approval?

Team approval is for staff who already have an EziBreezy login signing off internally. Client review is for the people outside your team. Most agencies run both back to back: the team approves, then the batch goes out to the client. That's the internal_client mode.

What can the client do on the link?

Per post: approve, request changes, leave a comment up to 2,000 characters, attach a screenshot or markup, or react with one of five emojis. They see the real native preview for each platform plus the scheduled time, and they can scroll the post list without opening each one. Internal-only notes stay hidden.

Any approves, or does every reviewer have to?

Either. Each batch has a policy: any (one approval is enough) or all (every invited reviewer must approve before the post is signed off). Useful if a single brand contact is fine for one batch, but a multi-stakeholder launch needs all of them on the record.

What happens when a client requests changes?

The post flips to changes_requested and the client's comment attaches to it. Edit the post, resubmit, and the link surfaces the new version. Earlier decisions are kept with a version number, not overwritten, so the decision a client made always points at the exact version they saw.

Can I override a client decision?

Admins can. Override flips the post to admin_overridden and you have to type a written reason that gets recorded against the batch. Editors and viewers can't. It's an admin-only escape hatch for the days a client goes silent and the campaign is going out anyway.

Can the link expire?

Per-batch expiresAt timestamp. After that date the link stops working. Useful for time-sensitive approvals you don't want sitting in someone's inbox three weeks later for someone else to find. Default is no expiry.

Where does the audit trail live?

Approval History under your workspace. Every resolved batch shows who reviewed, who approved, who requested changes, when each decision happened, and the comment thread. Internal team approvals are in the same view, so the chain of accountability is one place per workspace.

Which plan includes it?

Agency and Scale. Internal team approvals (no external client) come on Creator and above; the external-client batch flow is the Agency-tier feature. Pricing page has the comparison.

Does it cover all eight platforms?

Reviewers see real native-style previews for Instagram, Facebook, Threads, LinkedIn, X, TikTok, YouTube, and Pinterest, including Reels, Stories, carousels, threads, and pinned-comment fields. The preview is what publishes.

Is the agency white-labelled on the review page?

Not yet. The review page is unbranded and clean (no EziBreezy header, no "powered by" stripe), but a custom logo and brand colours on the link itself isn't shipped. It's a known request and on the roadmap. Honest scope.

Trusted by creators and agencies who refuse to settle

Send the batch. Get the verdict.