---
title: "How to migrate from lemlist to FirstSales | FirstSales"
description: "Move your leads, custom variables, mailboxes, and sequences off lemlist into FirstSales with a clean CSV import, reconnected inboxes, and a fresh warm-up."
canonical: "https://firstsales.io/tutorial/migrate-from-lemlist/"
---

[Home](/)/[Tutorials](/tutorial/)/How to migrate from lemlist to FirstSales

Getting Started

# How to migrate from lemlist to FirstSales

Move your leads, custom variables, mailboxes, and sequences off lemlist into FirstSales with a clean CSV import, reconnected inboxes, and a fresh warm-up.

10 min read·Intermediate·7 steps

1. 1  
## Export your leads from lemlist  
In lemlist, open your leads or campaign and use its **export-to-CSV** option to download all leads — including the custom-variable columns you personalize with.
2. 2  
## Open the FirstSales contact importer  
Go to **Contacts**, choose an existing list or create a new one, and open **Import**. The wizard walks you through upload → map → import.  
![Open the FirstSales contact importer](/tutorials/crm-01-contacts.webp)
3. 3  
## Upload the CSV and map columns (including your variables)  
Drop your lemlist export — files up to **5 MB** and **10,000 rows** per import are supported. FirstSales auto-maps common headers; confirm the rest against the field list: `email` (**required**), `firstName`/`lastName`/`fullName`, `title`, `phone`, `linkedinUrl`, `company.name`/`company.domain`, and `tags` (semicolon-separated). Fold each lemlist custom variable into its closest field — e.g. `{{companyName}}` → `company.name`, `{{jobTitle}}` → `title` — or **Skip** it if nothing fits.
4. 4  
## Run the import and verify the counts  
Confirm the import. FirstSales reports how many rows were **imported**, **duplicates**, and **skipped** so you can see the full list landed before you move on.
5. 5  
## Reconnect your sending mailboxes  
Go to **Connectors → Add Connector** and reconnect the same domains you sent from in lemlist. **Google** and **Microsoft** connect with one OAuth click; any other provider connects over **SMTP / IMAP** with host, port, and app password.  
![Reconnect your sending mailboxes](/tutorials/warmup-01-add-connector.webp)
6. 6  
## Start warm-up before you send  
Open each reconnected connector's **Warm Up** tab and switch it on; leave **auto-adjust** on to ramp volume for you. See the [Set up email warm-up](/tutorial/email-warmup-setup/) tutorial for the full walkthrough.  
![Start warm-up before you send](/tutorials/warmup-03-warmup-toggle.webp)
7. 7  
## Rebuild your sequence in the campaign builder  
Create a campaign and fill in the required pieces: **name**, **goal**, **audience** (your imported list), an email content source, a **sender** (your warmed connector), and an approval flow. Re-type your lemlist sequence steps as the content source and point personalization at the imported fields, then launch only once warm-up is healthy.

## Pro tips

Hard-won shortcuts that keep warm-up on track.

1

### Warm up before you blast

Reputation does not come across in the CSV — a reconnected mailbox is a cold mailbox to inbox providers. Run warm-up for at least 2 weeks before pointing real campaigns at it, or you'll tank deliverability on day one.

2

### Keep your domains — just re-authenticate

You don't need new domains. Reconnect the same sending domains and re-confirm SPF/DKIM/DMARC in the connector; your DNS records carry over, only the platform connection is new.

3

### Map variables into real fields

FirstSales personalizes from its contact fields, not free-form lemlist tokens — fold each custom variable into title, company.name, company.industry, etc. so your personalized lines still fire.

4

### Import in batches under 10,000

The importer caps at 10,000 rows / 5 MB per file. Split a large lemlist export into multiple CSVs rather than forcing one oversized file.

## Frequently asked questions

Will my warm-up reputation transfer from lemlist?

**No.** Warm-up reputation lives with the mailbox/domain's sending history, not the platform, and it isn't exportable. Reconnect the mailbox and run FirstSales warm-up fresh for 2+ weeks before real sends.

Can I keep my existing sending domains?

**Yes.** Reconnect the same domains and re-verify SPF/DKIM/DMARC in the connector — the DNS records stay; only the platform link changes.

Do my lemlist custom variables import as-is?

Not as free-form tokens — the importer maps to a fixed field set, so fold each variable into its closest field (e.g. company name, job title) or **Skip** it. Personalization then reads from those fields.

How many contacts can I import at once?

Up to **10,000 rows** and **5 MB** per file. Split larger exports into multiple imports into the same list.

Which mailbox types can I reconnect?

**Google** and **Microsoft** via OAuth, or any other provider via **SMTP / IMAP** with host, port, and app password.

Do my lemlist sequences import automatically?

No — rebuild the sequence in the campaign builder. Paste your existing steps as the email content source and re-point personalization at the imported fields.

Will I double-contact people I already emailed in lemlist?

Manage this on your side — import only the contacts you intend to (re)touch, and use list/tag segmentation. FirstSales de-dupes within an import and reports duplicates, but it doesn't know your lemlist send history.

## Ready to put this into practice?

Start your FirstSales trial and launch a warmed, authenticated mailbox in minutes.

[Start for $1](https://app.firstsales.io)

[All tutorials](/tutorial/)