When teams migrate to Salesforce, contacts and accounts transfer cleanly. Email history from Gmail, Microsoft 365, or IMAP mailboxes does not. Salesforce's native tools capture new email going forward, not historical conversations. A platform-level backfill reads the mailbox directly, matches each email to the right contact and account, and writes native EmailMessage records to the Activity Timeline, as if the history had always been there.
A Salesforce migration moves structured data: contacts, accounts, opportunities, and notes from the source system. Email history is not structured data in a CRM export. It lives in mailboxes.
Whether the team is moving from HubSpot, Dynamics, Zoho, or a spreadsheet-based setup, the migration tooling imports what the source CRM exported. Gmail and Outlook didn't export those conversations. They stayed in the inbox.
Salesforce's Activity Timeline starts capturing email from the moment a user connects Einstein Activity Capture or installs a Gmail/Outlook connector. The years of email threads that predated the migration date are invisible to it.
Salesforce does have a process for importing EmailMessage records in bulk via the Data Loader, which Salesforce's own documentation covers for migrating emails related to Cases. In practice, this approach has real constraints:
A platform-level backfill skips the export-from-mailbox step. It connects directly to Gmail, Microsoft 365, or an IMAP mailbox, reads the conversation history, matches each email to the right contact and account in Salesforce, and writes it as a native EmailMessage record on the Activity Timeline.
Historic Email Importer for Salesforce runs a four-step process from mailbox connection to restored Activity Timeline.
Connect Gmail or Microsoft 365 with OAuth (read-only scopes). Or connect any IMAP mailbox with an app password. Up to 10 inboxes per provider connect at once, 30 in total.
Set which inboxes to include, the date range, the contact set, and the import limit. Both the inbox and the Sent folder are covered.
Dry runs are always free and show exactly what would land in Salesforce before any write happens. Built-in block categories filter no-reply addresses, marketing and newsletters, notifications, bounces, and postmaster traffic.
The importer writes native EmailMessage records to the correct contact and account Activity Timelines. Inline images are stored as Salesforce Files and linked to the email so they render correctly inside the email body. For large multi-year backfills, auto-continue chains runs automatically until completion.
Credits never expire. Dry runs are always free.
If you're running ConnectWise PSA alongside Salesforce and need recurring revenue (MRR, ARR, TCV) synced natively onto your Opportunities, that's a separate problem addressed by App-Sync PSA Bridge for Salesforce.
A Salesforce org without email history is a new org that forgot why customers stayed. The fix is a scoped, one-time backfill that restores the full picture before the first sales call in the new system.
Start a free trial of Historic Email Importer for Salesforce. Dry runs are always free.