Skip to content

Commit dd0e700

Browse files
authored
[extensions] CRM improvements: crm_ prefix, FTS search, meeting prep, stale detection
Adds crm_ namespaced Professional CRM tools, full-text search, meeting prep context, stale contact detection, and contributor metadata. Includes a small maintainer hardening fix for prep-context query errors.
1 parent f5457ee commit dd0e700

4 files changed

Lines changed: 354 additions & 74 deletions

File tree

extensions/professional-crm/README.md

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -154,31 +154,40 @@ If you build Extension 6, the `link_contact_to_professional_crm` tool works in r
154154

155155
## Available Tools
156156

157-
1. **`add_professional_contact`** — Add a contact (name, company, title, email, phone, linkedin_url, how_we_met, tags, notes)
158-
2. **`search_contacts`** — Search by name, company, or tags with ILIKE
159-
3. **`log_interaction`** — Log a touchpoint (contact_id, interaction_type, summary, follow_up_needed, follow_up_notes). Auto-updates contact's last_contacted timestamp.
160-
4. **`get_contact_history`** — Get a contact's full profile + all interactions ordered by date
161-
5. **`create_opportunity`** — Create an opportunity/deal linked to a contact (title, description, stage, value, expected_close_date)
162-
6. **`get_follow_ups_due`** — List contacts with follow_up_date in the past or next N days
163-
7. **`update_professional_contact`** — Update only the fields you provide on an existing contact, including setting or clearing `follow_up_date`
164-
8. **`link_thought_to_contact`****CROSS-EXTENSION BRIDGE** — Takes a thought_id and contact_id, retrieves the thought from your core Open Brain, and links it to the contact record
157+
All tools use the `crm_` prefix for clear namespace separation from other extensions.
158+
159+
1. **`crm_add_contact`** — Add a contact (name, company, title, email, phone, linkedin_url, how_we_met, tags, notes)
160+
2. **`crm_search_contacts`** — Full-text search across name, company, title, notes, and how_we_met using PostgreSQL FTS with GIN indexes. Falls back to ILIKE if the FTS function hasn't been created yet. Supports tag filtering and result limits
161+
3. **`crm_log_interaction`** — Log a touchpoint (contact_id, interaction_type, summary, follow_up_needed, follow_up_notes). Auto-updates contact's last_contacted timestamp via trigger
162+
4. **`crm_get_contact_history`** — Get a contact's full profile + all interactions + linked opportunities ordered by date
163+
5. **`crm_create_opportunity`** — Create an opportunity/deal linked to a contact (title, description, stage, value, expected_close_date)
164+
6. **`crm_get_follow_ups`** — List contacts with follow_up_date in the past or next N days, split into overdue vs upcoming
165+
7. **`crm_update_contact`** — Update only the fields you provide on an existing contact, including setting or clearing `follow_up_date`
166+
8. **`crm_link_thought`****CROSS-EXTENSION BRIDGE** — Takes a thought_id and contact_id, retrieves the thought from your core Open Brain, and links it to the contact record
167+
9. **`crm_prep_context`****MEETING PREP** — Aggregates a contact's full profile, recent interactions, open opportunities, pending follow-ups, and relationship health metrics into a single briefing. The power tool — ask "prep me for my meeting with Sarah" and get everything in one call
168+
10. **`crm_stale_contacts`** — Find relationships going cold — contacts with no interaction logged in the past N days, ordered by staleness. Helps you maintain your network proactively
165169

166170
## Expected Outcome
167171

168172
After completing this extension, you should be able to:
169173

170174
1. Maintain a professional contact database with rich context
171-
2. Log every interaction with timestamps and follow-up tracking
172-
3. Track opportunities through a pipeline (identified → in_conversation → proposal → negotiation → won/lost)
173-
4. Connect thoughts from your Open Brain to specific contacts
174-
5. Get proactive follow-up reminders before relationships go cold
175+
2. Search contacts instantly with full-text search (ranked results, not just substring matching)
176+
3. Log every interaction with timestamps and follow-up tracking
177+
4. Track opportunities through a pipeline (identified → in_conversation → proposal → negotiation → won/lost)
178+
5. Connect thoughts from your Open Brain to specific contacts
179+
6. Get proactive follow-up reminders before relationships go cold
180+
7. Prep for any meeting with a single command that pulls full context
181+
8. Detect stale relationships before they go cold
175182

176183
Your agent will be able to answer questions like:
177184
- "Who do I need to follow up with this week?"
178185
- "Show me my full history with Sarah Chen"
179186
- "What opportunities are in the proposal stage?"
180187
- "Find contacts I met at conferences who work in AI"
181188
- "Which thoughts have I captured about John's project?"
189+
- "Prep me for my meeting with Sarah" (aggregated briefing)
190+
- "Which relationships are going cold?" (stale contact detection)
182191

183192
## Troubleshooting
184193

0 commit comments

Comments
 (0)