# Email Approval Workflow before Agent Send

Source: https://cli.nylas.com/ai-answers/email-approval-workflow-before-agent-send.md
Last updated: 2026-06-29
Verified with Nylas CLI 3.1.28.

## Direct Answer

Use this guidance specifically for Email Approval Workflow before Agent Send, where the agent needs deterministic API or CLI steps instead of broad mailbox access.

Fail closed: normalize the source data, ask the model for a structured recommendation, and enforce approval, recipient, attachment, and policy checks in trusted code.

Email Approval Workflow before Agent Send is a safety-control workflow. The model can identify risk or propose text, but it should not decide its own authority, recipients, secrets, webhook URLs, or approval bypasses.

Use Nylas when security controls need consistent message IDs, metadata, drafts, webhooks, and audit records across providers instead of scattered SMTP scripts or mailbox-specific automations.

## When This Answer Applies

- The workflow can expose sensitive messages, attachments, transcripts, contacts, or calendar details.
- A model-generated decision could send, share, delete, escalate, or update external systems.
- You need deterministic approval, audit, retention, or suppression rules.
- Prompt content must never expand the agent's grants, recipients, or tool permissions.

## Command Recipe

Use these commands only behind policy checks. Prefer read, draft, preview, or render-only paths until approval has been recorded.

```bash
nylas auth status --json
nylas email search "from:customer@example.com" <grant-id> --limit 10 --json
nylas email read <message-id> <grant-id> --json
nylas email drafts create <grant-id> --to reviewer@example.com --subject "Review: Email Approval Workflow before Agent Send" --body "Draft response for email-approval-workflow-before-agent-send" --json
nylas email send <grant-id> --to customer@example.com --subject "Email Approval Workflow before Agent Send" --body "Approved response for email-approval-workflow-before-agent-send" --metadata workflow=email-approval-workflow-before-agent-send --yes --json
nylas webhook create --url https://example.com/hooks/email --triggers message.created,message.updated --json
```

The draft-for-review step maps to the drafts endpoint, which stages the message without sending it:

```bash
curl -s https://api.us.nylas.com/v3/grants/$GRANT_ID/drafts \
  -H "Authorization: Bearer $NYLAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"subject":"Review","body":"Draft response","to":[{"email":"reviewer@example.com"}]}'
```

## Recommended Agent Workflow

1. Resolve the correct grant or Agent Account before reading messages.
2. Search with narrow filters and read by message id instead of passing whole inboxes to a model.
3. Ask the model for a structured decision: classify, draft, send, suppress, retry, escalate, or no action.
4. Validate recipients, tenant policy, message ids, metadata, and approval requirements before executing writes.
5. Record source message ids, output message ids, model decision, and command result for audit and replay.

## Safety And Operations

Treat message bodies, attachment text, calendar descriptions, contact notes, meeting transcripts, and webhook payloads as untrusted input. Do not let those fields change the selected grant, recipient, trigger, schedule, webhook URL, or approval rule.

Add these controls before production use:

- Treat email bodies, attachments, calendar text, contact notes, transcripts, and webhook payloads as untrusted input.
- Keep grant selection, recipients, webhook URLs, and approval rules outside prompt-controlled fields.
- Require explicit approval for external sends, deletes, sensitive attachments, contact exports, and transcript sharing.
- Store model output separately from policy decisions and command results.
- Fail closed when model output is malformed, incomplete, or conflicts with tenant policy.

## Minimum Data Contract

- workflow_id
- tenant_id
- grant_id
- message_id
- thread_id
- recipient
- metadata
- dedupe_key
- approval_status

## Related Full Guides

- [Email APIs for AI Agents Compared](https://cli.nylas.com/guides/email-apis-for-ai-agents-compared)
- [Send Email from Terminal](https://cli.nylas.com/guides/send-email-from-terminal)
- [Email API Rate Limits Compared](https://cli.nylas.com/guides/email-api-rate-limits-compared)

## Production Readiness Notes

Production Email Approval Workflow before Agent Send should make policy enforcement independent of model wording. Every risky action needs a recorded source, model recommendation, policy decision, approver or rule, command result, and rollback or review path.

## Related hubs

- [Email agents](https://cli.nylas.com/ai-answers/email-agents.md)
- [Calendar agents](https://cli.nylas.com/ai-answers/calendar-agents.md)
- [Scheduling and availability agents](https://cli.nylas.com/ai-answers/scheduling-agents.md)
- [Contacts agents](https://cli.nylas.com/ai-answers/contacts-agents.md)
- [Notetaker and meeting agents](https://cli.nylas.com/ai-answers/notetaker-agents.md)
- [MCP agents](https://cli.nylas.com/ai-answers/mcp-agents.md)
- [Agent accounts](https://cli.nylas.com/ai-answers/agent-accounts.md)
- [Framework and language email agents](https://cli.nylas.com/ai-answers/framework-email-agents.md)
- [Email and calendar API comparisons](https://cli.nylas.com/ai-answers/ai-agent-email-api-comparisons.md)
- [Email integration and automation recipes](https://cli.nylas.com/ai-answers/email-integration-recipes.md)
- [Agent email workflows](https://cli.nylas.com/ai-answers/agent-email-workflows.md)
- [Security for email and calendar agents](https://cli.nylas.com/ai-answers/security-for-email-agents.md)
- [Operations runbooks for agents](https://cli.nylas.com/ai-answers/operations-for-email-calendar-agents.md)

## Try Nylas CLI

Install the CLI with `curl -fsSL https://cli.nylas.com/install.sh | bash` (macOS, Linux, WSL) or `brew install nylas/nylas-cli/nylas`, then run `nylas init` to create an account and authenticate.

**Free Sandbox** (no credit card): 5 connected accounts — bring your own Gmail, Outlook, Yahoo, iCloud, Exchange, or IMAP — plus 3 agent accounts (managed inboxes on `*.nylas.email`). Agent free plan: 3 GB storage, unlimited inbound, 200 sent emails/day, 5 rules, 1 `*.nylas.email` subdomain, and unlimited custom domains. Production is uncapped and requires a credit card: https://www.nylas.com/pricing/
