{"id":29475344,"url":"https://github.com/wonderwhy-er/twenty-crm-cli","last_synced_at":"2026-04-16T04:31:06.424Z","repository":{"id":298147817,"uuid":"999031276","full_name":"wonderwhy-er/twenty-crm-cli","owner":"wonderwhy-er","description":"Command-line interface for Twenty CRM. Built with Desktop Commander for AI-powered terminal automation and Claude AI integration.","archived":false,"fork":false,"pushed_at":"2025-06-09T16:30:08.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-10T23:14:43.531Z","etag":null,"topics":["ai-automation","claude-ai","cli","crm","desktop-commander","nodejs","open-source","rest-api","terminal","twenty-crm"],"latest_commit_sha":null,"homepage":"https://desktopcommander.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wonderwhy-er.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-09T16:23:00.000Z","updated_at":"2025-10-03T22:32:45.000Z","dependencies_parsed_at":"2025-06-09T17:35:20.328Z","dependency_job_id":"fd889765-946e-45a7-845c-fd13a703a5c3","html_url":"https://github.com/wonderwhy-er/twenty-crm-cli","commit_stats":null,"previous_names":["wonderwhy-er/twenty-crm-cli"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wonderwhy-er/twenty-crm-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wonderwhy-er%2Ftwenty-crm-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wonderwhy-er%2Ftwenty-crm-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wonderwhy-er%2Ftwenty-crm-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wonderwhy-er%2Ftwenty-crm-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wonderwhy-er","download_url":"https://codeload.github.com/wonderwhy-er/twenty-crm-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wonderwhy-er%2Ftwenty-crm-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31871394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-automation","claude-ai","cli","crm","desktop-commander","nodejs","open-source","rest-api","terminal","twenty-crm"],"created_at":"2025-07-14T16:08:11.890Z","updated_at":"2026-04-16T04:31:06.394Z","avatar_url":"https://github.com/wonderwhy-er.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twenty CRM CLI Tool\n\nA powerful command-line interface for interacting with Twenty CRM instances. Built with [Desktop Commander](https://desktopcommander.app/) for seamless integration with Claude AI chat sessions.\n\n## 🎯 Purpose\n\nThis CLI tool was specifically designed to be used by [Desktop Commander](https://desktopcommander.app/) through terminal interactions with Claude AI. It enables direct CRM management from chat conversations, making it perfect for:\n\n- Quick CRM data queries during conversations\n- Automated CRM operations from AI workflows  \n- Real-time data access without switching applications\n- Integration with AI-powered business processes\n\n## 🏗️ Built With\n\n- **[Desktop Commander](https://desktopcommander.app/)** - AI-powered terminal automation\n- **Node.js** - Runtime environment\n- **Twenty CRM REST API** - Open-source CRM platform\n\n## ✨ Features\n\n- 🔗 **Direct API Integration** - Connect to any Twenty CRM instance\n- 👥 **People Management** - List, view, and search contacts\n- 🏢 **Company Management** - Manage company records\n- 📊 **Schema Exploration** - View CRM structure and metadata\n- 🩺 **Health Monitoring** - Comprehensive system checks\n- 🎮 **Interactive Mode** - Live CLI for exploration\n- 🔧 **Debug Tools** - API response inspection\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js 16+ installed\n- Twenty CRM instance (self-hosted or cloud)\n- API key from your Twenty CRM settings\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/yourusername/twenty-crm-cli.git\ncd twenty-crm-cli\n\n# Install dependencies\nnpm install\n\n# Configure your API key\nnode cli-tool.js setup\n```\n\n### First Run\n\n```bash\n# Test connection\nnode cli-tool.js health\n\n# View your CRM schema\nnode quick-cli.js schema\n\n# List companies\nnode cli-tool.js companies list\n\n# Start interactive mode\nnode cli-tool.js interactive\n```\n\n## 📖 Usage\n\n### Basic Commands\n\n```bash\n# Setup and testing\nnode cli-tool.js setup              # Configure API key\nnode cli-tool.js test               # Test connection\nnode cli-tool.js health             # Full health check\n\n# Data operations\nnode cli-tool.js people list        # List contacts\nnode cli-tool.js companies list     # List companies\nnode cli-tool.js people get \u003cid\u003e    # Get specific person\n\n# Schema and metadata\nnode quick-cli.js schema            # View CRM structure\nnode cli-tool.js metadata          # Detailed metadata\n\n# Interactive mode\nnode cli-tool.js interactive        # Start live CLI\n```\n\n### Advanced Usage\n\n```bash\n# Pagination and filtering\nnode cli-tool.js people list --limit=20\nnode cli-tool.js companies list --limit=15\n\n# Debug API responses\nnode debug-api.js\n\n# Create test data\nnode quick-cli.js create-test-data\n```\n\n### Interactive Mode Commands\n\nOnce in interactive mode (`node cli-tool.js interactive`):\n\n```\ntwenty\u003e people 10          # List 10 people\ntwenty\u003e companies 5        # List 5 companies\ntwenty\u003e person \u003cid\u003e        # Get person details\ntwenty\u003e metadata           # Show schema\ntwenty\u003e test               # Test connection\ntwenty\u003e health             # Health check\ntwenty\u003e help               # Show help\ntwenty\u003e exit               # Quit\n```\n\n## 🔧 Configuration\n\nThe tool stores configuration in `.twenty-config.json`:\n\n```json\n{\n  \"apiKey\": \"your-api-key-here\",\n  \"baseUrl\": \"https://your-crm-instance.com/rest\",\n  \"instanceUrl\": \"https://your-crm-instance.com\"\n}\n```\n\n### Getting Your API Key\n\n1. Go to your Twenty CRM instance (e.g., `https://your-crm.company.com`)\n2. Navigate to **Settings** \u003e **API \u0026 Webhooks**\n3. Create or copy your API key\n4. Run `node cli-tool.js setup` and provide both your CRM URL and API key\n\n## 🎮 Desktop Commander Integration\n\nThis tool is optimized for [Desktop Commander](https://desktopcommander.app/) usage:\n\n### In Claude Chat:\n```\n\"List the companies in my CRM\"\n→ Desktop Commander runs: node cli-tool.js companies list\n\n\"Get details for person John Doe\"  \n→ Desktop Commander runs: node cli-tool.js people get \u003cid\u003e\n\n\"Show me my CRM health status\"\n→ Desktop Commander runs: node cli-tool.js health\n```\n\n### Automation Examples:\n```bash\n# Daily CRM health check\nnode cli-tool.js health \u003e daily-report.txt\n\n# Export company list\nnode cli-tool.js companies list --limit=100 \u003e companies.txt\n\n# Monitor CRM activity\nwhile true; do\n  node cli-tool.js health\n  sleep 3600  # Check every hour\ndone\n```\n\n## 📁 Project Structure\n\n```\ntwenty-crm-cli/\n├── cli-tool.js           # Main CLI application\n├── quick-cli.js          # Quick commands (schema, test data)\n├── debug-api.js          # API debugging tool\n├── package.json          # Dependencies\n├── .twenty-config.json   # Configuration (auto-generated)\n├── docs/                 # Documentation\n│   ├── README.md         # API documentation\n│   ├── rest-api-overview.md\n│   ├── authentication.md\n│   ├── core-endpoints.md\n│   ├── metadata-endpoints.md\n│   ├── webhooks.md\n│   └── examples/         # Code examples\n└── README.md            # This file\n```\n\n## 🔍 Supported Twenty CRM Objects\n\n### Standard Objects\n- **People** - Individual contacts and leads\n- **Companies** - Organizations and businesses  \n- **Notes** - Text notes and observations\n- **Tasks** - To-do items and reminders\n- **Opportunities** - Sales opportunities\n- **Activities** - Meetings, calls, interactions\n- **Workflows** - Automated processes\n\n### API Endpoints\n- `/rest/people` - Manage contacts\n- `/rest/companies` - Manage companies\n- `/rest/notes` - Manage notes\n- `/rest/tasks` - Manage tasks\n- `/rest/opportunities` - Manage opportunities\n- `/rest/metadata/objects` - Schema information\n\n## 🛠️ Development\n\n### Adding New Commands\n\n1. Add command logic to `TwentyCLI` class in `cli-tool.js`\n2. Update the CLI parser in the `main()` function\n3. Add help text and examples\n\n### API Integration\n\nThe tool uses the Twenty CRM REST API:\n- Base URL: `https://your-instance.com/rest`\n- Authentication: Bearer token\n- Response format: JSON with nested data structure\n\n### Testing\n\n```bash\n# Test all functionality\nnode cli-tool.js health\n\n# Debug API responses  \nnode debug-api.js\n\n# Test specific endpoints\nnode cli-tool.js test\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- **[Twenty](https://twenty.com/)** - The amazing open-source CRM platform\n- **[Desktop Commander](https://desktopcommander.app/)** - AI-powered terminal automation that made this project possible\n- **Claude AI** - For intelligent conversation-driven development\n\n## 🆘 Support\n\n- **Issues**: [GitHub Issues](https://github.com/yourusername/twenty-crm-cli/issues)\n- **Twenty CRM Docs**: [https://twenty.com/developers](https://twenty.com/developers)\n- **Desktop Commander**: [https://desktopcommander.app/](https://desktopcommander.app/)\n\n## 🏷️ Version\n\nCurrent version: 1.0.0\n\nBuilt for seamless AI-driven CRM management through [Desktop Commander](https://desktopcommander.app/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwonderwhy-er%2Ftwenty-crm-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwonderwhy-er%2Ftwenty-crm-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwonderwhy-er%2Ftwenty-crm-cli/lists"}