CRM Customer Management Skill
Enterprise CRM workflow orchestration for AI agents — customer 360 lookups, deal pipeline management, activity logging, and multi-MCP onboarding across Salesforce, HubSpot, Zoho CRM, and Pipedrive.
What This Skill Does
This skill turns raw CRM tool access into reliable, repeatable workflows. Instead of figuring out which of the 28 CRM tools to call and in what order, the agent follows proven recipes:
| Workflow | Tool Calls | What It Achieves |
|---|---|---|
| Customer 360 Lookup | 5-6 | Complete customer picture in one response |
| Deal Management | 4-5 | Create, advance, or check deal status |
| Activity Logging | 3-4 | Record interactions with proper context |
| Customer Onboarding | 8-9 | Full setup with duplicate detection |
| Pipeline Review | 3-4 | Health summary with at-risk deal alerts |
Without this skill:
- Agent makes 10+ trial-and-error tool calls
- Inconsistent output format every time
- Forgets to check for duplicates before creating
- No audit trail (notes/activities not logged)
- Doesn't know how to combine CRM with email/calendar
With this skill:
- Deterministic tool sequences (3-5 calls per workflow)
- Consistent report templates every time
- Duplicate detection built into every create workflow
- Automatic audit trail on every write operation
- Cross-MCP orchestration (CRM + Email + Calendar + Slack)
Installation
Claude.ai
- Download this folder as a ZIP
- Go to Settings > Capabilities > Skills
- Upload the ZIP
Claude Code
# Clone into your skills directory
git clone https://github.com/zavora-ai/skill-crm-customer-management.git \
~/.skills/skills/crm-customer-management
ADK-Rust (adk-skill)
Place in your project's .skills/skills/ directory:
cp -r crm-customer-management /path/to/project/.skills/skills/
The adk-skill crate will auto-discover and score it against user queries.
Requirements
Required:
mcp-crmserver connected and authenticated (Salesforce, HubSpot, Zoho, or Pipedrive)
Optional (for cross-MCP workflows):
mcp-email— send follow-up emails after activitiesmcp-calendar— schedule meetings when deals advancemcp-slack— notify team on deal wins/risksmcp-notifications— alert owners on stalled deals
Folder Structure
crm-customer-management/
├── SKILL.md # Main skill file (loaded when triggered)
├── scripts/
│ ├── validate_contact.py # Data quality validation before creates
│ └── score_pipeline.py # Pipeline health scoring + staleness detection
├── assets/
│ ├── customer-360-report.md # Output template for customer lookups
│ └── pipeline-review-report.md # Output template for pipeline reviews
├── references/
│ ├── tool-sequences.md # Exact tool call patterns (loaded as needed)
│ ├── cross-mcp-workflows.md # Multi-server orchestration recipes
│ └── examples.md # 5 real-world scenarios with traces
├── README.md # This file (for humans, not loaded by agent)
└── LICENSE
How It Works
Progressive Disclosure
- Always loaded (~50 tokens): Name + description in frontmatter — enough for the agent to know when to activate
- Loaded on trigger (~800 tokens): SKILL.md body — decision tree, workflow steps, constraints
- Loaded as needed: References (tool sequences, examples) — only when the agent needs deeper guidance
Decision Tree
User request arrives
├── Person name/email? → Customer 360 Lookup
├── "deal", "pipeline", "forecast"? → Deal Management
├── "call", "meeting", "log"? → Activity Logging
├── "onboard", "new customer"? → Customer Onboarding
├── "pipeline review", "health"? → Pipeline Review
└── Unclear? → Ask for clarification
Example Usage
User: "What's the status of our deal with Acme?"
Agent behavior:
- Routes to Deal Management workflow
- Calls
search_deals(query: "Acme")→ finds deal - Calls
get_deal(id)→ gets stage, value, close date - Calls
list_deal_contacts(deal_id)→ shows who's involved - Calls
list_activities(record_id, limit: 5)→ recent engagement - Formats response using consistent structure
Result:
## Acme Corp Enterprise Deal
Stage: Negotiation | Value: $75,000 | Close: Feb 28
Contacts: John Smith (Decision Maker), Lisa Chen (Technical)
Last activity: 3 days ago ✅
See references/examples.md for 5 complete scenarios.
Success Criteria
| Metric | Target | How to Measure |
|---|---|---|
| Trigger rate | 90% on relevant queries | Run 20 test queries, track auto-activation |
| Workflow completion | 3-5 tool calls | Compare with/without skill enabled |
| Error rate | 0 failed API calls | Monitor mcp-crm server logs |
| Consistency | Same structure across runs | Run same request 5x, compare output |
| No user correction needed | Workflows complete autonomously | Note redirects during testing |
Scripts
validate_contact.py
Deterministic validation before creating contacts. Checks email format, phone format, name length, and flags personal email domains.
python scripts/validate_contact.py '{"name": "John Smith", "email": "[email protected]", "phone": "+1-555-0123"}'
# → {"valid": true, "errors": [], "warnings": []}
score_pipeline.py
Calculates weighted pipeline value, identifies stalled/at-risk deals, and produces a health score (0-100).
python scripts/score_pipeline.py '{"deals": [...], "quota": 500000}'
# → {"weighted_value": 234000, "health_score": 72, "at_risk": [...]}
Contributing
- Fork this repo
- Make changes to SKILL.md or references
- Test with 10+ queries that should trigger the skill
- Test with 5+ queries that should NOT trigger it
- Submit PR with test results
Related Skills
- itsm-service-management — IT service desk workflows
- customer-service-operations — Support ticket management
- payment-processing — Governed payment workflows
MCP Server Compatibility
This skill is designed for the mcp-crm server (v1.1.0+):
| Backend | Supported | Auth |
|---|---|---|
| Salesforce | ✅ | OAuth2 |
| HubSpot | ✅ | Private App Token |
| Zoho CRM | ✅ | OAuth2 |
| Pipedrive | ✅ | API Token |
All 28 tools across contacts, companies, deals, activities, pipelines, notes, and associations are orchestrated by this skill.
Contributors
| James Karanja Maina |
|---|
License
Apache-2.0
Part of the ADK-Rust Enterprise skills ecosystem.
Built with ❤️ by Zavora AI
No comments yet
Be the first to share your take.