Cold email for AI agents and developers.
How to let a script or an AI assistant run cold email safely: API keys, MCP, idempotency, limits and confirmation.
Scripts and AI assistants can now run cold email end to end. That's powerful, and risky without guard rails. Here is how to set it up safely.
Pick the right way in
- REST API for your own code and tools like n8n or Make. JSON in, JSON out. Quick start.
- MCP server for AI assistants such as Claude and Cursor. The assistant gets 43 tools and asks before it sends. Connect an assistant.
- Webhooks to react when someone replies, bounces or is labelled.
Give each key only what it needs
Create a separate API key for each script or assistant. Choose a scope: full, campaigns, contacts, inbox, mailboxes, sending, or read-only. Limit it to one workspace if you can. Revoke it in one click when you're done.
Never send twice
Networks fail and scripts retry. Send an Idempotency-Key header with every request that sends email. If the same request arrives again within 24 hours, you get the first result back instead of a second email.
Respect the limits
- 300 requests a minute per key and 1,200 per account. Read the
X-RateLimitheaders, and wait forRetry-Afteron a 429. - Sending rules are the same as in the app: daily caps per mailbox, the slow start, bounce limits and the blocklist. Check them any time with
GET /v1/limits.
Keep a person in the loop
- Let the assistant draft, import and check, then confirm before anything sends. Our MCP tools that send, launch or delete need
confirm: true. - Use the pre-launch check and a test email, just as you would by hand.
- Have replies go to the Master Inbox, where your team can see them.
Give your assistant the docs
Point the assistant at /llms.txt on your API. It's the full reference as plain text, written for models to read.