Migrate from Postmark to Send & Retain
Move your transactional emails one at a time, with Postmark running until each one works. Then add automations on the same API.
✓Free to start. Unlimited contacts on every tier.
Inventory before cutover
Inventory
Source material read
Rebuild
Created paused
Verify
Real inbox test
Switch
One trigger first
Destination automation
Paused until validation and explicit cutover
[ 01 / 05 ]Step by step
How do I migrate from Postmark?
There's no Postmark connector. Your agent works from your code and your templates, one email type at a time.
Set up your domain
Your agent creates your sending domain and hands you the DNS records to add, then verifies them and sets up a sender.
Import suppressions first
Export each message stream's suppressions from its Suppressions tab and import them as your block list.
Rebuild templates
Your agent rewrites your Postmark templates in React Email, keeps their variables, and sends you a test of each.
Swap one call site
Start with a low-risk email, not password resets. Retry with the same Idempotency-Key and it never sends twice.
send-welcome.mjsconst response = await fetch("https://sendandretain.com/api/v1/emails", { method: "POST", headers: { Authorization: `Bearer ${process.env.AEM_KEY}`, "Content-Type": "application/json", "Idempotency-Key": `welcome-${user.id}` }, body: JSON.stringify({ to: user.email, template: "welcome" }), });Move the critical emails last
Once the first email has delivered cleanly, move receipts and resets. Keep Postmark connected until they work.
Add automations
Send product events and your agent builds welcome and trial automations on top, paused until you turn them on.
[ 02 / 05 ]Example prompts
What can I ask my agent to do?
Paste these into Claude Code, Cursor, or Codex inside your repo.
Inventory
“Find every Postmark call in this repo and list each email type, its template, and its stream.”
Templates
“Rewrite our Postmark welcome template in React Email, render it, and send me a test.”
Swap
“Move the welcome email to the Send & Retain API with an idempotency key. Leave resets on Postmark.”
Automations
“Send a trial started event from our billing code and build a paused trial automation for it.”
[ 03 / 05 ]Postmark vs Send & Retain
What changes when I move from Postmark?
Focus
Transactional email, with a separate broadcast stream
Transactional and marketing email in one system
Marketing automations
Not built for email automation
Automations triggered by product events, always created paused
Contacts
No contact records
One record per person, with attributes, events, and history
Templates
Postmark templates
React Email (TSX), versioned. Edits create drafts
Pricing
Priced on email volume
Priced on sends. Unlimited contacts on every tier
Who does the work
Developers, in code, plus an official MCP server
Your app over the API, your AI agent over MCP
[ 04 / 05 ]Do you need to move?
Should I leave Postmark?
Only if you want more than transactional email. Postmark is a strong choice for receipts and resets alone.
- Sending only transactional email and happy with it? Stay on Postmark.
- Want welcome, trial, and win-back emails without building them in your own code? Send & Retain does both.
- Moving? Go one email type at a time, critical emails last.
[ 05 / 05 ]Related
Related pages
Questions people ask us
Move one transactional email first.
Rebuild one template, swap one call site, and keep Postmark until it works.