# Evergreen Event Follow Up

> Batch-processes contacts from a conference, dinner, or networking event into Evergreen CRM — creates records, tags them by event, and drafts personalized follow-up messages. Use after any event where you met multiple new people.

- Skill: `wdm0006/evergreen-event-follow-up` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wdm0006/evergreen-event-follow-up`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wdm0006/evergreen-event-follow-up/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wdm0006 (https://skillmd.com/u/wdm0006)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wdm0006/evergreen-event-follow-up

---


# Event Follow-Up Workflow

> 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).

## When to Use

- After a conference, meetup, dinner, or networking event
- You have a stack of business cards or a list of people you met
- You want to batch-create contacts and send personalized follow-ups
- After hosting or attending a group event

## How It Works

1. Parse the attendee list or notes to extract contact details
2. For each person, check for duplicates with `search_contacts`
3. Create new contacts with `create_contact`
4. Tag all contacts with the event name via the `tags` field on `update_contact`
5. Log the initial meeting as an interaction with `log_interaction`
6. Add conversation context to the contact's `notes` with `update_contact` (include who introduced you when the notes name an introducer)
7. If the notes say a specific person introduced you to this contact, resolve that introducer with `search_contacts`. If they're already in the CRM, call `record_introduction(introducerId, newContactId, notes?)` to record the `introducedBy` edge. If the introducer isn't a known contact, skip the call and keep the note from step 6.
8. Draft personalized follow-up messages for each contact
9. Create follow-up actions with `create_action`

## Event Tag Convention

Use consistent event tags for easy filtering later:

```
Format: event-[name]-[year]
Examples:
  event-ai-dinner-2026
  event-pycon-2026
  event-founders-retreat-q1
  event-team-offsite-apr26
```

## Example

**Input: Notes from Atlanta AI Dinner**
```
Met at Atlanta AI Dinner, April 3, 2026:

1. Sarah Chen — CTO at Meridian Health. Talked about healthcare data
   pipelines. Very interested in our API. sarah@meridianhealth.com

2. Marcus Webb — Founder of DataFlow. Building real-time analytics.
   Previously at Google. marcus@dataflow.io

3. Priya Sharma — ML Engineer at NewCo. Working on NLP for
   customer support. priya@newco.ai. Introduced by David Kim.
```

**Batch processing:**
```
For each contact:
1. search_contacts({ query: "[name]" }) → check for duplicates
2. create_contact({ ... })
3. update_contact({ contactId: id, tags: ["event-ai-dinner-2026", "atlanta", "ai"] })
4. log_interaction({
     contactId: id,
     type: "meeting",
     description: "Met at Atlanta AI Dinner — [conversation topic]"
   })
5. update_contact({ contactId: id, notes: "[conversation details]" })
6. create_action({
     contactId: id,
     title: "Send follow-up email to [name]",
     dueDate: "2026-04-05",
     priority: "medium"
   })

For Priya Sharma, the notes say "Introduced by David Kim" — record that edge:
7. search_contacts({ query: "David Kim" }) → matches contact david_id
8. record_introduction({ introducerId: david_id, newContactId: priya_id, notes: "Introduced Priya at the Atlanta AI Dinner" })
   (If David Kim isn't already a contact, skip this and keep "Introduced by David Kim" in Priya's notes.)
```

**Sample follow-up for Sarah:**
```
Subject: Great meeting you at the AI Dinner

Hi Sarah,

Really enjoyed our conversation about healthcare data pipelines last
night. The challenges you described with real-time patient data are
exactly the kind of problems I find fascinating.

I'd love to continue the conversation — especially around how our
API might fit into Meridian's architecture. Free for a quick call
next week?

Best,
[Name]
```

## Follow-Up Timing

| Priority | When to Send | Who |
|----------|-------------|-----|
| Same night / next morning | People you had deep conversations with |
| Within 48 hours | Everyone else you want to stay in touch with |
| Within a week | Lower priority but still worth connecting |
| Skip | Brief hellos with no real connection point |

## Checklist

```
Event Follow-Up:
- [ ] All contacts created with complete details
- [ ] Event tag applied consistently
- [ ] Initial interaction logged with conversation context
- [ ] Notes capture what you discussed (not just who they are)
- [ ] Introducer edge recorded with `record_introduction` for anyone the notes say was introduced by a known contact
- [ ] Follow-up messages personalized per conversation
- [ ] Follow-up actions created with appropriate deadlines
```

## Learn More

- [Evergreen — Local-First Personal CRM](https://heltonlabs.com/evergreen)
- [Vibe Coding a Personal CRM](https://mcginniscommawill.com/posts/2025-09-05-vibe-coding-personal-crm/)
- [Evergreen Gets Serious](https://mcginniscommawill.com/posts/2025-10-08-evergreen-gets-serious/)
- [Evergreen Gets Even Evergreener](https://mcginniscommawill.com/posts/2026-01-26-evergreen-gets-even-evergreener/)

