CRM email sync: what lands on a company, and why
Current reads each CRM user's own Microsoft 365 mailbox — Inbox and Sent Items — and files the mail you exchange with partners and prospects onto the matching contact and company. The email sync is a one-way pull: the sync engine only reads; it never replies to, moves, or deletes anything in your mailbox. (Sales sequences are a separate, opt-in feature that does send from your mailbox on your behalf.)
The rule that governs everything below: a message is stored only when the other party is a known CRM contact address or sits on a company's own email domain. Everything else — your personal mail, your internal threads, your vendor receipts — is dropped the instant the match fails. It is never written to the database and its subject, body, and addresses are never logged.
How a message gets matched
Current looks at the other side of the exchange: for a message in your Inbox, the sender; for a message in Sent Items, every To and Cc recipient. It then tries two matches, in order.
| Match | What it does | Result |
|---|---|---|
| Exact contact address | The address is a contact on file, and that address sits on the contact's own company domain. | Filed against that contact and their company. |
| Company domain | The address isn't a contact, but its domain (or a subdomain of it) is a known company domain. | Filed against the company, with no contact. |
| No match | Neither test passes. | Discarded in memory. Nothing is stored. |
Where a company's email domain comes from
A contact address can only pull mail onto a company when it belongs to that company's own domain. Current derives that domain in three tiers, stopping at the first one that works:
- +The company's website — northwinddental.com on the record makes northwinddental.com the domain.
- +If the website is blank or yields no usable mail domain: the primary contact's email domain.
- +If neither works: the dominant domain across the company's contacts — it must sit on at least three distinct contact addresses AND cover more than half of them (an exact 50/50 split fails closed), must not already belong to another company, and must not be a shared host appearing on three or more companies' contact lists. If it's ambiguous, nobody gets it.
Three kinds of domain can never identify a company: free/public mail hosts (gmail.com, outlook.com, yahoo.com, icloud.com and the rest, plus social hosts like linkedin.com); your own staff domain; and hosted site-builder hosts (wixsite.com, squarespace.com, sharepoint.com and the like) — a brochure-site host is a website, never a mail domain. If a company ends up with no derivable domain, none of its contacts can match — Current fails closed and syncs nothing for it rather than guessing.
What it needs to run
- 1Connect Microsoft 365 for each personIntegrations → Microsoft Teams → Connect Microsoft 365. This is a per-user connection: each person consents for their own mailbox. A user without the admin nav connects from the in-app "Connect Microsoft 365" banner instead. Nobody's mail syncs until they connect.
- 2Have the mailbox read permission approvedCurrent requests delegated read access to the signed-in user's mail. If Microsoft hasn't granted it, the connection is flagged with "Microsoft hasn't granted Current mailbox access yet. Reconnect Microsoft 365 (or ask an admin to re-approve it) to sync your CRM email history." Sync stays quietly dark until it's approved — nothing breaks, nothing partial gets stored.
- 3Give the person CRM accessOnly CRM users' mailboxes are swept. Someone without CRM access has no email sync, connected or not.
How often it runs
| Trigger | Cadence | Notes |
|---|---|---|
| Background sweep | Every 5 minutes | Bounded to 25 mailboxes per run; users beyond the cap can pull their own mail with Sync now. |
| Sync now | On demand | The button in a contact's Email history drawer. Throttled to once a minute per person; a second click inside that window is a quiet no-op. |
| First-ever sync | Once | Backfills roughly the past year of Inbox and Sent Items, progressively across runs — a very large mailbox fills in over several ticks rather than all at once. |
After the first pass, Current only asks Microsoft for what changed, so ongoing syncs are cheap. For every other schedule in the platform, see "How often does Current sync? Every schedule, in one table".
Where the mail shows up
- +Sales → Contacts: the envelope button on a contact row opens the Email history drawer — threads newest first, each message expandable to its full body, up to the newest 200 messages.
- +The company record: emails appear in the activity timeline, and the collapsible "Full email archive" panel rolls up the newest 200 messages for the company — including domain-matched mail that has no contact row — shown 25 at a time via "Show earlier email". See "The company record: your single view of every account".
Drafts are never ingested. Deleting or filing a message in Outlook does not remove it from Current — the CRM timeline is a business record of what was sent, not a mirror of your mailbox. Message bodies are stripped of scripts and active content before they are ever stored, and links inside a message body open in a new tab.
Who can read synced mail
Reading is much narrower than ingesting. Current matches against every known contact and company domain in the workspace — because that match set is a privacy filter, not a visibility filter — but each stored message can only be read by:
- +the person whose mailbox it came from, or someone in sales leadership; and
- +only when that person can already see the company the message is filed under.
So an account executive sees their own mail plus nothing of a colleague's book; a sales manager sees the team's. See "Sales Manager vs. Account Executive: who sees what".
No one — not even an admin — can edit an individual synced message or hand-delete one: signed-in users hold no insert, update, or delete grant on the email table at all. Two admin levers do remove content in bulk: excluding a mailbox purges every message from it, and the retention window (100 days by default, platform-wide) clears the full body of messages older than the window while keeping subject, participants, dates, and the short summary snippet. A tenant admin can lengthen the window from CRM settings, up to two years. Mirrored PSA ticket descriptions follow the same 100-day rule once a ticket has been quiet that long; the ticket itself, its status history, and its numbers stay forever, and opening a ticket always fetches the full detail live from your PSA.
Keeping a mailbox out of it
Some inboxes shouldn't sync at all — an owner's or an executive's, where HR and contract threads live. A tenant admin can switch a single person's email sync off from Users & roles; doing so also permanently deletes everything already synced from that mailbox. The full walkthrough, including what the purge does and what happens if you turn it back on, is in "Excluding a mailbox from CRM email sync".
