Lettermint
EmailLettermint is an EU hosted transactional and broadcast email platform. Agents send single and batched messages with idempotency keys, follow message activity and events, manage suppressions, and administer domains, projects, routes, and webhooks.
What This Integration Enables
Lettermint is built for teams that refuse to let one mailing list decide whether a password reset arrives. The route is the unit: transactional, broadcast, and inbound paths each carry their own settings and their own suppression list, and the credentials are split the same way, so the token that sends a receipt is not the token that can change how sending works. FlowRunner agents operate on both sides of that line. They send single messages and batches through a project route with an idempotency key, follow what actually happened to each message, and read or write suppressions at the scope the problem actually calls for.
Every send here is asynchronous, which is a useful kind of honesty. A 202 means queued, not delivered, so the agent's job does not end at the call. It reads the delivery timeline, routes bounces and complaints as automation exceptions rather than letting them fall on the floor, and stops in front of the changes that reach mail nobody has written yet. Sending is something an agent should do continuously. Deciding how a route treats every future message on it is not, and FlowRunner's human-in-the-loop design is what keeps those two things apart.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Receipts that cannot arrive twice
An order confirmed in Shopify or a payment captured in Stripe reaches the agent. It builds the receipt, checks List Suppressions so it does not spend a send on an address Lettermint will drop, and calls Send Email on the transactional route with an idempotency key derived from the order. Lettermint holds that key against the request body for a day, so a retried call with the same body returns the cached response and mails nothing, while a retried call with a changed body is refused outright rather than quietly sending a second version. The agent then calls Get Message Events, and only records the receipt as done once the timeline says delivered.
-
A newsletter that cannot touch the transactional route
The weekly send starts from a segment in Google Sheets or a query against the product database. The agent splits it into messages that respect the fifty recipient limit per message, then calls Send Email Batch to hand Lettermint many distinct, individually personalized messages in one request rather than looping a single send. Opt-outs from this campaign go to Add Suppressions at route scope, which stops the newsletter without touching the password resets leaving the same team. A summary posts to Slack with the counts and the cursor position, so a person can see where the run got to.
-
Domain verification triage that ends with a person at the DNS
A send fails for a From address that looks correct. The agent calls List Domains, finds the domain unverified, then runs Verify Domain DNS and reads back the state of each record, including both DKIM selectors when Lettermint has issued two. It opens an issue in Linear naming the exact records still missing and posts the same list to the channel where the person who owns DNS actually reads. Nothing about the DNS record itself is guessed, because the agent can prove which record is absent rather than describing the symptom.
Human-in-Loop Highlight
Update Route changes a setting that applies to every message on that route, including the ones nobody has written yet. Setting TLS to Enforced means a message that cannot be delivered over an encrypted hop is not delivered at all rather than falling back to plaintext, which is exactly right for a security alert route and exactly wrong for a newsletter. So when a deliverability agent finds a pattern of failures it thinks a stricter policy would fix, it does not touch the route. It calls List Project Routes to show which route is the default and what its current policy is, attaches the failing message timelines from Get Message Events, and asks in Slack: "Route broadcast-eu currently uses opportunistic TLS. Switching it to enforced would stop delivery to any recipient whose server cannot negotiate an encrypted hop, for every future message on this route. Change it, or leave it and enforce per message on the alerts only?" The agent gathered every piece of evidence in seconds. The choice about who stops receiving mail belongs to a person.
Agent Capabilities
14 actionsSending
2- Send Email Sends one transactional or broadcast message through a project route and returns a message identifier with its initial status. Used for receipts, alerts, and any message where an idempotency key makes a retry safe.
- Send Email Batch Sends many distinct messages in one request, each with its own sender, recipients, subject, body, and TLS policy. The right shape for a campaign, because it is one call rather than one per person.
Message Activity
2- List Messages Returns sent messages with their current delivery status, filterable by status and date and paginated by cursor. Used for reconciliation sweeps and for finding the population behind a deliverability problem.
- Get Message Events Returns the delivery timeline for one message: queued, sent, delivered, opened, clicked, bounced, complained, or unsubscribed. This is how a workflow learns what actually happened to a message the send only reported as pending.
Suppressions
3- List Suppressions Returns the addresses Lettermint will not send to, with the reason and the scope each was added at. Used before a run and when a recipient reports never receiving anything.
- Add Suppressions Adds up to a thousand addresses to a suppression list in one request, at team, project, or route scope. Scope decides the blast radius, so workflows pick it deliberately rather than defaulting to the widest one.
- Remove Suppression Removes one address so Lettermint will send to it again. A spam complaint removal is assessed by the vendor first, so a success here does not always mean the block is already gone.
Domains and Routes
5- List Domains Returns the sending domains on the team with their verification state. The first thing to read when a send is refused for a From address that looks correct.
- Verify Domain DNS Asks Lettermint to re-check a domain's DNS records and returns the state of each one. Used right after the records are published rather than waiting for a periodic check.
- List Projects Returns the projects on the team. A project groups routes and owns the tokens that send through them, which makes this the way to resolve the identifier a route or a suppression belongs to.
- List Project Routes Returns the routes in a project with their settings, including which one a send inherits when no route is named. Used to show a reviewer what a proposed change would actually affect.
- Update Route Changes a route's settings, most consequentially its TLS policy. The operation this page's human gate exists for.
Team and Webhooks
2- List Webhooks Returns the webhook endpoints configured on the team with the events each subscribes to. Used to audit where delivery events are being sent before a flow starts depending on them.
- Get Team Returns the team the Team API token belongs to, with its plan and identifiers. Used as a cheap confirmation that a token is wired to the account a workflow expects before it changes anything.
Frequently Asked Questions
What can FlowRunner do with Lettermint?
FlowRunner agents can run Send Email, Send Email Batch, and List Messages in Lettermint, plus 11 more actions.
Does connecting Lettermint to FlowRunner require OAuth?
No. Lettermint connects to FlowRunner with an API key, no OAuth flow required.
Can Lettermint trigger a FlowRunner workflow automatically?
Lettermint doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Lettermint
Free plan, no card required. Connect in minutes.