How to require human approval before an AI agent sends email
Three working patterns for putting a human approval gate in front of AI-written email, with a SendGuard preflight example that only escalates the risky sends.
Leaving Instantly or Smartlead saves money, but their sending discipline leaves with them. One API call before each send gives you daily caps, warmup gating, a bounce-rate brake, suppression, and sender-auth checks.
Try it with a $1 pilot: 100 production checks, one-time.
POST /v1/preflight/email
{
"workspace_id": "ws_demo",
"agent_id": "sdr-agent-01",
"policy": "balanced",
"to": { "email": "cfo@hospital.com", "industry": "healthcare" },
"message": { "subject": "Quick question" },
"decision": "requires_approval",
"risk_score": 86,
"approval": {
"queue": "sales_manager",
"reason": "Pricing claims require approval"
}
}SendGuard remembers what you already sent, so each check answers a better question than "is this address valid": should this mailbox send this email to this person right now?
Each mailbox and sending domain has a daily limit, and each agent has hourly and daily limits. When a limit is reached, SendGuard returns delay instead of letting one runaway loop burn the domain.
Pass the domain and mailbox age. Cold outbound from a domain that is too new is blocked, and a domain still warming up gets delayed. Limits are fixed numbers you set, not an automatic ramp.
Report delivered and bounced outcomes back. When the 24-hour or 7-day bounce rate crosses the threshold, new sends are delayed or blocked until the list is fixed.
Unsubscribed, blocklisted, and hard-bounced recipients are blocked. The same person is not contacted twice in a campaign within 7 days, and one recipient domain or company is not hammered in a burst.
Syntax, MX, disposable, role, catch-all, and SMTP checks on the recipient; SPF, DKIM, and DMARC on your sending domain; and a missing-unsubscribe check on cold email.
Every call returns allow, delay, block, or requires_approval with reason codes, so your flow knows exactly what to do next. SendGuard never sends email itself.
Verification APIs look up one address with no memory of your sending. SendGuard keeps your send history, caps, bounces, and opt-outs, and applies them to every new send.
Syntax, DNS, MX, disposable, role account, catch-all, SMTP, and confidence signals for recipient quality.
Learn more →One call combines recipient, sender, message, campaign, agent, and workspace policy context.
Learn more →High-risk AI sends can be delayed, blocked, or routed to a human queue with reason codes.
Learn more →Put it right before the send step in n8n, a script, or an agent tool.
Pass sender, domain and mailbox age, recipient, message, and campaign.
allow, block, delay, or requires_approval — with risk score and reason codes.
Send, wait, hold, or drop. Report bounces and unsubscribes so the next check knows.
Pay only for what you use. Start with a $1 paid pilot or the Entry plan, then scale as you grow.
See full pricing details → • Included quota is consumed first, then top-ups cover overage.
Practical guidance on sender reputation, policy controls, and approval workflows for autonomous email systems.
Three working patterns for putting a human approval gate in front of AI-written email, with a SendGuard preflight example that only escalates the risky sends.
Traditional deliverability checks are not enough once AI agents can autonomously send cold email at machine speed.
The same message should not be treated equally when it comes from a new autonomous agent versus a trusted production workflow.
Start with 10,000 included checks per month. Add top-ups only when you need them.
Get Started →