Auto-Log Email Interactions
Works with Evergreen, a local-first personal CRM for macOS. Get it on the Mac App Store.
When to Use
- End-of-week sync: "Log all my email interactions from this week to Evergreen"
- After a flurry of email activity: "Make sure Evergreen is up to date"
- Before reviewing your follow-up list: ensure interaction dates are current
- Periodic maintenance to keep "Last Interaction" field accurate
Prerequisites
- Gmail connected in Claude (via Google Workspace MCP or Gmail integration)
- Evergreen MCP server running
How It Works
- Fetch recent sent and received emails from Gmail for the target period
- Group emails by contact/thread
- Match email addresses to Evergreen contacts using
search_contacts(pass the address as thequery) - For each matched contact, summarize the email thread (topic, outcome, next steps)
- Log the interaction with
log_interaction(type: "email") - Skip contacts that already have a more recent interaction logged
Privacy-First Approach
| Do | Don't |
|---|---|
| Log a brief summary of the topic | Store full email bodies in notes |
| Note key decisions or commitments | Copy sensitive content |
| Record the date and direction (sent/received) | Log every single email in a thread |
| Capture next steps | Store attachments or links |
Example
Gmail activity (past week):
- 3 emails with sarah@meridianhealth.com (re: API integration timeline)
- 1 email to marcus@dataflow.io (sent partnership proposal)
- 5 emails with jamie@acmelabs.io (re: conference panel planning)
- 2 emails with unknown@newstartup.com (cold outreach, not in CRM)
Logged to Evergreen:
1. search_contacts({ query: "sarah@meridianhealth.com" }) → Sarah Chen
log_interaction({
contactId: sarah_id,
type: "email",
description: "Discussed API integration timeline — agreed on Q3 target, Sarah reviewing docs",
date: "2026-04-03"
})
2. search_contacts({ query: "marcus@dataflow.io" }) → Marcus Webb
log_interaction({
contactId: marcus_id,
type: "email",
description: "Sent partnership proposal for data pipeline collaboration",
date: "2026-04-01"
})
3. search_contacts({ query: "jamie@acmelabs.io" }) → Jamie Rodriguez
log_interaction({
contactId: jamie_id,
type: "email",
description: "Planning conference panel on AI in healthcare — confirmed topic and date",
date: "2026-04-04"
})
4. unknown@newstartup.com → Not in Evergreen (flagged for review)
Checklist
Auto-Log:
- [ ] Time period specified for email scan
- [ ] Emails grouped by contact and thread
- [ ] Addresses matched to Evergreen contacts
- [ ] Summaries are concise (not full email bodies)
- [ ] Duplicate interactions not created (check existing)
- [ ] Unknown contacts flagged for potential addition