office:crm-management
Manage contacts, companies, deals, and relationships. Use when adding contacts, logging interactions, or working with CRM data to prevent duplicates and maintain data quality.
What this skill does
# Office Admin CRM Management
## When to Use This Skill
Use this skill ANY time you:
- Add contacts from emails or conversations
- Create or update deals
- Log interactions with people
- Search for existing contacts or companies
- Work with relationships between contacts
- Backfill CRM data from email history
- Need to check if a contact already exists
## User CRM Preferences
Load user preferences from `~/.claude/office-admin-config.json`:
```json
{
"crm": {
"contactTypes": "professional" | "personal" | "mixed",
"detailLevel": "minimal" | "standard" | "detailed",
"autoLogInteractions": true | false,
"trackRelationships": true | false
}
}
```
Adapt your CRM workflow to match these preferences.
## Core Principles
### 1. Always Check Before Adding
**NEVER add a contact or company without checking if they already exist first.**
```bash
# WRONG - adds without checking
mcp__pagen__add_contact(name="John Doe", email="[email protected]")
# RIGHT - check first
mcp__pagen__find_contacts(query="[email protected]")
# Only add if not found
```
### 2. Associate Contacts with Companies
When you know someone's company, ALWAYS link them:
```bash
# Add company first (if needed)
mcp__pagen__add_company(
name="Acme Corp",
domain="acme.com",
industry="Technology"
)
# Then add contact with company association
mcp__pagen__add_contact(
name="John Doe",
email="[email protected]",
company_name="Acme Corp",
phone="+1-555-0100"
)
```
### 3. Log Meaningful Interactions
After ANY significant email exchange, meeting, or conversation, log it (if user has `autoLogInteractions` enabled):
```bash
mcp__pagen__log_contact_interaction(
contact_id="abc-123",
note="Discussed Q4 partnership. They're interested in our AI tool. Follow up after Thanksgiving.",
interaction_date="2025-11-22"
)
```
Adjust detail level based on user's `detailLevel` preference:
- **Minimal**: Just key facts
- **Standard**: Context about interaction
- **Detailed**: Thorough notes with quotes, decisions, next steps
## Available CRM Tools
### Core Tools
- `mcp__pagen__add_company(name, domain, industry, notes)` - Add new company
- `mcp__pagen__add_contact(name, email, company_name, phone, notes)` - Add new contact
- `mcp__pagen__update_contact(id, name, email, phone, notes)` - Update existing contact
- `mcp__pagen__create_deal(title, company_name, amount, stage, contact_name, initial_note, expected_close_date, currency)` - Create business opportunity
- `mcp__pagen__update_deal(id, title, stage, amount, expected_close_date)` - Update deal status
### Search & Query Tools
- `mcp__pagen__query_crm(entity_type, query, filters, limit)` - Universal search (contact/company/deal/relationship)
- `mcp__pagen__find_contacts(query, company_id, limit)` - Search contacts by name/email
- `mcp__pagen__find_companies(query, limit)` - Search companies by name/domain
### Relationship & Interaction Tools
- `mcp__pagen__log_contact_interaction(contact_id, note, interaction_date)` - Log interactions
- `mcp__pagen__link_contacts(contact_id_1, contact_id_2, relationship_type, context)` - Connect contacts
- `mcp__pagen__find_contact_relationships(contact_id, relationship_type)` - View relationships
- `mcp__pagen__add_deal_note(deal_id, content)` - Add notes to deals
## Deal Stages
Use these standard stages for deals:
- **prospecting** - Initial conversations, exploring possibilities
- **qualification** - Determining if it's a real opportunity with potential
- **proposal** - Active proposal or pitch in progress
- **negotiation** - Terms being discussed, getting close
- **closed_won** - Deal completed successfully
- **closed_lost** - Deal didn't happen (still valuable to track why)
## Workflow: Adding Contact from Email
When processing an email with a new person:
```bash
# 1. Check if contact exists
mcp__pagen__find_contacts(query="[email protected]")
# 2. If not found, extract info from email:
# - Full name
# - Email address
# - Company (if mentioned)
# - Phone (if in signature)
# - Context about them (adapt detail level to user's preference)
# 3. Check if company exists (if applicable)
mcp__pagen__find_companies(query="Example Corp")
# 4. Add company if needed
mcp__pagen__add_company(
name="Example Corp",
domain="example.com",
industry="Technology",
notes="[Context based on user's detailLevel preference]"
)
# 5. Add contact with company association
mcp__pagen__add_contact(
name="Jane Smith",
email="[email protected]",
company_name="Example Corp",
phone="+1-555-0200",
notes="[Context based on user's detailLevel preference]"
)
# 6. Log the interaction (if autoLogInteractions enabled)
mcp__pagen__log_contact_interaction(
contact_id="<returned_id>",
note="[Detail based on user's detailLevel preference]",
interaction_date="2025-11-22"
)
# 7. Track relationships (if trackRelationships enabled)
# If they mention knowing someone else in your CRM:
mcp__pagen__link_contacts(
contact_id_1="<jane_id>",
contact_id_2="<bob_id>",
relationship_type="colleague",
context="Jane mentioned working with Bob at previous company"
)
```
## Workflow: Creating a Deal
When you identify a business opportunity:
```bash
# 1. Ensure contact and company exist (see above)
# 2. Create the deal
mcp__pagen__create_deal(
title="AI Consulting Project - Example Corp",
company_name="Example Corp",
contact_name="Jane Smith",
stage="prospecting",
amount=50000, # in cents
currency="USD",
expected_close_date="2026-03-01",
initial_note="[Detail based on user's detailLevel preference]"
)
# 3. Log updates as deal progresses
mcp__pagen__add_deal_note(
deal_id="<deal_id>",
content="[Detail based on user's detailLevel preference]"
)
# 4. Update deal stage when it changes
mcp__pagen__update_deal(
id="<deal_id>",
stage="proposal",
amount=75000 # updated after scope discussion
)
```
## What Counts as a "Deal"?
Track these as deals:
- ✅ Consulting or advisory opportunities
- ✅ Speaking engagements with compensation
- ✅ Book publishing opportunities
- ✅ Partnership or collaboration opportunities
- ✅ Investment opportunities
- ✅ Real estate transactions
- ✅ Major purchases or sales
- ✅ Sponsorships (being a sponsor or receiving sponsorship)
Don't track as deals:
- ❌ Social lunches with no business angle
- ❌ Informational coffee chats
- ❌ Personal favors or introductions
- ❌ Newsletter subscriptions
- ❌ Generic networking
## Email Backfill Best Practices
When backfilling CRM from email history:
1. **Work in time-bounded batches** - Process 1-2 months at a time
2. **Start with SENT emails** - You're usually the initiator, so sent emails have better signal
3. **Then do INBOX** - Catch incoming opportunities you might have missed
4. **Skip noise** - Ignore newsletters, receipts, automated emails
5. **Focus on humans** - Only add real people they interact with
6. **Log context** - Include what was discussed, not just "sent email"
7. **Check for dupes** - Always search before adding
8. **Respect detailLevel** - Match note detail to user's preference
## Contact Types and Filtering
Based on user's `contactTypes` setting:
**Professional:**
- Focus on work relationships
- Track company associations carefully
- Emphasize business context in notes
- Create deals for opportunities
**Personal:**
- Focus on personal relationships
- Company associations optional
- Emphasize personal context (how you met, shared interests)
- Deals less common
**Mixed:**
- Handle both types
- Clearly distinguish in notes which category
- Be flexible with detail level
- Track both business and personal context
## Common Mistakes to Avoid
### ❌ Adding without checking
```bash
# This creates duplicates!
mcp__pagen__add_contact(name="Bob Jones", email="[email protected]")
mcp__pagen__add_contact(name="Bob Jones", email="[email protected]")
```
### ❌ Not associating with company
```bash
# Missing valuable context
mcp__pagen__add_contact(
name="Jane Smith",
email="[email protected]"
Related in Sales & CRM
process-mapper
IncludedUse when a BizOps lead, COO, or process-improvement owner needs to document an end-to-end business process (procurement, employee onboarding, incident handoff, customer-onboarding, claims adjudication) in BPMN-style notation, measure cycle times by stage, surface where work spends most of its time waiting vs. being worked, and quantify the gap between processing time and total elapsed time. Pairs Lean / Six Sigma / Theory-of-Constraints canon with deterministic stdlib-only Python tools to produce a process map, a ranked bottleneck list (with severity + root-cause hypothesis), and a cycle-time analysis (P50, P90, value-add ratio, Little's-Law throughput). Distinct from sales-pipeline, system-reliability (SLO), and strategic-OKR work — this is tactical process documentation for internal operations.
payment-integration
IncludedIntegrate payments with SePay (VietQR), Polar, Stripe, Paddle (MoR subscriptions), Creem.io (licensing). Checkout, webhooks, subscriptions, QR codes, multi-provider orders.
customer-success-manager
IncludedMonitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success
sales-engineer
IncludedAnalyzes RFP/RFI responses for coverage gaps, builds competitive feature comparison matrices, and plans proof-of-concept (POC) engagements for pre-sales engineering. Use when responding to RFPs, bids, or proposal requests; comparing product features against competitors; planning or scoring a customer POC or sales demo; preparing a technical proposal; or performing win/loss competitor analysis. Handles tasks described as 'RFP response', 'bid response', 'proposal response', 'competitor comparison', 'feature matrix', 'POC planning', 'sales demo prep', or 'pre-sales engineering'.
customer-success-manager
IncludedMonitors customer health, predicts churn risk, and identifies expansion opportunities using weighted scoring models for SaaS customer success
sales-engineer
IncludedAnalyzes RFP/RFI responses for coverage gaps, builds competitive feature comparison matrices, and plans proof-of-concept (POC) engagements for pre-sales engineering. Use when responding to RFPs, bids, or proposal requests; comparing product features against competitors; planning or scoring a customer POC or sales demo; preparing a technical proposal; or performing win/loss competitor analysis. Handles tasks described as 'RFP response', 'bid response', 'proposal response', 'competitor comparison', 'feature matrix', 'POC planning', 'sales demo prep', or 'pre-sales engineering'.