Email Ingestion
How Coppermind ingests client emails into the correct client minds -- turning email threads into searchable memories without manual effort, using whatever email MCP you already have connected.
Why Ingest Emails?#
Meetings are not the only place client knowledge lives. Decisions, approvals, scope changes, and stakeholder updates often happen over email. Without email ingestion, you have to manually mention these in conversation or paste email content. With it, client emails are automatically extracted into memories that surface in meeting briefs, searches, and campaign history.
This is especially valuable when:
- A client sends a decision or approval via email between meetings
- You need to reference something a stakeholder said in an email thread during prep
- Campaign results or reports arrive by email and you want them captured automatically
How It Works#
Coppermind uses a source-agnostic approach. It does not connect to Gmail or Outlook directly. Instead, Claude reads your emails through whatever email MCP you have connected, normalizes the content, and hands it to Coppermind for attribution and storage.
- Claude detects which email MCP(s) you have connected (Gmail, Outlook, etc.)
- Claude searches for emails since your last ingestion checkpoint
- Emails are matched to client minds based on contact domains and known stakeholder email addresses
- The extraction pipeline pulls memories from email content (decisions, commitments, facts, preferences)
- Memories appear in briefs and searches like any other source
No background daemon or OAuth setup is required. Emails are ingested when you open Claude.
Prerequisites#
You need at least one email MCP connected in your Claude instance. Common options:
- Gmail MCP -- if you use Google Workspace
- Outlook MCP -- if you use Microsoft 365
- IMAP MCP -- if you use another provider
Coppermind does not need to know which one you have. Claude detects it automatically by checking for recognized email tools. If no email MCP is found, ingestion is silently skipped (no error, no prompt).
When Emails Get Ingested#
Emails are ingested at three trigger points, all using the same processing pipeline:
Session Start (Automatic)#
When you start a Claude session, a background check runs automatically:
- Detects your connected email MCP
- Reads the
last_email_checktimestamp from Coppermind - Searches for new emails from known client contacts since that timestamp
- Ingests matching emails into the correct client minds
- Displays a summary:
EMAIL: 4 email(s) ingested for Acme, XSCAPE
Before Meeting Prep (Automatic)#
When you prep a meeting, Coppermind first checks for any new emails from the last 24 hours related to that client, so the brief always reflects your freshest inbox context.
Manual#
Ask Claude directly:
"Check my email"
"Ingest emails for XSCAPE"
"Check my email from the last month"
You can override the lookback window and target a specific client.
First-Run Experience#
On the first run (no previous last_email_check):
- Coppermind defaults to pulling the last 14 days of email -- no configuration needed
- Runs the ingestion silently
- Reports what it found: "Pulled in 14 days of email. Found 8 client emails for Acme, XSCAPE. Want me to go further back?"
- You can adjust ("go back 30 days") or accept the default
After the first run, subsequent checks only look at emails since the last checkpoint.
Checking Email Ingestion Status#
"What's the status of my email ingestion?"
The status report includes:
| Field | Description |
|---|---|
| Last email check | When emails were last ingested |
| Memories this week | Email-sourced memories stored in the last 7 days |
| Unattributed count | Emails that matched multiple clients and need manual resolution |
| Source breakdown | Emails ingested per provider (e.g., gmail: 42, outlook: 7) |
How Emails Get Attributed to Clients#
The ingestion pipeline matches emails to client minds using:
- Sender/recipient email addresses -- matched against
email_contactsstored on each client mind - Company domains -- matched against
company_info.domainon client minds - To/CC fields -- when the sender does not match, recipients are checked (covers clients emailing you)
When an email matches exactly one client, it is attributed automatically. When it matches zero clients, it is skipped silently. When it matches multiple clients, it is logged for manual resolution.
Improving Attribution#
The more stakeholder information you store, the better attribution works:
"Set stakeholders for Acme: Sarah Chen (sarah@acme.com, VP Marketing),
Tom Reynolds (tom@acme.com, CEO)"
Email addresses in stakeholder records become attribution signals. After adding contacts, new emails from those addresses will route to the correct client mind.
Coppermind also auto-learns contacts from stakeholder memories over time.
What Gets Extracted from Emails#
The extraction pipeline processes email content the same way it processes meeting transcripts. It pulls out:
| Memory Type | Example |
|---|---|
decision | "We've decided to postpone the rebrand until Q3" |
commitment | "I'll send the revised proposal by Friday" |
preference | "Sarah prefers bullet-point updates over narrative" |
campaign_outcome | "The March email blast had a 28% open rate" |
stakeholder | "New hire: Lisa Park joining as Content Lead" |
fact | "Acme's fiscal year starts in July" |
These memories show up in search, meeting briefs, and campaign history just like anything you stored by hand or pulled from a transcript. They're tagged as email-sourced, so you can tell at a glance how a given piece of knowledge was captured.
What Gets Filtered Out#
The ingestion pipeline automatically skips:
- Auto-replies and out-of-office messages
- Newsletters and marketing emails
- Calendar invitations and updates
- Duplicate emails (same thread already ingested with identical content)
If a thread was previously ingested but has new replies, it is re-ingested with the updated content.
Data Flow and Privacy#
Emails transit through Anthropic's infrastructure during orchestration:
- Claude reads from your connected email (Gmail, Outlook) -- email content passes through Anthropic's API
- Claude hands the cleaned-up emails to Coppermind for ingestion -- they pass through Anthropic's API
- Coppermind extracts and stores the memories in your private database, attributed to the right client
Coppermind never directly contacts email providers. All email access is mediated by Claude and your connected MCP. No email provider credentials are stored by Coppermind.
Troubleshooting#
Emails are not showing up in memories#
Check these in order:
- Is an email MCP connected? Coppermind needs at least one email MCP in your Claude instance. If none is detected, ingestion is silently skipped.
- Are contacts attributed? If your client's email addresses are not in stakeholder data, emails may be skipped as unmatched. Add stakeholder emails.
- Is the lookback window too narrow? First run defaults to 14 days. Ask Claude to "check my email from the last month" to widen the window.
- Run status check. Ask "what's my email ingestion status?" to see the last check time and counts.
Unattributed emails#
When emails match multiple clients (or none), they are held rather than guessed. This protects client isolation. To resolve:
- Add more specific stakeholder email addresses to each client mind
- Over time, attribution improves as more contacts are associated with client minds
Relationship to Other Ingestion Methods#
Email ingestion complements other ways knowledge enters Coppermind:
| Method | Trigger | Best For |
|---|---|---|
| Email ingestion | Automatic (session start, meeting prep) | Ongoing email threads, async decisions |
| <a href="/guides/background-email-polling">Background email polling</a> | Automatic (every few minutes, 24/7) | Continuous coverage when Claude is closed |
| Auto-ingest transcripts | Automatic (post-meeting) | Meeting recordings via Granola |
| Paste in chat | Manual | Ad-hoc documents, one-off content |
| Folder ingestion | Manual (CLI) | Bulk document import |
| /cmo-connect | Manual (skill) | Pull from any MCP source |
All methods feed the same extraction pipeline and produce the same memory types. The difference is how the content enters the system.
Want 24/7 email coverage? See Background Email Polling to connect your Gmail for automatic ingestion even when Claude is not open.
Ready to try this yourself?
Coppermind is free to start and runs inside Claude. Your first meeting prep will convince you.
Try Coppermind Free