Key takeaways
- Forwarding and mailbox connectors are for new mail. Treat history as a separate, one-off job.
- Threads are rebuilt from headers, not subject lines.
- Decide which addresses are you (the shared address, aliases, agents) before matching contacts.
- Switch forwarding at cut-over, then carry anything that arrived in the mailbox after the export.
What helpdesks import when you connect a mailbox
| Destination | History on connect |
|---|---|
| Zendesk (Gmail connector) | Optionally the 300 most recent emails; afterwards only new unread mail becomes tickets |
| Front (Gmail or Office 365) | Optionally the 50,000 most recent messages |
| Help Scout | A built-in import tool that lists Gmail and Outlook as sources |
| Intercom and Freshdesk | No mailbox history import in the articles we checked; use the API route below |
Getting the history out, and rebuilding threads
Export through the Gmail API (the RAW format returns each whole message, headers included) or Microsoft Graph (which returns a message’s MIME content). Google Takeout and an Outlook .pst export also give you the mail, but as a snapshot that still needs parsing. Keep the raw messages until the migration is reconciled.
- Group messages by the References and In-Reply-To headers, not by subject alone: “Invoice” and “Help” will merge unrelated customers.
- A message from the shared address or a known agent is a reply; everything else is the customer.
- Keep CCs as participants, not as extra requesters.
- Skip what is not support: newsletters, bounces, auto-replies.
- Match contacts on the lower-cased email address, never on display name, and create each one once.
How each destination accepts historic conversations
| Destination | Historic route | Dates |
|---|---|---|
| Zendesk | Ticket Import API | created_at, updated_at, solved_at, and a date on every comment |
| Intercom | Create a conversation, then reply | created_at on the conversation and on each reply |
| Help Scout | Create conversation with imported set to true | createdAt, with no outgoing emails for imported conversations |
| Front | Import message | created_at on every message |
| Freshdesk | Create a ticket, then add replies and notes | No creation date field; store the original date in a custom field |
Check whether the destination suppresses notifications on imported records, and pause any automations you have already built for the duration of the import.
Moving from a mailbox to a helpdesk?
With DataGrine the move starts with read-only access to the mailbox, a written mapping and a sample you sign off, and ends with a catch-up run at cut-over. Run it self-serve on the platform or have the migration team handle it end to end, with 24/7 support either way. Tell us where the mail is and where it is going.