Lettr
Lettr is an email and messaging platform for transactional delivery, templates, audiences, campaigns, domains, and webhooks.
Verdict
Common use cases
- Import leads from a spreadsheet into audience lists
- Cancel a scheduled campaign before send time
- Build dynamic segments from conversation insights
- Subscribe support contacts with double opt-in
- Audit list memberships during campaign planning
Integration
- Vendor
- Lettr
- Category
- other
- Auth
- API_KEY
- Tools
- 50
- Composio slug
lettr
Tools
- Attach Contacts to Lists
Attach every combination of 1-1000 contacts and 1-50 audience lists, processing up to 50,000 contact-list pairs and reporting new and existing memberships.
- Bulk Create Audience Contacts
Create or recognize up to 1000 normalized, deduplicated contacts. Shared properties affect only newly created contacts; list_id applies to all contacts, including those that already exist.
- Cancel Scheduled Email
Cancel a scheduled email before its delivery time; cancellation is unavailable once processing has begun.
- Create Audience Contact
Create one audience contact with optional properties and list membership.
- Create Audience Contact With Double Opt-In
Create an unverified audience contact and irreversibly send an external confirmation email; the contact becomes subscribed only after confirming.
- Create Audience List
Create a uniquely named audience list for grouping contacts.
- Create Audience Property
Define a custom contact property with an immutable name and value type. Changing either later requires deleting and recreating the property.
- Create Audience Segment
Create a dynamic audience segment whose condition groups are ANDed while conditions inside each group are ORed.
- Create Audience Topic
Create a public or private subscription topic with an immutable opt-in or opt-out default.
- Create Domain
Register a sending domain and return the DNS configuration needed to verify it.
- Create Template
Create and publish an email template from either custom HTML or Topol editor JSON, extracting its merge tags.
- Create Webhook
Create an active event webhook using no authentication, HTTP Basic credentials, or OAuth 2 client credentials.
- Delete Audience Contactdestructive
Permanently delete one audience contact and its associated memberships.
- Delete Audience Listsdestructive
Permanently delete between 1 and 50 audience lists in one request.
- Delete Audience Propertydestructive
Permanently delete a custom contact-property definition.
- Delete Audience Segmentdestructive
Permanently delete one dynamic audience segment.
- Delete Audience Topicdestructive
Permanently delete one audience subscription topic.
- Delete Domaindestructive
Permanently remove a sending domain from Lettr and SparkPost so it can no longer send email.
- Delete Templatedestructive
Permanently delete an email template and all of its versions.
- Delete Webhookdestructive
Permanently remove a webhook so Lettr stops delivering events to it.
- Detach Contacts from Lists
Detach every combination of 1-1000 contacts and 1-50 audience lists, reporting removed and absent memberships.
- Get Audience Contact
Retrieve one contact's email, status, custom properties, list memberships, and topic subscriptions by ID.
- Get Audience List
Retrieve one audience list and its current contact count by ID.
- Get Audience Property
Retrieve one custom contact-property definition and its fallback value.
- Get Audience Segment
Retrieve one dynamic segment's list restriction, complete AND-of-OR condition definition, and cached contact count.
- Get Audience Topic
Retrieve one subscription topic's defaults, visibility, and current contact count.
- Get Campaign
Retrieve one campaign's name, subject, sender and reply-to configuration, schedule, rendered HTML, lifecycle state, recipient counts, and engagement statistics. The campaign's audience definition is not returned.
- Get Domain
Retrieve one sending domain's send readiness, DNS records, provider detection, and verification status.
- Get Email
Retrieve a sent email's delivery state, recipients, schedule metadata, and events by request ID. The configurable event date range defaults to the last 10 days, not the email's complete event history.
- Get Scheduled Email
Retrieve a scheduled email's current state and events by transmission ID, including after it has been processed.
- Get Template
Retrieve an email template's metadata, active HTML or editor JSON content, and version counts by slug.
- Get Template Merge Tags
Return required and optional merge tags for a template's active or specified version before sending with substitution data.
- Get Webhook
Retrieve one webhook's target, enabled state, event selection, authentication mode, and latest delivery status.
- List Audience Contacts
Return one cursor-controlled page of contacts, optionally filtered by search text, status, list, or segment.
- List Audience Lists
Return one cursor-controlled page of audience lists with each list's contact count.
- List Audience Properties
Return one cursor-controlled page of custom contact-property definitions and fallback values.
- List Audience Segments
Return one cursor-controlled page of dynamic audience segments, including their complete AND-of-OR condition definitions, optionally filtered by list.
- List Audience Topics
Return one cursor-controlled page of subscription topics with defaults, visibility, and contact counts.
- List Campaign Events
Return one cursor-controlled page of a campaign's delivery and engagement events, with event, recipient, and time filters. An empty items page can still have a next_cursor; continue until next_cursor is null.
- List Campaigns
Return one cursor-controlled page of campaigns with complete delivery and engagement statistics, optionally filtered by lifecycle status.
- List Domains
Return all sending domains with approval, DNS verification, and send-readiness status.
- List Email Events
Return one cursor-controlled page of delivery and engagement events across sent emails, with event, recipient, transmission, bounce, and date filters.
- List Projects
Return one cursor-controlled page of Lettr projects and their IDs for use with template operations.
- List Sent Emails
Return one cursor-controlled page of sent emails, optionally filtered by recipient and date range.
- List Templates
Return one cursor-controlled page of email templates for a project or the team's default project.
- List Webhooks
Return all event webhooks with target, enabled state, event selection, authentication mode, and latest delivery status.
- Publish Template Version
Create and activate a new version of an existing email template from exactly one of HTML or Topol editor JSON, optionally renaming the template atomically.
- Schedule Campaign
Schedule a campaign for future delivery or reschedule it. The campaign dispatches automatically at that time unless it is unscheduled first.
- Schedule Email
Create a transactional email scheduled 5 minutes to 3 days in the future; it remains cancellable until processed.
- Send Campaign
Immediately and irreversibly start sending a sendable draft campaign to its resolved audience. Only call after confirming the campaign's audience, subject, sender email, and content. A successful 202 response transitions the campaign asynch
Setup
Setup guide
- 11. Open your Switchy workspace and navigate to Settings → Integrations → Add MCP Server. 2. Select Lettr from the catalog and choose API Key authentication. 3. Log into your Lettr account, go to Settings → API Keys, and generate a new key with read and write permissions. 4. Paste the key into Switchy's connection form and click Connect. 5. Switchy will verify the key and display a green checkmark when the connection succeeds. 6. Open any Project and type '@Lettr create an audience list called Q1 Launch' to confirm the MCP responds. 7. If the command returns a list ID, the integration is live and ready for bulk operations.
What teammates see: by default, memories from Lettr are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Import CSV Contacts
@Lettr I'm pasting a CSV with email, first_name, and company columns. Create all contacts and add them to the list named 'Webinar Registrants Q1'.
Cancel Scheduled Send
@Lettr cancel the scheduled email with ID 'eml_abc123' that's set to send this afternoon.
Create Segment by Role
@Lettr create a segment called 'Product Managers' that includes any contact where the job_title property contains 'Product Manager' or 'PM'.
Add Contact with Opt-In
@Lettr create a contact for jane@example.com with first name Jane and send a double opt-in confirmation email.
Attach Contacts to Campaign List
@Lettr attach contacts with IDs 'cnt_001', 'cnt_002', 'cnt_003' to the list named 'March Newsletter'.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Lettr show me all contacts in the 'Q1 Product Launch' list who haven't opened an email in the last 30 days
The 'Q1 Product Launch' list contains 847 contacts. Of those, 203 have not opened any email in the past 30 days. Here's a breakdown: 156 contacts have never opened any email from this list, 47 opened emails previously but not in the last month. The most recent activity from this inactive group was 32 days ago. You could create a re-engagement segment targeting these contacts or remove them to improve deliverability metrics.
This example demonstrates Lettr's read-heavy list querying and engagement filtering. The MCP can cross-reference contact properties with activity logs. Note that 'opened' tracking requires recipients to load images, so actual engagement may be higher than reported. Requires read access to both audience lists and email analytics.
@Lettr create 250 new contacts from this CSV and add them all to the 'Beta Testers' list, then send each person a welcome email
Processed 250 rows from your CSV. Created 187 new contacts (63 already existed and were updated). All 250 contacts are now attached to the 'Beta Testers' list—141 were new memberships, 109 were already members. Normalization deduplicated 4 email addresses that appeared twice in your file. Welcome email queued for delivery to all 250 contacts; estimated send completion in 8 minutes. Note: Contacts who already existed retained their original property values; only new contacts received the properties from your CSV.
This showcases Lettr's bulk contact creation and list attachment workflow, plus email sending. The MCP handles deduplication automatically but won't overwrite existing contact properties—important if your CSV has stale data. Sending 250 emails may hit rate limits on free-tier accounts. Requires write access to contacts, lists, and email campaigns.
@Lettr analyze the last 5 campaigns sent to 'Enterprise Customers' and draft a segment definition for contacts who clicked any link but didn't convert
Analyzed 5 campaigns sent to 'Enterprise Customers' (total 2,340 recipients, 1,890 unique contacts). Found 412 contacts who clicked at least one link across these campaigns but have no 'converted' property set to true. Common click patterns: 68% clicked pricing links, 41% clicked case study links, 23% clicked both. Suggested segment definition: Create a dynamic segment with conditions: (1) member of 'Enterprise Customers' list, (2) clicked any email in last 60 days, (3) 'converted' property equals false or is not set. This segment would currently contain 412 contacts and update automatically as new clicks occur.
This example pairs Lettr's campaign analytics with AI reasoning to identify a re-targeting opportunity. The MCP can read click data and contact properties, then the AI synthesizes a segment strategy. Segment conditions use AND/OR logic—review the generated definition before creating it, as complex filters may behave unexpectedly. Requires read access to campaigns and contacts, write access to create the segment.
Use-case deep-dives
When Lettr beats your email platform for product updates
A 6-person SaaS team sends weekly product updates to 3,000 trial users. They want to trigger emails from their app when a user hits a milestone, but their marketing platform charges per seat and the eng team can't log in. Lettr wins here because the MCP gives your AI workspace direct access to 50 tools—create contacts, attach to lists, schedule sends—without opening another dashboard. The bulk contact creation handles 1,000 records at once, so your support lead can upload a CSV during standup and your PM can schedule the campaign in the same thread. If you're sending under 10,000 emails a month and your team is already in Switchy for other workflows, this is faster than teaching everyone Mailchimp. Over that volume, you'll want a dedicated email ops person anyway.
Managing conference attendees without a separate CRM
A 3-person conference organizing team collects registrations through Typeform and needs to segment attendees by ticket type, send pre-event reminders, and handle last-minute cancellations. Lettr's segment creation and list attachment tools let you build dynamic groups—VIP ticket holders, workshop attendees, dietary restrictions—and update them as registrations change. The double opt-in tool is critical if you're emailing EU attendees; it sends the confirmation automatically and only subscribes verified contacts. The cancel scheduled email tool saves you when a speaker drops and you need to pull a session announcement 20 minutes before send. This setup works until you hit 5,000 attendees; past that, you need real event software with badge printing and check-in integrations Lettr doesn't offer.
When API-driven onboarding emails justify the integration
A 4-person B2B startup onboards 50 new customers a month and wants to trigger a 5-email sequence when someone signs a contract. Their sales CRM doesn't do drip campaigns and their marketing automation platform costs $200/month for features they don't need. Lettr's MCP lets your AI workspace create the contact, attach them to the onboarding list, and schedule the sequence—all from a single Switchy prompt referencing your signed-deal Slack notification. The custom property tool stores contract value or industry vertical so you can segment later. This works if your onboarding is mostly email and you're under 500 customers; beyond that, the lack of in-app messaging or behavior tracking means you'll outgrow it. If your onboarding involves product tours or usage-based triggers, start with a real customer success platform instead.
Frequently asked
What does the Lettr MCP do in Switchy?
The Lettr MCP lets AI agents manage your email marketing infrastructure — creating contacts, building audience lists, scheduling campaigns, and defining segments. It's built for teams that want to automate list hygiene, trigger transactional emails, or sync CRM data into Lettr without writing custom API code. The MCP exposes 50 tools covering everything from bulk contact imports to double opt-in workflows.
Do I need admin access to connect Lettr?
You need an API key from your Lettr account, which typically requires admin or developer permissions. Lettr uses API_KEY authentication, so whoever connects it in Switchy must generate the key from Lettr's settings. That person's permissions determine what the MCP can do — if the key has read-only scope, agents won't be able to create lists or send emails.
Can the Lettr MCP send emails directly?
Yes, but only scheduled emails that you can cancel before processing begins. The MCP includes a Cancel Scheduled Email tool, which means it can also schedule sends. It won't handle real-time transactional sends the way an SMTP relay does — Lettr's model is campaign-based. For instant one-off emails, you'd still use Lettr's UI or a different integration.
How is this different from using Lettr's dashboard?
The MCP automates bulk operations that are tedious in the dashboard — like attaching 1,000 contacts to 50 lists (50,000 pairs) in one call, or creating dynamic segments with complex AND/OR logic. It's faster for repetitive tasks and lets AI agents react to triggers (new signups, Slack mentions) without you logging into Lettr. The dashboard is still better for designing email templates or reviewing campaign analytics.
Who on my team should connect Lettr to Switchy?
Whoever owns your email marketing stack and has API access. Usually that's a growth lead, marketing ops person, or technical founder. They'll generate the API key and connect it once; after that, anyone in your Switchy workspace can ask agents to manage contacts or lists. Just make sure the key's permissions match what you want agents to do unsupervised.