Migrate from SendGrid to Send & Retain
Keep sending through your SendGrid key while your agent rebuilds your templates and automations here, paused. Switch one email type at a time.
✓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 SendGrid?
There's no SendGrid connector. Your agent rebuilds from your code, your templates, and what you export or describe.
Choose how you send
Paste your SendGrid API key on your sending settings page to keep sending through SendGrid, or use our platform sending with nothing to configure.
Import suppressions first
Export bounces, blocks, spam reports, invalid emails, and global unsubscribes from SendGrid's Suppressions pages and import them as your block list.
Import contacts
In Marketing → Contacts, export your lists and import the CSV. Custom fields become contact attributes.
Rebuild templates
Your agent rewrites your Dynamic Templates in React Email, turns their variables into template variables, and 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" }), });Rebuild automations, paused
Describe or screenshot your Marketing Campaigns automations. Your agent rebuilds each one here, triggered by a product event, paused until you turn it 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 SendGrid call in this repo and list each email type and its Dynamic Template ID.”
Templates
“Rewrite our SendGrid order confirmation template in React Email and send me a test.”
Swap
“Move our receipt email to the Send & Retain API with an idempotency key. Leave the rest on SendGrid.”
Automations
“Here's a screenshot of our SendGrid onboarding automation. Rebuild it here, paused.”
[ 03 / 05 ]SendGrid vs Send & Retain
What changes when I move from SendGrid?
Sending
SendGrid's own infrastructure
Our platform, or your own SendGrid or Resend key, with failover
Templates
Dynamic Templates
React Email (TSX), versioned. Edits create drafts
Marketing email
Marketing Campaigns, a separate product with single sends and automations
Automations triggered by product events in the same system. No blasts
Pricing
Email API by volume; Marketing Campaigns by contacts, billed separately
Priced on sends. Unlimited contacts on every tier
Suppressions
Separate lists for bounces, blocks, spam reports, and unsubscribes
One block list, checked right before every send
Who does the work
Developers and marketers, in code and the dashboard
Your AI agent over MCP, with your approval
[ 04 / 05 ]Honest limits
What doesn't move from SendGrid?
Contacts, suppressions, and templates move. Some things stay behind.
- Automations. There's no connector, so your agent rebuilds them from what you export or describe.
- Open and click history stays in SendGrid.
- Single sends to a whole list. Every email here goes to one person.
- Images hosted by SendGrid. Move them before you close the account.
Questions people ask us
Keep SendGrid sending. Move the rest.
Connect your SendGrid key, rebuild one template, and swap one call site.