Email in your modules
Where email threads appear on CRM, Support, and Recruiting pages, how auto-linking works, and how to fix the occasional miss.
Email in your modules
Email isn't just in your Inbox. Once you've connected a mailbox, threads also surface on the records they're about — contact pages, deal pages, ticket pages, candidate pages. That's the entire point of connecting email to a CRM: when you open Alice's contact page, you see everything you've ever emailed Alice, without switching tabs.
This page explains exactly where email appears, how the matching works, and what to do when it doesn't.
Where email appears
CRM contact page
Open any contact → the Email panel lives in the right rail, alongside the AI panel and intelligence widgets.
It shows every email thread between you and that contact, collapsed so a 12-message back-and-forth appears as a single row with a count badge. Newest thread on top. Unread threads are visually emphasised.
- Click a thread — opens the full thread on the Mail page.
- Click Compose — opens the composer, pre-filled for the contact. The outgoing message is automatically linked to this contact and any open deal they're part of.
- View all in Mail — drops you into the Mail page filtered to this contact's address.
CRM deal page
Every deal has the same panel. It shows threads with the deal's primary contact (linked via the deal → contact relationship).
Open a Q2 renewal deal for Acme Inc: the Email panel lists every thread with your main contact at Acme, including Sent messages. Ideal for prepping before a call.
Support ticket page
Threads with the ticket's customer contact appear on the ticket detail page. For email-to-ticket flows, this is where the inbound message that created the ticket lives.
Recruiting candidate page
Candidates have a dedicated Email tab, in the same tab strip as Overview, Resume, Evaluation, Interview, Timeline, References. Shows every thread with the candidate's email address.
Inline compose from the tab is pre-linked to the candidate, so replies are always scoped correctly.
Auto-linking: how Workestra matches email to records
When a new email syncs from your mailbox, Workestra decides which (if any) CRM entities it belongs to. The match happens automatically in three steps:
Step 1: Thread inheritance
If an earlier message in the same thread (same thread_id) is already linked to a contact, the new message inherits that link. This handles the case where a contact replies from a different address, or forwards a message — the link stays.
Step 2: Sender match
For an inbound message, Workestra checks whether from_address matches the email of any contact in your workspace. First match wins.
This is the most common path — 80% of inbound mail finds its contact this way.
Step 3: Recipient match
For a message you sent (that we synced from your Sent folder), the counterparty is in the To recipients. Workestra walks them and links to the first one that matches a contact.
What doesn't get auto-linked
- Mail from people who aren't contacts in your CRM. It's still visible in the Mail page — it just doesn't show on any entity page because there's no entity to show it on.
- Mail sent to a distribution list (
team@acme.com) where no single recipient matches a contact. - Mail where the contact has multiple email addresses and Workestra only knows one of them. The primary email is the one we match against.
For these cases, see Manual linking below.
Manual linking
The API for manual linking is shipped; the in-app picker is on the roadmap. Until then, you can correct links by editing the contact's email address to the one the mail actually came from — the next sync will re-link historical mail via the thread-inheritance path.
When auto-linking misses — typically because a contact has multiple addresses and emails come in from one we don't know about — you have two options:
Option A: Update the contact
- Open the contact in CRM
- Edit their email to include the new address (or set it as the primary)
- On the next sync, thread inheritance will pick up the prior messages in that thread and link them to the contact
Option B: Link from the email
Open the email in Mail → overflow menu → Link to… → pick the contact/deal/ticket/candidate. (Coming soon.)
Bi-directional read state
When you mark an email as read in Workestra, we write the same change back to your provider. So:
- Shared-mailbox teams see the same read state across everyone's Outlook. If Alice reads an email in Workestra, Bob opens Outlook and sees it's already read.
- Your phone and Workestra stay in sync. Reading on iPhone mail marks it read in Workestra on the next sync cycle. Marking read in Workestra writes through immediately.
This is a key difference from simple "email sync" tools that only read. Workestra treats your mail state as shared truth.
Workflow examples
Sales: preparing for a renewal call
- Open the Q4 renewal deal in CRM.
- Right rail → Email panel shows every thread with the primary contact.
- Scan the subjects — "Pricing update", "Contract review", "Invoice query".
- Click the most recent thread, skim, and go into the call with full context.
No tab-switching, no searching Outlook.
Support: triaging a shared-mailbox ticket
- Connect
support@acme.comas a shared mailbox (see Shared Mailboxes). - An inbound email auto-creates a support ticket.
- Open the ticket — the Email panel shows the full thread, including any prior conversations with this customer.
- Reply directly from the ticket; the reply goes out as
support@acme.comand is linked to the ticket.
Recruiting: candidate outreach
- Open a candidate profile.
- Email tab → see every prior message with them (cold outreach, scheduling, post-interview follow-ups).
- Compose reply → pre-linked to the candidate and any job they're applied to.
Privacy and visibility
Email threads on entity pages follow workspace permissions:
- Only members of the workspace that owns the email connection can see the threads.
- Contacts, deals, tickets, and candidates you don't have permission to view don't show mail — even if the underlying emails exist.
- Shared-mailbox rows are workspace-scoped. Connecting
support@acme.comin your workspace doesn't expose its mail to another workspace, even if that workspace has its own Workestra.
Troubleshooting
I don't see any emails on a contact page
Check, in order:
- Has the backfill finished? See Historical backfill. If sync is still running you may not have pulled history that covers this contact yet.
- Is the contact's email correct? The address in the CRM has to exactly match the address the mail came from. Typos, outdated addresses, and personal vs work addresses are the top cause.
- Is the mail in Workestra at all? Go to the Mail page and search for the contact's address — if nothing appears, the mail hasn't been synced yet.
I see emails on the contact page but not recent ones
The most recent mail arrives via webhook in seconds. If you're behind:
- Click Sync now on the connection card (Settings → Integrations → Outlook).
- If you're on localhost or a preview environment without public webhooks, only the daily cron and manual sync work. Sync now will fill in the gap.
An email is linked to the wrong contact
Auto-link uses the first match it finds. If two contacts share an email domain trick (e.g. Alice at Acme and Bob at Acme, same @acme.com), the trigger may pick the wrong one. Until manual re-link ships:
- Update the wrongly-linked contact's email (remove the conflict).
- On next sync, thread inheritance re-runs.
- Confirm the link is corrected.
Next Steps
- Inbox — Unified destination for email + notifications
- Historical backfill — How old mail gets pulled in
- Sending Emails — Composition, signatures, tracking
- Microsoft 365 Integration — Connection setup and management
Historical email backfill
Pull your existing mail into Workestra when you connect a mailbox — pick a time range, watch progress, pause or cancel any time.
Email storage & privacy (GDPR)
What email data Workestra stores when you connect a mailbox, where it lives, how it's protected, and how to exercise your data subject rights.