@thierryteisseire/0crm-skill
v1.1.0
Published
Comprehensive Zero CRM API skill for managing contacts, deals, tasks and user profiles via REST API. Simple, fast, and powerful CRM automation with bulk operations and comprehensive documentation.
Downloads
354
Maintainers
Readme
Zero CRM API Skill
Simple, fast, and powerful CRM automation — Programmatically manage contacts, deals, and user profiles with the Zero CRM REST API.
Interact with the Zero CRM application to automate contact management, deal tracking, and bulk data operations. Perfect for sales automation, data migration, and CRM integrations.
🚀 Quick Start
1. Installation
# Install Python dependencies
pip install -r requirements.txt
# Or install globally via npm
npm install -g @thierryteisseire/0crm-skill2. Get Your API Key
- Log in to Zero CRM
- Navigate to Settings → API Keys
- Copy your API key (format:
zero_<hash>)
3. Set Up Environment
# Create .env file
echo "ZERO_CRM_API_KEY=zero_your_api_key_here" > .env4. Test Connection
# Using Python
python3 scripts/test_api.py $ZERO_CRM_API_KEY
# Using CLI (after npm install)
0crm test📦 Features
- ✅ Contact Management — Create, read, update, delete contacts
- ✅ Deal Tracking — Manage sales pipeline with stages and priorities
- ✅ Bulk Operations — Import hundreds of contacts/deals in one request
- ✅ User Profile — Retrieve and manage user settings
- ✅ API Key Management — Generate and rotate keys programmatically
- ✅ Simple Authentication — Single header (
x-api-key) authentication - ✅ RESTful Design — Standard HTTP methods and status codes
📚 Usage Examples
Python SDK
import requests
import os
API_KEY = os.getenv("ZERO_CRM_API_KEY")
BASE_URL = "https://vbrsrhfxfv6qk2jbrraym2a2du0qlazt.lambda-url.us-east-1.on.aws"
headers = {"x-api-key": API_KEY}
# List all contacts
response = requests.get(f"{BASE_URL}/api/contacts", headers=headers)
contacts = response.json()
# Create a contact
new_contact = {
"name": "Jane Doe",
"email": "[email protected]",
"company": "Acme Corp",
"role": "VP Sales"
}
response = requests.post(f"{BASE_URL}/api/contacts", headers=headers, json=new_contact)
created = response.json()
print(f"Created contact: {created['id']}")Bulk Import from CSV
import csv
import requests
import os
API_KEY = os.getenv("ZERO_CRM_API_KEY")
BASE_URL = "https://vbrsrhfxfv6qk2jbrraym2a2du0qlazt.lambda-url.us-east-1.on.aws"
headers = {"x-api-key": API_KEY}
# Read CSV
contacts = []
with open('contacts.csv', 'r') as f:
reader = csv.DictReader(f)
for row in reader:
contacts.append({
"name": row["name"],
"email": row["email"],
"company": row.get("company", ""),
"role": row.get("role", "")
})
# Bulk import (API accepts arrays)
response = requests.post(f"{BASE_URL}/api/contacts", headers=headers, json=contacts)
result = response.json()
print(f"Imported {len(result['created'])} contacts")CLI Usage
# List contacts
0crm contacts list
# Create contact
0crm contacts create --name "John Doe" --email "[email protected]"
# Bulk import
0crm contacts import contacts.csv
# List deals
0crm deals list --stage "Negotiation"
# Get user profile
0crm profile🛠️ API Endpoints
| Endpoint | Method | Description |
|----------|--------|-------------|
| /api/health | GET | Health check |
| /api/contacts | GET | List all contacts |
| /api/contacts | POST | Create contact(s) |
| /api/contacts/:id | PATCH | Update contact |
| /api/contacts/:id | DELETE | Delete contact |
| /api/deals | GET | List all deals |
| /api/deals | POST | Create deal(s) |
| /api/deals/:id | PATCH | Update deal |
| /api/deals/:id | DELETE | Delete deal |
| /api/user/profile | GET | Get user profile |
| /api/user/generate-api-key | POST | Regenerate API key |
📖 Documentation
- SKILL.md — Comprehensive documentation for Claude Code
- API Reference — Detailed endpoint documentation
- Examples — Code samples and use cases
🔐 Security Best Practices
- Never commit API keys to version control
- Use environment variables for API keys (
.envfile) - Rotate keys regularly via
/api/user/generate-api-key - Use HTTPS only (enforced by default)
- Monitor API usage for unusual patterns
🧪 Testing
# Run basic tests
python3 scripts/test_api.py $ZERO_CRM_API_KEY
# Run comprehensive tests
python3 scripts/test_comprehensive.py
# Verify skill configuration
npm run verify📊 Use Cases
1. Sales Automation
Automatically create contacts from form submissions, web scraping, or enrichment services.
2. Data Migration
Bulk import contacts and deals from spreadsheets, legacy CRMs, or databases.
3. Reporting & Analytics
Export deals and contacts for external dashboards, BI tools, or custom reports.
4. Integration Workflows
Connect Zero CRM with Zapier, Make.com, or custom webhooks for automation.
🤝 Contributing
Contributions are welcome! Please open an issue or pull request on GitHub.
📄 License
MIT License - see LICENSE for details.
🔗 Links
- GitHub Repository: https://github.com/thierryteisseire/0crm-skill
- Zero CRM Application: https://vbrsrhfxfv6qk2jbrraym2a2du0qlazt.lambda-url.us-east-1.on.aws/
- Issue Tracker: https://github.com/thierryteisseire/0crm-skill/issues
Questions? Check the API Reference or open an issue on GitHub.
