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.
What agents do in Lettr.
Add a contact to an audience
Add a new contact to an audience list after they opt in on a signup form.
Check a scheduled email's status
Look up a scheduled email to confirm it will send at the right time.
Approve before deleting a domain
Require approval before deleting a sending domain, since it would break outgoing mail.
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
25Look things up. Allowed by default.
- lettr.get_emailGet Email
- lettr.get_domainGet Domain
- lettr.get_webhookGet Webhook
- lettr.list_emailsList Sent Emails
- lettr.get_campaignGet Campaign
- lettr.get_templateGet Template
- lettr.list_domainsList Domains
- lettr.list_projectsList Projects
- lettr.list_webhooksList Webhooks
- lettr.list_campaignsList Campaigns
- lettr.list_templatesList Templates
- lettr.get_audience_listGet Audience List
- lettr.list_email_eventsList Email Events
- lettr.get_audience_topicGet Audience Topic
- lettr.get_scheduled_emailGet Scheduled Email
- lettr.list_audience_listsList Audience Lists
write
24Create and change things. Allow, or ask the user first.
- lettr.send_emailSend Email
- lettr.create_domainCreate Domain
- lettr.send_campaignSend Campaign
- lettr.create_webhookCreate Webhook
- lettr.update_webhookUpdate Webhook
- lettr.create_templateCreate Template
- lettr.update_templateUpdate Template
- lettr.create_audience_listCreate Audience List
- lettr.update_audience_listUpdate Audience List
- lettr.create_audience_topicCreate Audience Topic
- lettr.update_audience_topicUpdate Audience Topic
- lettr.create_audience_contactCreate Audience Contact
- lettr.create_audience_segmentCreate Audience Segment
- lettr.update_audience_contactUpdate Audience Contact
- lettr.update_audience_segmentUpdate Audience Segment
- lettr.create_audience_propertyCreate Audience Property
destructive
11Delete, cancel or archive. Ask first, or deny outright.
- lettr.delete_domainDelete Domain
- lettr.delete_webhookDelete Webhook
- lettr.delete_templateDelete Template
- lettr.delete_audience_listsDelete Audience Lists
- lettr.delete_audience_topicDelete Audience Topic
- lettr.cancel_scheduled_emailCancel Scheduled Email
- lettr.delete_audience_contactDelete Audience Contact
- lettr.delete_audience_segmentDelete Audience Segment
- lettr.delete_audience_propertyDelete Audience Property
- lettr.get_template_merge_tagsGet Template Merge Tags
- lettr.detach_contacts_from_listsDetach Contacts from Lists
Lettr in three steps.
- 01Your users connect LettrThey add their Lettr api key on Arc0 Connect, under your brand. It goes straight into the vault.
- 02You set the rulesReads run, writes like “create Domain” can wait for the user, and “delete Domain” can be denied outright.
- 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.
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
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
Use Lettr from any agent.
Lettr and Arc0, answered.
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.
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.
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.
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.
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.
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