> ## Documentation Index
> Fetch the complete documentation index at: https://docs.callers.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Email approval

> Hold sensitive email drafts for human review. Define approval conditions, then approve, edit, or reject held drafts from the contact view.

Human approval lets an Email agent run on its own while a person reviews the emails that matter. You describe, in plain language, which emails need a human, such as pricing questions, complaints, or anything legal. Before each email goes out, the agent checks the draft against those conditions. Matching drafts wait for a person to approve, edit, or reject them. Everything else is sent automatically.

## Set approval conditions

**1. Open Human Approval**

In an Email agent, click **Human Approval** in the agent header. The **Require Human Approval** window opens.

**2. Add conditions**

Type a condition and press **Enter**. Each condition becomes a tag. Add as many as you need, or click a suggested condition below the box. Suggestions are generated from your agent's script and knowledge base.

**3. Save the agent**

Conditions apply to emails drafted after you save. To turn approval off, remove all conditions. Click **x** on a tag, or press **Backspace** in an empty box to remove the last one.

![Require Human Approval dialog with an empty box labeled List when human approval is required and suggested condition chips such as Pricing discussions, Customer complaints, Legal terms, and Cancellation requests](https://mintcdn.com/voxiaai/UGuY0UNIphM-6pUX/images/documentation/email-agents/require-human-approval.png?fit=max\&auto=format\&n=UGuY0UNIphM-6pUX\&q=85\&s=24892feef4de8134a7ab1e7ec8624919)

The Require Human Approval window with suggested conditions under the box.

### Writing good conditions

Conditions are read by AI together with the draft and the conversation so far. They work best when each one names a single, recognizable situation.

| Good condition | Why it works |
| - | - |
| `Pricing or discount discussions` | Clear topic that appears in the draft. |
| `Customer complaints or negative sentiment` | Uses the conversation, not just the draft. |
| `Any commitment about delivery dates` | Catches promises the agent shouldn't make alone. |
| `Agent is uncertain about the answer` | Holds drafts where the agent is guessing. |
| `Legal, contract, or refund questions` | Routes risky topics to a person. |

> [!TIP]
>
> Start with a few broad conditions, review what gets held for a week, then narrow them. Too many conditions hold most emails and slow the agent down.

## How drafts are checked

* Every email the agent is about to send is checked: first emails, replies, and follow-ups.
* If the draft matches **any** condition, it is held. The contact's status shows **Requires Approval**, and nothing is sent.
* If the check itself fails for any reason, the draft is held for review rather than sent.
* [Actions](https://docs.callers.ai/documentation/build-your-agent/agent-actions.md) attached to a held email step wait too. They run only when the draft is approved.
* Drafts that don't match any condition are sent right away, as usual.

## Review held drafts

**1. Find held emails**

Open the agent's results. Contacts with a held draft show a **Requires Approval** status.

**2. Open the draft**

Click the contact. The contact panel opens on the email conversation and scrolls to the pending draft, with the sender's name and address.

**3. Edit if needed**

Change the subject or body directly in the draft.

**4. Send or reject**

Click **Send** to approve. The email is sent with your edits, and any held actions run. Click **Reject** to discard the draft. The contact is marked **Skipped**, and no email is sent.

![Contact panel on the Interactions tab showing an email thread marked Requires Approval, the agent's draft reply with its signature, and a Send button](https://mintcdn.com/voxiaai/UGuY0UNIphM-6pUX/images/documentation/email-agents/review-held-draft.png?fit=max\&auto=format\&n=UGuY0UNIphM-6pUX\&q=85\&s=3453685b14bb9fb1564b739b8a02e456)

A held draft in the contact panel, marked Requires Approval, with the Send button.

| Decision | Result |
| - | - |
| **Send** | The draft, with your edits, is sent from the agent's mailbox. It is sent even if the mailbox has reached its daily send limit. Held actions run. The conversation continues normally. |
| **Reject** | The draft is discarded and the contact's status becomes **Skipped**. |

> [!NOTE]
>
> If the contact replies while a draft is waiting, the draft is out of date. Approving it discards the draft instead of sending it, and the agent responds to the new reply.

> [!NOTE]
>
> Contacts in **Requires Approval** aren't counted in the agent's report totals until a decision is made.

## FAQ

> **Can I require approval for every email?**
>
> Yes. Add a condition that always applies, such as `Any outgoing email`. Every draft is then held for review.

> **Who can approve drafts?**
>
> Team members who can open the agent's results and the contact's email conversation. The approval records who decided.

> **Does approval work for Template mode emails?**
>
> Yes. The check runs on the final email, whatever mode produced it.

> **Will I be notified when a draft is held?**
>
> There's no separate notification for held drafts. Check the agent's results regularly for contacts in **Requires Approval**, especially soon after you add new conditions.

## Related

> **[Email setup](https://docs.callers.ai/documentation/email-agents/email-setup.md)**
>
> Mailboxes, content, follow-ups, testing.

> **[Instructions & guardrails](https://docs.callers.ai/documentation/build-your-agent/instructions-and-guardrails.md)**
>
> Rules the agent follows in every message.

> **[Statuses & outcomes](https://docs.callers.ai/documentation/using-callers/call-statuses.md)**
>
> What Requires Approval and Skipped mean.

> **[Team & permissions](https://docs.callers.ai/documentation/account/team-and-permissions.md)**
>
> Control who can view conversations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.