Contact Enrichment
Works with Evergreen, a local-first personal CRM for macOS. Get it on the Mac App Store.
When to Use
- A contact record has only a name and email
- You want to fill in title, organization, location, or social links
- Before an important meeting where you need full context
- Periodic batch enrichment to keep your database current
How It Works
- Retrieve the contact with
get_contact to see what's already known
- Use web search to find publicly available information (LinkedIn profile, company website, recent news)
- Update the contact with
update_contact to fill in missing fields
- Append research findings to the contact's
notes field with update_contact
- Add or update the contact's
tags with update_contact based on what you learn
Fields to Enrich
| Field |
Sources |
| Title / Role |
LinkedIn headline, company about page |
| Organization |
LinkedIn, company website, news articles |
| Location |
LinkedIn profile, company HQ |
| Background |
LinkedIn summary, personal blog, conference talks |
| Recent activity |
News mentions, blog posts, social media |
| Mutual connections |
LinkedIn shared connections, event co-attendance |
Example
Starting contact:
Name: Jamie Rodriguez
Email: jamie@acmelabs.io
(everything else blank)
After enrichment:
1. get_contact({ contactId: jamie_id }) → sparse record
2. Web search "Jamie Rodriguez acmelabs.io"
3. update_contact({
contactId: jamie_id,
title: "VP of Engineering",
organization: "Acme Labs",
location: "San Francisco, CA"
})
4. update_contact({ contactId: jamie_id, notes: "## Research (2026-04-05)\n- VP Eng at Acme Labs (Series B, 50 employees)\n- Previously at Stripe (2019-2024)\n- Speaks at PyCon regularly\n- Interested in developer tools and open source" })
5. update_contact({ contactId: jamie_id, tags: ["engineering", "startup", "developer-tools"] })
Checklist
Enrichment:
- [ ] Existing data reviewed before overwriting
- [ ] Only publicly available information used
- [ ] Research date noted in appended notes
- [ ] Sources are credible (not outdated profiles)
- [ ] Tags updated to reflect new information
Learn More
1---2name: enriching-evergreen-contacts3description: Researches and enriches Evergreen CRM contacts with publicly available information — LinkedIn details, company info, recent news, and shared context. Use when a contact has sparse details, before an important meeting, or when batch-updating stale records.4---56# Contact Enrichment78> Works with [Evergreen](https://heltonlabs.com/evergreen), a local-first personal CRM for macOS. [Get it on the Mac App Store](https://apps.apple.com/us/app/evergreencrm/id6753191506?mt=12).910## When to Use1112- A contact record has only a name and email13- You want to fill in title, organization, location, or social links14- Before an important meeting where you need full context15- Periodic batch enrichment to keep your database current1617## How It Works18191. Retrieve the contact with `get_contact` to see what's already known202. Use web search to find publicly available information (LinkedIn profile, company website, recent news)213. Update the contact with `update_contact` to fill in missing fields224. Append research findings to the contact's `notes` field with `update_contact`235. Add or update the contact's `tags` with `update_contact` based on what you learn2425## Fields to Enrich2627| Field | Sources |28|-------|---------|29| Title / Role | LinkedIn headline, company about page |30| Organization | LinkedIn, company website, news articles |31| Location | LinkedIn profile, company HQ |32| Background | LinkedIn summary, personal blog, conference talks |33| Recent activity | News mentions, blog posts, social media |34| Mutual connections | LinkedIn shared connections, event co-attendance |3536## Example3738**Starting contact:**39```40Name: Jamie Rodriguez41Email: jamie@acmelabs.io42(everything else blank)43```4445**After enrichment:**46```471. get_contact({ contactId: jamie_id }) → sparse record482. Web search "Jamie Rodriguez acmelabs.io"493. update_contact({50 contactId: jamie_id,51 title: "VP of Engineering",52 organization: "Acme Labs",53 location: "San Francisco, CA"54 })554. update_contact({ contactId: jamie_id, notes: "## Research (2026-04-05)\n- VP Eng at Acme Labs (Series B, 50 employees)\n- Previously at Stripe (2019-2024)\n- Speaks at PyCon regularly\n- Interested in developer tools and open source" })565. update_contact({ contactId: jamie_id, tags: ["engineering", "startup", "developer-tools"] })57```5859## Checklist6061```62Enrichment:63- [ ] Existing data reviewed before overwriting64- [ ] Only publicly available information used65- [ ] Research date noted in appended notes66- [ ] Sources are credible (not outdated profiles)67- [ ] Tags updated to reflect new information68```6970## Learn More7172- [Evergreen — Local-First Personal CRM](https://heltonlabs.com/evergreen)73- [Evergreen Gets Serious: Building Tools That Think With You](https://mcginniscommawill.com/posts/2025-10-08-evergreen-gets-serious/)74- [Evergreen Gets Even Evergreener](https://mcginniscommawill.com/posts/2026-01-26-evergreen-gets-even-evergreener/)