Move from SendGrid
Move from Twilio SendGrid: export Marketing Campaigns contacts, every suppression list, and designs, rebuild automations, and switch your application's transactional email to IGSendMail's SMTP relay.
On this page›
This page moves you from Twilio SendGrid to IGSendMail. SendGrid is often used for two things: Marketing Campaigns (newsletters and automations) and application email sent through its API or SMTP (receipts, password resets). The guide covers both. Contacts and suppressions take about 30 minutes, because SendGrid keeps suppressions in six places.
Stuck on a step?
Reply to the email this guide came in, or write to us from the contact page. We answer migration questions by email, usually within a working day.
Download promptly
SendGrid's contact export link only works for 12 hours after the export starts. Do the exports when you're ready to import, and keep SendGrid running until both your marketing and your application email are sending from IGSendMail.
What comes across, and what doesn't#
| From SendGrid | How it moves | Time |
|---|---|---|
| Marketing Campaigns contacts and custom fields | Export each list to CSV, import into a list | Minutes |
| Global unsubscribes, group unsubscribes, bounces, blocks, spam reports, invalid emails | Export each as CSV, import into your Blacklist | 15 minutes |
| Designs from the Design Editor | Export the HTML, paste into a new template | A few minutes each |
| Code Editor designs | Copy the code, paste into a new template | A few minutes each |
| Marketing automations | Can't be exported; rebuild each one | 20 to 60 minutes each |
| Application (transactional) email | Point your app at IGSendMail's SMTP relay | An hour or two, including testing |
Step 1: Set up your sending domain#
Go to Sending domains, add the domain you send from, and publish the DNS records it shows you. Authenticate your domain walks through each record.
SendGrid's domain authentication added CNAMEs such as em1234, s1._domainkey and s2._domainkey, and link branding added two more. Remove them only after SendGrid has sent its last email, marketing and application alike. Removing the link-branding records also breaks tracked links in emails SendGrid already sent, so there's no rush. Keep your DMARC record.
Step 2: Export your contacts#
Export each list
In SendGrid, go to Marketing > Contacts. Open a list's ⋮ menu and choose Export. SendGrid emails you when the file is ready.
Download the file
Go to Exports and click Download CSV. The download only works for 12 hours after the export started.
Repeat for each list you want to keep.
Step 3: Import your contacts#
Create the list and its fields
Go to Lists and create a list for each SendGrid list you're keeping. Add a field under ListsFields for each custom field you use.
Import and map
Import each file and map each column to its field. Import contacts covers the mapping screen, duplicates and the import summary.
Plan size
The Free plan holds 2,500 contacts. Every paid plan has unlimited contacts, so if your list is bigger than that, choose a paid plan before you import.
Step 4: Bring your suppressions across#
SendGrid keeps suppressions in six places. Export each one as CSV:
| Suppression | Where in SendGrid | How to export |
|---|---|---|
| Global unsubscribes | Suppressions > Global Unsubscribes | Action menu > Download as CSV |
| Group unsubscribes | Marketing > Unsubscribe Groups | Group's ⋮ menu > Export (emailed to you) |
| Bounces | Suppressions > Bounces | Gear icon > Export CSV |
| Blocks | Suppressions > Blocks | Gear icon > Export CSV |
| Spam reports | Suppressions > Spam Reports | Gear icon > Download CSV |
| Invalid emails | Suppressions > Invalid Emails | Set the date range, then gear icon > Download CSV |
Then go to Blacklist and import each file. The Blacklist import reads the email address from the first column, so move the email column to the front first if it isn't there already.
Group unsubscribes are people who opted out of one kind of email, such as a newsletter, but not everything. If you'll send that kind of email from IGSendMail, blacklist them too; if the group only covered email you're not moving, you can leave them out.
Don't skip this. Emailing someone who unsubscribed or reported spam earns more complaints and may break the law, and emailing addresses that bounced damages your sender reputation. Blacklisted addresses are never emailed, from any list. Blacklist and suppression explains how it works.
Step 5: Move your designs#
- Design Editor designs: open the design, open the settings drawer, go to Build > Advanced and choose Export. You get the HTML without the images, so download the images and re-upload them.
- Code Editor designs: open the design and copy the code.
In IGSendMail, create a new template, choose your own HTML, and paste it in.
Then replace SendGrid's tags. {{first_name}}, {{{unsubscribe}}} and {{Sender_Address}} won't work here; insert tags with the editor's personalization control, as described in Personalization tags. Check the footer has your unsubscribe link and postal address.
Step 6: Rebuild your marketing automations#
SendGrid automations can only be duplicated inside SendGrid, so each one is rebuilt by hand. Write down what starts each one (usually a contact joining a list), each email and the wait before it. Then build it under Automations; Welcome series is a worked example and Build a workflow covers the editor.
Switch each automation on here only when you switch the SendGrid one off, so nobody gets the same email twice.
Step 7: Move your application email#
If your website or app sends email through SendGrid's API or smtp.sendgrid.net, it has to be pointed at IGSendMail too, or it stops working when you close SendGrid.
- Switch the connection. Point your application at IGSendMail's SMTP relay instead of SendGrid. Transactional email has the connection details and the settings to check.
- Replace dynamic templates. If your code sends a SendGrid dynamic template ID with Handlebars data, move that template's HTML into your application (or your framework's email templates) so your code composes the message itself.
- Replace the Event Webhook. If you process SendGrid's delivery events, switch to IGSendMail webhooks for subscribe, unsubscribe and bounce events.
- Test every message type (sign-up, password reset, receipt) before you revoke your SendGrid API keys.
A dedicated IP can't move between providers. Your sending reputation lives with your domain, so warm up gradually; see step 8.
Step 8: Before your first send#
- Verify the list. Old lists always contain dead addresses. Run email verification before your first campaign.
- Start with your most engaged people. Your domain is new to our servers, so send to recent openers first and build up over a week or two. Warm up a new domain has a schedule.
- Replace your signup forms with an IGSendMail form.
- Then close SendGrid: revoke the API keys, and remove SendGrid's DNS records once nothing sends through it.
Last updated September 25, 2026