Lettr for AI agents

Lettr is a transactional and marketing email platform with templates, audiences, campaigns, and delivery tools for sending at scale from one dashboard. 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 + RESTlettr.io
AUDIT LOG · LETTRPOLICY: acme-support
09:41:07 · claude · u_8f2read
lettr.list_emails
List Sent Emails✓ allowed · 212ms
09:41:08 · claude · u_8f2read
lettr.get_email
Get Email✓ allowed · 164ms
09:41:09 · claude · u_8f2write
lettr.create_domain
Create Domain✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
lettr.delete_domain
Delete Domain✕ blocked · policy: deny
EVERY LETTR CALL, ON THE RECORD
01 · USE CASES

What agents do in Lettr.

01

Add a contact to an audience

Add a new contact to an audience list after they opt in on a signup form.

02

Check a scheduled email's status

Look up a scheduled email to confirm it will send at the right time.

03

Approve before deleting a domain

Require approval before deleting a sending domain, since it would break outgoing mail.

02 · ACTIONS

60 Lettr actions, graded by risk.

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

read

25

Look things up. Allowed by default.

  • lettr.get_email
    Get Email
  • lettr.get_domain
    Get Domain
  • lettr.get_webhook
    Get Webhook
  • lettr.list_emails
    List Sent Emails
  • lettr.get_campaign
    Get Campaign
  • lettr.get_template
    Get Template
  • lettr.list_domains
    List Domains
  • lettr.list_projects
    List Projects
  • lettr.list_webhooks
    List Webhooks
  • lettr.list_campaigns
    List Campaigns
  • lettr.list_templates
    List Templates
  • lettr.get_audience_list
    Get Audience List
  • lettr.list_email_events
    List Email Events
  • lettr.get_audience_topic
    Get Audience Topic
  • lettr.get_scheduled_email
    Get Scheduled Email
  • lettr.list_audience_lists
    List Audience Lists
+ 9 MORE

write

24

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

  • lettr.send_email
    Send Email
  • lettr.create_domain
    Create Domain
  • lettr.send_campaign
    Send Campaign
  • lettr.create_webhook
    Create Webhook
  • lettr.update_webhook
    Update Webhook
  • lettr.create_template
    Create Template
  • lettr.update_template
    Update Template
  • lettr.create_audience_list
    Create Audience List
  • lettr.update_audience_list
    Update Audience List
  • lettr.create_audience_topic
    Create Audience Topic
  • lettr.update_audience_topic
    Update Audience Topic
  • lettr.create_audience_contact
    Create Audience Contact
  • lettr.create_audience_segment
    Create Audience Segment
  • lettr.update_audience_contact
    Update Audience Contact
  • lettr.update_audience_segment
    Update Audience Segment
  • lettr.create_audience_property
    Create Audience Property
+ 8 MORE

destructive

11

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

  • lettr.delete_domain
    Delete Domain
  • lettr.delete_webhook
    Delete Webhook
  • lettr.delete_template
    Delete Template
  • lettr.delete_audience_lists
    Delete Audience Lists
  • lettr.delete_audience_topic
    Delete Audience Topic
  • lettr.cancel_scheduled_email
    Cancel Scheduled Email
  • lettr.delete_audience_contact
    Delete Audience Contact
  • lettr.delete_audience_segment
    Delete Audience Segment
  • lettr.delete_audience_property
    Delete Audience Property
  • lettr.get_template_merge_tags
    Get Template Merge Tags
  • lettr.detach_contacts_from_lists
    Detach Contacts from Lists
03 · HOW IT WORKS

Lettr in three steps.

  1. 01Your users connect LettrThey add their Lettr api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, writes like “create Domain” can wait for the user, and “delete Domain” can be denied outright.
  3. 03Any agent can actYour agent calls Lettr 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('lettr', {
  read: 'allow',
  write: 'ask',        // create_domain
  destructive: 'deny',  // delete_domain
})

# 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 Lettr connects.

Users add their Lettr 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 Lettr 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 Lettr from any agent.

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

Lettr and Arc0, answered.

Q01

Can I use Lettr with Claude, ChatGPT or Cursor?

Yes. Connect Lettr 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 Lettr actions you allow.

Q02

How do users connect Lettr?

Users add their Lettr 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 Lettr actions can my agent take?

60 in total: 25 read, 24 write and 11 destructive, such as “create Domain”. Your policies decide which of them each agent may call.

Q04

Can I stop my agent from deleting things in Lettr?

Yes. Actions like “delete Domain” 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 Lettr too?

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

Get started

Plug Lettr into your agent.

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

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