Skip to main content

Gate AI replies through reply-approvals and AI deflection

Two Inbox settings consoles decide whether an AI-drafted reply ever reaches a customer. Inbox → Settings → Reply approvals holds a per-agent map of who must get supervisor sign-off before anything they submit ships. Inbox → Settings → AI Deflection holds the controls for the AI side: the co-pilot kill switch and auto-approve confidence bar, the ticket-deflection thresholds, the budget caps, and the draft-quality rollup. However the AI drafted it, the reply still goes through the gate the submitting agent is under — and an operator remains the authority on every decision. Both consoles are tenant-owned controls you set per workspace; everything on this page is per-agent or per-workspace scope, not a platform-wide gate. The settings route is /inbox/settings/reply-approvals in the web dashboard (inside Inbox → Settings), and the supervisor queue it feeds is Inbox → Pending replies (/inbox/pending-replies).

When to use it

  • Onboarding and training queues: a new agent’s replies queue for review until they earn direct-send trust — flip their row off when they do.
  • Regulated or brand-sensitive teams: replies on gated queues (healthline, complaints, VIP) can be required to pass a supervisor before they ship on any channel.
  • Pairing with AI drafting: an accepted co-pilot draft queues behind the same gate, so automation never outruns your review policy.
The gate is channel-agnostic by default — it applies to whatever channel the conversation is on (SMS, WhatsApp, email, RCS, Viber, social DMs), because it gates the reply submission, not the transport.

Prerequisites

One rule up front: the workspace owner is never gated — the server always dispatches the owner’s replies directly, and enabling the gate on the owner row is refused with a 422. Otherwise the sole administrator’s replies would strand behind their own queue.

How a reply gets stamped needs-approval

The reply-approval gate resolves in two levels every time a reply is submitted: a per-agent override set under Inbox → Settings → Reply approvals wins over the org default, and the org-wide default is the fallback for agents with no override. Default is off: until you turn the gate on, every reply dispatches directly. When the AI co-pilot is enabled, a draft card appears above the composer with Accept, Edit, and Discard buttons. Accepting the draft (or editing it and sending) submits the reply through the same queue endpoint a hand-typed reply uses — so if the agent is gated, the AI-assisted reply queues for review exactly like a hand-composed one. The gate applies to the submitting agent, not to how the text was drafted.

Set the gates in the reply-approvals console

Open Inbox → Settings → Reply approvals as an owner, admin, or supervisor.
  1. Read the org default. The page shows the org default as a read-only badge — “Approval required” or “Not required” — the fallback for every agent with no per-agent override.
  2. Flip the per-agent switches. One switch row per team member: flipping it writes that agent’s override immediately, and the row is re-seeded from the persisted map on reload, so the requirement survives navigation. The owner row renders locked with an “Always sends directly” note.
  3. Page long team lists. Long team lists mount in 25-row pages behind a Load more control with a “Showing N of M” counter.
  4. Handle a failed write. If the write fails, the switch rolls back to its previous value and an error toast names the failure — the row never poses as set when the server disagreed.

Work the supervisor queue

The queue lives under Inbox → Pending replies: one shared list of every gated reply, oldest first, with Approve & send and Reject inline on each card. The queue page shows the first ten cards and grows with a Load more control, so deep queues stay responsive.
  • Approve & send dispatches the exact queued body, over the channel the conversation is on, and stamps the approval with the dispatched message id.
  • Reject dispatches nothing and opens a dialog for an optional reason of up to 1,000 characters. For an AI-drafted reply, that note is the feedback the agent reads before they regenerate, or edit and resubmit.
Every decision is audit-recorded: the queue row names the submitting user and the deciding user, stamps the decision time, holds the reject reason, and for approvals points at the dispatched message. Settings changes are audit-recorded too. That pair — submitter and decider — is the record a QA review reads, exactly as it does for hand-composed replies.

Worked example: gate a junior agent

A support lead onboards Priya on a WhatsApp-heavy team and wants every reply reviewed for two weeks.
  1. Open Inbox → Settings → Reply approvals. The org default reads Not required; the lead flips the switch on Priya’s row. Her override is now Approval required.
  2. Priya works the inbox. A customer writes in on WhatsApp; with the co-pilot enabled, a draft card appears. Priya accepts the draft after a light edit and hits send.
  3. Instead of dispatching, the reply lands in Inbox → Pending replies, tagged with Priya’s name and the conversation’s channel.
  4. A supervisor opens the queue, reads the proposed body, and clicks Approve & send. The customer receives the exact reviewed text on WhatsApp, and the queue row stamps the decision with the dispatched message id.
  5. On the next draft, the supervisor clicks Reject with the reason: “Confirm the order number before promising a replacement — see macro 12.” Priya reads the reason on the queue row, regenerates the reply with the fix, and resubmits.
  6. Two weeks in, the lead flips Priya’s row off. Her replies dispatch directly again; the two weeks of submitter/decider pairs remain in the audit trail.

Failure modes and errors

Pair with AI deflection

Open Inbox → Settings → AI Deflection as an owner or admin. The co-pilot section’s Auto-approve confidence threshold marks send-shaped drafts at or above the bar as eligible for one-click approve-and-send in the composer — a routing hint on the draft, never a dispatch. Eligibility is advisory: an operator still approves or edits before anything is sent, drafts suggesting escalate or end are never eligible at any confidence, and a gated agent’s accepted draft still queues behind the reply gate regardless of eligibility. The deflection section’s two thresholds carry the routing decisions the drafts follow: the interactive threshold (default 0.75) gates the agent-facing deflect card, and the auto threshold (default 0.85) gates the fully automatic inbound path. The auto bar must sit at or above the interactive bar — auto-reply with no human in the loop never runs at a looser bar than the agent-vetted card. enabled: false kills both paths before any model call. A draft accepted as approved reads as resolved-by-operator approval rather than unresolved, and only approved replies can become a deflection resolution on the interactive path. On the auto path, a high-confidence answer resolves the thread in one shot — but only above the auto bar you set. Below it, the reply waits for an operator the same way the draft card does.

Safety posture

The AI recommends; the operator decides. Auto-approve eligibility is a routing flag, never permission to skip review, and every draft keeps a human-review requirement. Drafts that suggest escalating or ending the conversation are never auto-approve-eligible, and confidence values are clamped to the 0–1 range before comparison. The same AI Deflection page carries the budgets: a monthly resolution cap with a soft alert percentage, a hard-pause toggle that routes conversations to a human queue once the cap is hit, and an optional per-conversation soft cost ceiling that shows an “Approaching budget” chip in the inbox. The re-check trigger is yours to set — the AI draft quality card near the bottom of the page rolls up how often agents accept, edit, or discard suggested replies, per agent or per template, so you can see which drafts actually land before you loosen the thresholds. The kill switches are the authority: with co-pilot or deflection disabled, agents keep working the inbox — the AI simply stops drafting and no model call is made. Operator review continues unchanged.

See also