Migrate from Resend to Send & Retain
Keep sending through your Resend key if you like. Add contacts, automations triggered by product events, and an agent that runs them.
✓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 Resend?
There's no connector for Resend. Your agent reads your code and templates, and rebuilds any Resend automations from what you describe.
Choose how you send
Paste your Resend API key on your sending settings page to keep sending through Resend, or use our platform sending with nothing to configure.
Import contacts and unsubscribes
Export your contacts from Resend as a CSV. Import it as your block list first, which picks up the unsubscribed column, then import it again as contacts.
Port your templates
Templates here are React Email (TSX) too, so your agent ports yours rather than starting over, then sends you a test of each.
Swap one call site
Move one email type to the Send & Retain API. 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" }), });Add automations on top
Send product events like signup or trial started, and your agent builds the welcome and trial automations, 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 Resend call in this repo and list each email type and the template it uses.”
Templates
“Port our React Email templates to Send & Retain, render each one, and send me a test.”
Swap
“Move the password reset email to the Send & Retain API with an idempotency key. Leave everything else on Resend for now.”
Automations
“Send a signup event when we create a user, and build a paused welcome automation for it.”
[ 03 / 05 ]Resend vs Send & Retain
What changes when I move from Resend?
Sending
Resend's own infrastructure
Our platform, or your own Resend or SendGrid key, with failover
Templates
React Email in code, or dashboard templates in a visual editor
React Email (TSX), versioned. Edits create drafts
Marketing email
Broadcasts to segments, and automations triggered by events
Automations triggered by what each user does. No broadcasts
Pricing
Plans by email volume, and by contacts for marketing
Priced on sends. Unlimited contacts on every tier
Agent access
Remote MCP server with browser sign-in, or an API key
Remote MCP server with browser sign-in. Automations stay paused until you approve
[ 04 / 05 ]Do you need to move?
Should I stop using Resend?
Not necessarily. Many teams keep Resend as the sender and use Send & Retain for everything around it.
- Happy sending only receipts and resets? Resend may be all you need.
- Want your agent to build and run those automations, paused until you approve, with unlimited contacts? Add Send & Retain.
- Keep your Resend key connected, and switch to our platform sending later if you want to.
[ 05 / 05 ]Related
Related pages
Questions people ask us
Keep Resend. Add the automations.
Connect your Resend key, port one template, and build your first automation paused.