Resend for AI agents

Resend is a developer-focused email API for sending transactional and marketing email, managing domains, audiences, contacts, and templates. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

EmailAPI keyMCP + RESTresend.com
AUDIT LOG · RESENDPOLICY: acme-support
09:41:07 · claude · u_8f2read
resend.list_emails
List Emails✓ allowed · 212ms
09:41:08 · claude · u_8f2read
resend.get_topic
Get Topic✓ allowed · 164ms
09:41:09 · claude · u_8f2write
resend.create_topic
Create Topic✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
resend.delete_topic
Delete Topic✕ blocked · policy: deny
EVERY RESEND CALL, ON THE RECORD
01 · USE CASES

What agents do in Resend.

01

Send a broadcast to a segment

Create a draft broadcast for a segment of contacts before it goes out to their inboxes.

02

Check a domain's setup

Get a domain's verification status before relying on it to send email.

03

Confirm before deleting an audience

Look up an audience's contacts first, then delete the audience only after confirming it's unused.

02 · ACTIONS

66 Resend actions, graded by risk.

Every Resend action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

29

Look things up. Allowed by default.

  • resend.get_topic
    Get Topic
  • resend.get_contact
    Get Contact
  • resend.get_segment
    Get Segment
  • resend.get_webhook
    Get Webhook
  • resend.list_emails
    List Emails
  • resend.list_topics
    List Topics
  • resend.get_template
    Get Template
  • resend.list_domains
    List Domains
  • resend.get_broadcast
    Get Broadcast
  • resend.list_api_keys
    List API Keys
  • resend.list_contacts
    List Contacts
  • resend.list_segments
    List Segments
  • resend.list_webhooks
    List Webhooks
  • resend.list_audiences
    List Audiences
  • resend.list_templates
    List Templates
  • resend.list_broadcasts
    List Broadcasts
+ 13 MORE

write

25

Create and change things. Allow, or ask the user first.

  • resend.send_email
    Send Email
  • resend.create_topic
    Create Topic
  • resend.update_email
    Update Email
  • resend.update_topic
    Update Topic
  • resend.create_domain
    Create Domain
  • resend.update_domain
    Update Domain
  • resend.create_api_key
    Create API Key
  • resend.create_contact
    Create Contact
  • resend.create_segment
    Create Segment
  • resend.create_webhook
    Create Webhook
  • resend.update_contact
    Update Contact
  • resend.update_webhook
    Update Webhook
  • resend.create_audience
    Create Audience
  • resend.create_template
    Create Template
  • resend.update_template
    Update Template
  • resend.update_broadcast
    Update Broadcast
+ 9 MORE

destructive

12

Delete, cancel or archive. Ask first, or deny outright.

  • resend.cancel_email
    Cancel Email
  • resend.delete_topic
    Delete Topic
  • resend.delete_domain
    Delete Domain
  • resend.delete_api_key
    Delete API Key
  • resend.delete_contact
    Delete Contact
  • resend.delete_segment
    Delete Segment
  • resend.delete_webhook
    Delete Webhook
  • resend.delete_audience
    Delete Audience
  • resend.delete_template
    Delete Template
  • resend.delete_contact_by_id
    Delete Contact By ID
  • resend.delete_contact_property
    Delete Contact Property
  • resend.remove_contact_from_segment
    Remove Contact From Segment
03 · HOW IT WORKS

Resend in three steps.

  1. 01Your users connect ResendThey add their Resend api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Topic” can wait for the user, and “delete Topic” can be denied outright.
  3. 03Any agent can actYour agent calls Resend through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('resend', {
  read: 'allow',
  write: 'ask',        // create_topic
  destructive: 'deny',  // delete_topic
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Resend connects.

Users add their Resend api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Resend connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Resend from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Resend and Arc0, answered.

Q01

Can I use Resend with Claude, ChatGPT or Cursor?

Yes. Connect Resend to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Resend actions you allow.

Q02

How do users connect Resend?

Users add their Resend api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Resend actions can my agent take?

66 in total: 29 read, 25 write and 12 destructive, such as “create Topic”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Resend?

Yes. Actions like “delete Topic” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.

Q05

Can my own backend call Resend too?

Yes. The same Resend connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Resend into your agent.

Your users connect Resend once, under your brand. Your agent gets 66 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan