Complete email automation
for SaaS.

Capture leads with forms, onboard and convert users with event-driven sequences, send broadcasts to any segment, and fire every transactional email. One integration, the whole lifecycle.

Turns out ducks are better at email than chimps.

A duck postmaster lounging on a deck chair on a small beach island, sipping a tropical drink, while envelopes deliver themselves into the postbox
The visual editor

A drag-and-drop visual sequence editor.

Drag and drop triggers, waits, conditions, and emails. Start from a product event, a form submission, or a contact entering a list, not vague “user attributes” pulled from a CRM.

  • Trigger on events, form submissions, or list entry
  • Branch on event properties or user state
  • Wait minutes, hours, days, or until a condition is met
  • Per-contact timeline shows exactly what was sent
  • Draft, publish, and test sends before going live
Use cases

Every email your SaaS needs to send.

From the first lead-capture form to the last transactional receipt, every message your product sends lives in one place.

A duck postmaster lifting a cream envelope out of a butterfly net, the freshly caught lead
01

Lead capture & nurture

Turn website visitors into subscribers, then warm them up.

  • Embeddable landing-page forms
  • Lead-magnet and ebook delivery
  • Newsletter and waitlist signups
  • Double opt-in confirmation emails
  • Welcome sequences on form submit
  • Custom fields mapped to traits
A duck postmaster opening the post-office door, with the postbox flag raised for the day's first arrival
02

Onboarding

Get new users to their first "aha".

  • Welcome emails for new signups
  • Multi-step onboarding sequences
  • Feature tutorials triggered by events
  • Nudges when users stall mid-setup
  • First-week activation drips
  • "Aha-moment" reminders
A duck postmaster pressing a brass wax seal onto a cream envelope to make it official
03

Conversion

Turn trials into paid, paid into upgrades.

  • Trial-end reminders with usage stats
  • Upgrade nudges when users hit plan limits
  • Annual-billing offers
  • Free-to-paid drip campaigns
  • Win-back for expired trials
  • Team-expansion prompts
A duck postmaster raising the small red flag on the side of a terracotta pillar-box postbox
04

Retention

Keep users active. Catch the ones drifting away.

  • Wake dormant users back up
  • Celebrate milestones and anniversaries
  • Announce features to relevant users
  • Recover from failed payments
  • Early churn-risk signals
  • NPS surveys at the right moment
A duck postmaster holding a brass postal horn, with cream envelopes fanning out of the horn's bell
05

Broadcasts

Reach everyone at once, or just the segment that matters.

  • Product update announcements
  • New feature launches
  • Webinar and event invites
  • Monthly newsletters to a segment
  • Maintenance and incident notices
  • Pricing and plan-change updates
A duck postmaster stamping a wax seal onto a cream envelope marked with a small lightning bolt, the instant transactional send
06

Transactional

Every service email your product fires, one API call away.

  • Account verification emails
  • Password reset links
  • Billing receipts and invoices
  • Usage and quota alerts
  • Product and security notifications
  • One API call, your templates
FAQ

Questions, answered.

Do I need a separate form or newsletter tool?

No. Letter captures leads with embeddable forms (script, iframe, or plain HTML POST), confirms them with double opt-in, and drops them straight into the same contact database your product events feed. Capture, nurture, broadcast, and transactional all share one list, so there's no Zapier glue between a form tool and an email tool.

How does Letter compare to Userlist, Customer.io, Intercom, or Kit?

Userlist and Customer.io chase the same lifecycle-email outcomes, but they're built for product marketers wiring up sophisticated tooling. Letter targets the developer who actually has to plug it in: three API calls, a CLI, agent setup. Intercom is support chat with email bolted on; Kit (ConvertKit) is creator newsletters. Letter is email only, on purpose - marketing, lifecycle, and transactional in one pipe, nothing you'll never touch.

Do I need my own email provider?

No. Letter handles delivery end-to-end: sending, deliverability, suppression, the lot. Connect a domain, we verify SPF/DKIM, and mail flies. If you'd rather send from your own verified domain, that's the default.

Can Letter replace my transactional provider (Postmark / SendGrid)?

That's the plan. Transactional email - receipts, password resets, verification, notifications - is rolling out as the fourth pillar: one API call, the same branded templates and personalization as your marketing email, sent from your verified domain on the same deliverability infrastructure. Service messages correctly bypass marketing unsubscribe, and every send lands in the contact's timeline next to their lifecycle history.

What counts as a “contact”?

Any unique person you've identified with Letter: a signed-up user, a lead from a form, a waitlist signup, anyone. We don't charge per event or per email, only per contact in your database.

Will Letter feel like a marketing tool?

No. The sequence canvas is drag-and-drop, but the email composer is a clean text editor that renders cross-client MJML under the hood, not a fiddly block builder. The dashboard shows engineers what shipped to whom, not conversion funnels you'd never look at twice. Letter is built for the people writing the emails, not the people pitching them.

Can I migrate from another tool?

Yes. Import contacts from CSV or directly via API. We can run alongside your existing tool during migration so nothing drops. We've written guides for the common ones.

Install in seconds

Let your agent wire it up.
You're sending.

Hand the one-liner to your coding agent, or drop the SDK in yourself. Identify users, track events, embed a form: sequences fire automatically. No webhooks to configure, no schemas to define.

Set up with AI
npx @letterapp/cli

One command wires Letter into your app. It opens your browser to confirm, provisions your key, and installs the SDK. Your key is never pasted into chat.

or wire it up yourself
// npm i @letterapp/node
import { Letter } from "@letterapp/node";
 
const letter = new Letter({
apiKey: process.env.LETTER_API_KEY!,
});
 
letter.identify({ userId: user.id, email: user.email });
letter.track({ userId: user.id, event: "signed_up" });
Ready when you are

Send your first email
in ten minutes.

Free up to 1,000 contacts. No credit card. Drop the SDK in, fire your first event, watch it arrive.