# Migrating to Rasket

Bring your contacts, unsubscribes, lists, segments, templates and draft campaigns from Mailchimp, Klaviyo, SendGrid, MailerLite, or an export file. A migration only reads, and it never sends anything.

## How it works

1. In the dashboard, open **Audience → Import & migrate** and click **+ Import**.
2. Pick your platform and paste its key, or choose a file.
3. We count what is there. Review the list: everything is ticked, and the plan line says how many contacts count on your plan and what that costs.
4. Answer the few checks that need an answer, then start the import. You can close the tab; the run keeps going and shows in the Import & migrate list.
5. When it finishes, a report arrives by email with a warm-up plan.

One migration runs at a time per project. Running it again from the same account updates what came over before; it never makes duplicates.

## What every migration does

- **Suppressions come first and always.** Unsubscribed, bounced and complained addresses come over suppressed before any contact is written. They never get mail and never count on your plan, and they cannot be unticked.
- **Lists become topics.** Each contact keeps their subscriptions. A contact who never subscribed comes over unsubscribed.
- **Segments become segments.** A segment is a live rule when every condition has an exact match in Rasket, and a fixed list of today's members, marked as one, when it does not.
- **Templates and drafts** come over as HTML, with merge tags converted to Rasket variables. Drafts stay drafts: nothing is sent or scheduled.
- **Your key** is stored encrypted while the migration runs and deleted when it finishes, when you cancel, or after a day with nothing happening. It is never shown or logged.

> A migration never sends. Your contacts hear nothing until you send a campaign yourself.

## Mailchimp

Paste a Mailchimp API key. To make one:

1. In Mailchimp, open your profile menu and choose **Account & billing**.
2. Go to **Extras → API keys** and click **Create a key**.
3. Name it **Rasket**, copy the key and paste it here.

Mailchimp has no read-only key, so the key can do anything in your account. We only read with it; delete it in Mailchimp once the import is done. Audiences become topics, tags a property and a segment, and saved segments segments. Templates come over as their editable sections in plain HTML, because Mailchimp's API does not return a template's design. Customer Journeys, classic automations, forms and landing pages stay behind.

Everything that comes over from Mailchimp, and what stays behind, is on [Migrate from Mailchimp](https://www.rasket.com/migrate/mailchimp).

## Klaviyo

Paste a Klaviyo private key with Read-only access. To make one:

1. In Klaviyo, open **Settings → API keys**.
2. Click **Create private API key** and choose **Read-only** access.
3. Copy the key (it starts with `pk_`) and paste it here.

We check the key can read each area as you paste it, and name the one it cannot. On a large account the scan shows contacts as “at least” a number, because Klaviyo gives no total; the import still brings every profile. Flows stay behind, and the report names each one so you can rebuild it.

Everything that comes over from Klaviyo, and what stays behind, is on [Migrate from Klaviyo](https://www.rasket.com/migrate/klaviyo).

## SendGrid

Paste a SendGrid API key with Restricted Access. To make one:

1. In SendGrid, open **Settings → API Keys** and click **Create API Key**.
2. Choose **Restricted Access**. Set Marketing, Suppressions, Template Engine, Design Library, Sender Authentication and Stats to **Read**.
3. Copy the key (it starts with `SG.`) and paste it here.

Pick **EU** beside the key if your account is in SendGrid's EU region. A key that cannot read suppressions is refused, so a bounced address never comes over sendable. SendGrid hands contacts over as an export, which can take a few minutes to prepare; asking for that export is the one thing we ask SendGrid to do, with its notification email off. Unsubscribe groups become topics. Segments come over as fixed lists, and blocked addresses stay behind, because a block is temporary. Number and date fields keep their type. Designs come over as templates, and past single sends keep their subject and HTML. Your verified sender's name and postal address are offered for Settings → Sender, and your authenticated domains are listed to add here.

Everything that comes over from SendGrid, and what stays behind, is on [Migrate from SendGrid](https://www.rasket.com/migrate/sendgrid).

## MailerLite

Paste a MailerLite API token. To make one:

1. In MailerLite, open **Integrations → MailerLite API**.
2. Click **Generate new token** and name it **Rasket**.
3. Copy the token and paste it here. Use a token from the new MailerLite, not MailerLite Classic.

MailerLite tokens have no scopes, so the token can do anything in your account. We only read with it; delete it in MailerLite once the import is done. Groups become topics and segments fixed lists. MailerLite's API has no templates and gives a campaign's text rather than its design, so drafts arrive as text to restyle. Each subscriber's last open or click is read from their activity, which makes a big list slower. Forms are listed by name on the report so you can rebuild them. A MailerLite Classic account is not supported: move to the new MailerLite first, or upload an export.

Everything that comes over from MailerLite, and what stays behind, is on [Migrate from MailerLite](https://www.rasket.com/migrate/mailerlite).

## Substack and other files

Choose **Use a file instead**, or the file tile, and upload a CSV or a ZIP of CSVs, up to 50 MB. We recognise these exports by their columns:

| Export | What the file is | What comes over |
| --- | --- | --- |
| Substack | A zip from Settings → Exports, emailed when it is ready. | Subscribers as one topic, those who turned email off as unsubscribed, the plan and paid status as properties, each reader's last open, and published posts in the archive. |
| Mailchimp | A zip with one CSV per contact status. | The audience as one topic, its contacts with their opt-in times and IPs, and the cleaned file's addresses as bounces. |
| Klaviyo | A CSV of one list or segment. | Profiles with their email consent, as a topic. |
| Klaviyo suppressed profiles | A CSV of suppressed profiles. | Each address suppressed, with its reason and date. |

Any other CSV is matched column by column: pick which columns are the email, the name and the unsubscribed flag, and every other column becomes a property. Each list in a file becomes a topic, and HTML files in a ZIP become templates. Segments and draft campaigns come over when you connect the platform instead. The file is deleted seven days after the import ends.

Everything that comes over from Substack, and what stays behind, is on [Migrate from Substack](https://www.rasket.com/migrate/substack).

## After the import

The report says what came over, what needs a look, and a warm-up plan: send to your recently engaged contacts in the first week and to the rest over the following weeks, so mailbox providers get to know your sending domain. It is advice, not a limit.

Something stopped? A paused run keeps everything it brought over. Paste a new key if the old one was refused, and resume from the run's page.
