Twenty CRM
This Model Context Protocol (MCP) server transforms your Twenty CRM instance into a powerful tool accessible by Claude and other MCP-compatible AI assistants. It provides comprehensive access to contacts, companies, tasks, and notes with full TypeScript support and robust error handling. By giving AI direct access to your Twenty CRM, it becomes a powerful CRM assistant capable of reading, creating, updating, and automating CRM workflows through natural language interactions.
Key Features
Use Cases
A Model Context Protocol (MCP) server that provides seamless integration with the Twenty CRM API, enabling LLM agents to interact with your CRM data through well-defined, typed tools.
- Overview
- Prerequisites
- Quick Start
- Installation
- Configuration
- OAuth Authentication
- Verification
- IDE Integration
- Usage
- Troubleshooting
- Additional Resources
This MCP server transforms your Twenty CRM instance into a powerful tool accessible by Claude and other MCP-compatible AI assistants. It provides comprehensive access to contacts, companies, tasks, and notes with full TypeScript support and robust error handling.
- 🤝 Contact Management: Create, retrieve, update, and search contacts
- 🏢 Company Management: Full company lifecycle management
- 💼 Opportunity Tracking: Complete sales pipeline management
- 📝 Activity Management: Unified timeline view with filtering
- ✅ Task Management: Create and manage tasks
- 🔗 Relationship Management: Link entities and analyze connections
- 🔍 Metadata Discovery: Explore CRM schema and field definitions
- 🔐 OAuth 2.1 Authentication: Secure user-specific API key management
- 🔒 Full TypeScript Support: Type-safe operations with validation
Total: 29 MCP Tools providing comprehensive CRM automation capabilities. See full tool list →
MCP (Model Context Protocol) servers are tools that extend AI assistants like Claude with new capabilities. Once configured, this server allows Claude to:
- 🔍 Read your CRM data (contacts, companies, opportunities)
- ✍️ Create new records directly from conversations
- 🔄 Update existing information
- 🤖 Automate CRM workflows through natural language
Think of it as giving Claude direct access to your Twenty CRM, turning it into a powerful CRM assistant.
Before installing, ensure you have:
- ✅ Node.js 18 or higher - Download from nodejs.org
- ✅ npm (included with Node.js)
- ✅ Git for cloning the repository
- ✅ Twenty CRM instance with API access
- ✅ Text editor for configuration files
# Check Node.js version (should be 18+)
node --version
# Check npm is installed
npm --version
# Check git is installed
git --version⚠️ Windows Users: The quick install script requires Git Bash or WSL. See Windows Installation Guide for alternatives.
# Try instantly with npx - no installation needed!
npx twenty-mcp-server setup
# Test your configuration
npx twenty-mcp-server test
# Start the server
npx twenty-mcp-server startPerfect for trying Twenty MCP Server before committing to installation!
# Install globally with npm
npm install -g twenty-mcp-server
# Run the interactive setup wizard
twenty-mcp setup
# Start the server
twenty-mcp startThat's it! The CLI will guide you through everything else.
For experienced users who want to clone and modify the source:
# Clone, install, configure, and run
git clone https://github.com/jezweb/twenty-mcp.git && \
cd twenty-mcp && \
chmod +x install.sh && \
./install.sh && \
cp .env.example .env && \
echo "Now edit .env with your API key and base URL" && \
nano .envThen configure your IDE using the absolute path shown by the installer.
┌─────────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐
│ 1. Install │ --> │ 2. Configure │ --> │ 3. Verify │ --> │ 4. Connect │
│ - Clone repo │ │ - API key │ │ - Validate│ │ - IDE │
│ - Build │ │ - Base URL│ │ - Test │ │ - Use! │
└─────────────────┘ └──────────────┘ └──────────────┘ └─────────────┘
(~3 min) (~2 min) (~1 min) (~2 min)
| Method | When to Use | Time | Platform |
|---|---|---|---|
| ⚡ npx Instant Trial | Try before installing - no commitment! | ~30 seconds | All platforms |
| 🌟 npm Global Install | Regular use and best performance | ~1 minute | All platforms |
| 🎯 Git Clone + Install | Developers who want to modify code | ~3 minutes | Linux/macOS/Git Bash |
| 🔧 Manual Git Setup | Windows Command Prompt or custom needs | ~5 minutes | All platforms |
Experience Twenty MCP Server instantly without any installation:
# Try it right now - no installation required!
npx twenty-mcp-server setup
# Configuration is saved globally for future npx runs
npx twenty-mcp-server test
# Start using it immediately
npx twenty-mcp-server startBenefits:
- ✅ Zero installation - try instantly
- ✅ Always runs the latest version
- ✅ Configuration persists between runs
- ✅ Perfect for testing and evaluation
- ✅ No global installation clutter
Ready to install permanently? Simply run: npm install -g twenty-mcp-server
For users who want Twenty MCP Server permanently installed:
# Install globally
npm install -g twenty-mcp-server
# Verify installation
twenty-mcp --version
# Run setup wizard
twenty-mcp setupBenefits:
- ✅ Works on all platforms (Windows, macOS, Linux)
- ✅ Automatic PATH configuration
- ✅ Interactive setup wizard guides you through everything
- ✅ No manual file management or path configuration
- ✅ Easy updates with
npm update -g twenty-mcp-server - ✅ Built-in CLI commands for management and testing
- ✅ Professional configuration management
What the setup wizard configures:
- 🔧 Twenty CRM API connection
- 🔐 OAuth 2.1 authentication (optional)
- 🛡️ IP address protection (optional)
- ⚙️ Server preferences and defaults
- 📁 Cross-platform configuration storage
For developers who want to modify the source code:
# Step 1: Clone the repository
git clone https://github.com/jezweb/twenty-mcp.git
cd twenty-mcp
# Step 2: Make install script executable (Linux/macOS only)
chmod +x install.sh
# Step 3: Run the installation
./install.shThe install script will:
- ✅ Check Node.js version (18+ required)
- ✅ Install all dependencies
- ✅ Build the TypeScript project
- ✅ Run tests (if API key is configured)
- ✅ Show your absolute path for IDE configuration
- ✅ Provide next steps
📝 Note: Save the absolute path shown by the installer - you'll need it for IDE configuration!
Perfect for Windows Command Prompt users or those who prefer manual control:
# Step 1: Clone the repository
git clone https://github.com/jezweb/twenty-mcp.git
cd twenty-mcp
# Step 2: Install dependencies
npm install
# Step 3: Build the TypeScript project
npm run build
# Step 4: Verify the build succeeded
# Linux/macOS:
ls -la dist/index.js
# Windows:
dir dist\index.js✅ If you see dist/index.js, the build succeeded!
🚨 Critical: You MUST use the absolute path to
dist/index.jsfor IDE configuration. Relative paths will NOT work!
🐧 Linux/macOS
# Get your absolute path
pwd
# Example output: /home/username/twenty-mcp
# Your MCP server path will be:
# /home/username/twenty-mcp/dist/index.js🪟 Windows
# Command Prompt
cd
# Example output: C:\Users\username\twenty-mcp
# Your path: C:\Users\username\twenty-mcp\dist\index.js
# PowerShell
Get-Location
# Example output: C:\Users\username\twenty-mcp
# Your path: C:\Users\username\twenty-mcp\dist\index.js
# Git Bash
pwd
# Example output: /c/Users/username/twenty-mcp
# Your path: C:/Users/username/twenty-mcp/dist/index.js⚠️ Warning: If your path contains spaces (e.g., "Program Files"), use quotes in your IDE configuration!
Your MCP server path will be: [absolute-path]/dist/index.js
Before proceeding to configuration, verify your installation:
# 1. Check Node modules installed
test -d node_modules && echo "✅ Dependencies installed" || echo "❌ Run: npm install"
# 2. Check build completed
test -f dist/index.js && echo "✅ Build successful" || echo "❌ Run: npm run build"
# 3. Check your path
echo "📍 Your MCP path: $(pwd)/dist/index.js"🪟 Windows Users: See our detailed Windows Installation Guide for step-by-step instructions with Command Prompt, PowerShell, and Git Bash options.
-
Log into your Twenty CRM instance
- For Twenty Cloud: https://app.twenty.com
- For self-hosted: Your instance URL
-
Navigate to Settings
- Click on your profile avatar (top right)
- Select "Settings" from the dropdown
-
Find API & Webhooks
- Look in the "Developers" section
- Click on "API & Webhooks"
-
Generate Your API Key
- Click "Generate API Key" button
- Important: Copy the key immediately - it won't be shown again!
- Store it securely (password manager recommended)
# Copy the example configuration
cp .env.example .env
# Edit with your favorite editor
nano .env # or vim, code, notepad, etc.Add your configuration to the .env file:
# Your Twenty CRM API Key (from Step 1)
TWENTY_API_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
# Your Twenty instance URL (no trailing slash!)
TWENTY_BASE_URL=https://api.twenty.comCommon Base URLs:
- Twenty Cloud:
https://api.twenty.com - Self-hosted:
https://your-company.twenty.com - Local development:
http://localhost:3000
# Linux/macOS
export TWENTY_API_KEY="your-api-key-here"
export TWENTY_BASE_URL="https://api.twenty.com"
# Windows (Command Prompt)
set TWENTY_API_KEY=your-api-key-here
set TWENTY_BASE_URL=https://api.twenty.com
# Windows (PowerShell)
$env:TWENTY_API_KEY="your-api-key-here"
$env:TWENTY_BASE_URL="https://api.twenty.com"📌 Important: Environment variables must be loaded in your current shell session!
Understanding .env Files
.env files store configuration but don't automatically load into your shell:
- Linux/macOS: Must use
source .envto load variables - Windows: The npm scripts automatically read .env files
- IDE Configuration: Usually reads .env files directly
If using a .env file:
# Linux/macOS - Load variables into current session
source .env
# Verify they're loaded
echo $TWENTY_API_KEY # Should show your key
# Windows - npm scripts read .env automatically
# No manual loading needed for npm commandsThe Twenty MCP Server supports OAuth 2.1 authentication following the MCP Authentication Specification. This enables secure, user-specific API key management and multi-user deployments.
- 🔒 Secure API Key Storage: User API keys encrypted with AES-256-GCM
- 👤 User-Specific Access: Each user manages their own Twenty CRM connection
- 🔄 Backward Compatible: Works alongside traditional API key configuration
- 🛡️ Clerk Integration: Production-ready authentication provider
- 📋 Discovery Endpoints: Full MCP OAuth specification compliance
Run the interactive OAuth setup CLI:
npm run setup:oauthThis will guide you through:
- Enabling OAuth authentication
- Configuring Clerk credentials
- Setting up encryption secrets
- Testing the integration
For detailed OAuth implementation guide, see OAUTH.md:
- Complete OAuth 2.1 Flow: Step-by-step implementation
- Security Best Practices: Encryption, token validation, CORS
- Client Integration Examples: JavaScript, Python, curl
- Production Deployment: Environment setup and troubleshooting
Test your OAuth setup:
# Run comprehensive OAuth test suite
npm run test:oauth
# Test specific OAuth endpoints
curl http://localhost:3000/.well-known/oauth-protected-resource
curl http://localhost:3000/.well-known/oauth-authorization-server| Feature | API Key Mode | OAuth Mode |
|---|---|---|
| Setup Complexity | Simple | Moderate |
| Security | Shared key | User-specific encrypted keys |
| Multi-user | ❌ Single user | ✅ Multiple users |
| Authentication | Query parameter | Bearer token |
| Key Storage | Environment variables | Encrypted in Clerk |
| Backward Compatibility | ✅ Full | ✅ Full (when auth disabled) |
Choose API Key mode for:
- Single-user deployments
- Simple integrations
- Quick prototyping
Choose OAuth mode for:
- Multi-user applications
- Production deployments
- Enhanced security requirements
Before configuring your IDE, verify everything is working:
npm run validateExpected output when everything is configured:
==================================================
Twenty MCP Server Configuration Validator
==================================================
[INFO] Checking environment variables...
[SUCCESS] TWENTY_API_KEY is set
[SUCCESS] API key appears to be in JWT format
[SUCCESS] TWENTY_BASE_URL is set: https://api.twenty.com
[SUCCESS] Base URL is valid
[INFO] Checking configuration files...
[SUCCESS] .env file exists
[INFO] Checking project build...
[SUCCESS] Project is built (dist/index.js exists)
[SUCCESS] Dependencies are installed
[INFO] Testing API connection...
[SUCCESS] API connection successful!
[INFO] Connected as: John Doe
==================================================
[SUCCESS] Configuration is valid! 🎉
# Make sure environment is loaded
source .env # Linux/macOS only
# Run basic tests
npm testnpm startYou should see: Server running on http://localhost:3000
- Installation complete (
dist/index.jsexists) - Configuration valid (
npm run validatepasses) - Absolute path noted (from installation step)
- API key and base URL ready
Configure Claude Desktop to use your Twenty MCP server:
| Platform | Location |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
If you installed via npm or use npx:
{
"mcpServers": {
"twenty-crm": {
"command": "twenty-mcp",
"args": ["start", "--stdio"],
"env": {}
}
}
}Note for npx users: Your configuration is automatically saved globally, so Claude Desktop will work seamlessly even when using npx!
If you cloned from Git:
{
"mcpServers": {
"twenty-crm": {
"command": "node",
"args": ["REPLACE_WITH_YOUR_ABSOLUTE_PATH/dist/index.js"],
"env": {
"TWENTY_API_KEY": "REPLACE_WITH_YOUR_API_KEY",
"TWENTY_BASE_URL": "REPLACE_WITH_YOUR_BASE_URL"
}
}
}
}⚠️ Common Mistakes to Avoid:
- Using relative paths (e.g.,
./dist/index.js) - won't work!- Forgetting to restart Claude Desktop after changes
- Missing quotes around paths with spaces
- Using wrong slashes on Windows (use
/or\\)
npm Installation or npx Usage (All Platforms):
{
"mcpServers": {
"twenty-crm": {
"command": "twenty-mcp",
"args": ["start", "--stdio"],
"env": {}
}
}
}💡 npx users: This same configuration works whether you use npx twenty-mcp-server or install globally!
Git Installation Examples:
macOS Example:
{
"mcpServers": {
"twenty-crm": {
"command": "node",
"args": ["/Users/johndoe/projects/twenty-mcp/dist/index.js"],
"env": {
"TWENTY_API_KEY": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"TWENTY_BASE_URL": "https://api.twenty.com"
}
}
}
}Windows Example:
{
"mcpServers": {
"twenty-crm": {
"command": "node",
"args": ["C:\\Users\\johndoe\\projects\\twenty-mcp\\dist\\index.js"],
"env": {
"TWENTY_API_KEY": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"TWENTY_BASE_URL": "https://api.twenty.com"
}
}
}
}- Restart Claude Desktop (required!)
- Ask Claude: "What MCP tools do you have available?"
- Test with: "Show me my contacts from Twenty CRM"
Cursor IDE
- Open Cursor Settings (
Cmd/Ctrl + ,) - Navigate to Extensions → MCP Servers
- Add configuration:
{ "name": "twenty-crm", "command": "node", "args": ["/absolute/path/to/twenty-mcp/dist/index.js"], "env": { "TWENTY_API_KEY": "your-api-key", "TWENTY_BASE_URL": "https://your-instance.com" } } - Restart Cursor
Smithery
Quick setup:
- Install Smithery:
npm install -g @smithery/cli - Run:
smithery devin the twenty-mcp directory - Configure credentials when prompted
Or use the deployed version:
- Visit smithery.ai
- Search for "Twenty MCP"
- Click "Use this server"
Cline (VS Code)
- Install Cline extension from VS Code marketplace
- Add to VS Code settings.json:
{ "cline.mcpServers": { "twenty-crm": { "command": "node", "args": ["/path/to/twenty-mcp/dist/index.js"], "env": { "TWENTY_API_KEY": "your-api-key", "TWENTY_BASE_URL": "https://your-instance.com" } } } }
HTTP Server Mode
For web integrations, run as HTTP server:
npm start
# Server available at http://localhost:3000/mcpConfigure via query parameters:
http://localhost:3000/mcp?apiKey=your-key&baseUrl=https://your-instance.com
Twenty MCP Server includes a powerful CLI for easy management:
# Interactive setup wizard (recommended for first-time setup)
twenty-mcp setup
# Setup with OAuth authentication
twenty-mcp setup --oauth
# Setup with IP protection
twenty-mcp setup --ip-protection
# Import existing .env configuration
twenty-mcp setup --import
# Reset to default configuration
twenty-mcp setup --reset# Start the server (HTTP mode, default port 3000)
twenty-mcp start
# Start with custom port
twenty-mcp start --port 8080
# Start in stdio mode (for direct MCP protocol communication)
twenty-mcp start --stdio
# Start with verbose logging
twenty-mcp start --verbose# Test configuration and connection
twenty-mcp test
# Run full test suite including API tests
twenty-mcp test --full
# Test OAuth authentication endpoints
twenty-mcp test --oauth
# Run smoke tests only (no API calls)
twenty-mcp test --smoke# Show server status and configuration
twenty-mcp status
# Show detailed status information
twenty-mcp status --verbose
# Output status in JSON format
twenty-mcp status --json
# Show help for all commands
twenty-mcp help
# Show version
twenty-mcp --versionOnce configured in your IDE, you can ask your AI assistant to:
- "Show me all contacts in Twenty CRM"
- "Create a new company called Acme Corp"
- "Find all opportunities in the proposal stage"
- "Add a task to follow up with John Doe"
- "Show me all activities from last week"
You: "Create a new contact for Jane Smith at jane@example.com"
Claude: I'll create a new contact for Jane Smith in your Twenty CRM...
You: "Find all opportunities worth over $10,000"
Claude: Let me search for high-value opportunities in your CRM...
You: "Show me companies without any contacts"
Claude: I'll find orphaned company records in your system...
First, run the configuration validator:
npm run validateThis will identify most common issues and suggest fixes.
Error: "Node.js version 18+ is required"
Solution: Update Node.js
# Check current version
node --version
# Install Node.js 18+ from https://nodejs.org
# Or use nvm:
nvm install 18
nvm use 18Error: "Cannot find module 'dist/index.js'"
Solution: Build the project
npm run build
# Verify build succeeded
ls -la dist/index.jsError: "Permission denied" running install.sh
Solution: Make script executable
chmod +x install.sh
./install.shError: "TWENTY_API_KEY environment variable is required"
Solution: Set your environment variables
# Option 1: Load from .env file
source .env
# Option 2: Export directly
export TWENTY_API_KEY="your-key-here"
export TWENTY_BASE_URL="https://your-instance.com"Error: "401 Unauthorized" or "Authentication failed"
Solution:
- Verify API key is correct (no extra spaces)
- Check key hasn't expired
- Regenerate key in Twenty CRM Settings
- Ensure you're using the correct base URL
Error: "Network error" or "fetch failed"
Solution:
- Check base URL is correct (no trailing slash!)
- Verify Twenty instance is accessible
- Check firewall/proxy settings
- Test with curl:
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://your-instance.com/graphql
Claude Desktop doesn't see the MCP server
Solution:
- Verify absolute path is correct:
# Get the correct path cd twenty-mcp && pwd
- Check config file location is correct for your OS
- Ensure JSON syntax is valid (no trailing commas!)
- Restart Claude Desktop (required!)
- Check Claude's developer console for errors
Windows path issues
Solution: Use proper Windows paths
// Correct Windows paths:
"args": ["C:\\Users\\name\\twenty-mcp\\dist\\index.js"]
// or
"args": ["C:/Users/name/twenty-mcp/dist/index.js"]
// Incorrect:
"args": ["~/twenty-mcp/dist/index.js"] // Won't work on WindowsEnable debug logging for more details:
# Enable all debug output
DEBUG=twenty-mcp:* npm start
# Test specific GraphQL queries
node test-graphql.jsIf you're still stuck:
- Check existing issues: GitHub Issues
- Read test documentation: TESTING.md
- Create a new issue with:
- Your OS and Node.js version
- Complete error message
- Output from
npm run validate - Steps to reproduce
- Full Tool Reference - Detailed documentation of all 29 tools
- Testing Guide - How to run and write tests
- Contributing Guide - How to contribute to the project
The Twenty MCP Server is built with:
- TypeScript for type safety
- GraphQL for Twenty API communication
- MCP SDK for protocol implementation
- Zod for runtime validation
We welcome contributions! Please see our Contributing Guide for details on:
- Setting up development environment
- Running tests
- Submitting pull requests
- Code style guidelines
MIT License - see LICENSE file for details.
- Twenty CRM for the open-source CRM platform
- Model Context Protocol for the integration standard
- Anthropic for Claude and the MCP framework
Architecture Details
twenty-mcp-server/
├── src/
│ ├── client/
│ │ └── twenty-client.ts # GraphQL client for Twenty API
│ ├── tools/
│ │ └── index.ts # MCP tool implementations
│ ├── types/
│ │ └── twenty.ts # TypeScript interfaces
│ └── index.ts # Main server entry point
├── tests/ # Test suites
├── dist/ # Compiled JavaScript (after build)
├── package.json
├── tsconfig.json
└── README.md
- TwentyClient: GraphQL client that handles API communication with Twenty CRM
- MCP Tools: 29 tools that provide comprehensive CRM functionality to AI assistants
- Type System: Comprehensive TypeScript definitions for Twenty's data structures
- Schema Transformation: Converts flat tool inputs to Twenty's nested GraphQL schema
Development Commands
# Install dependencies
npm install
# Run in development mode with hot reload
npm run dev
# Run development HTTP server
npm run dev:http
# Build for production
npm run build
# Run linting
npm run lint
# Type checking
npm run typecheck
# Run all tests
npm test
# Run specific test suites
npm run test:smoke # Quick tests (no API)
npm run test:full # Comprehensive testsIs the integration with Twenty CRM secure?
Yes, security is a priority. The integration utilizes OAuth 2.1 Authentication for secure, user-specific API key management, ensuring that access to your CRM data is protected and controlled.
What are the technical requirements to use Twenty CRM AI Integration?
To run the integration, you'll need Node.js 18 or higher, npm, Git, and an existing Twenty CRM instance with API access. It also boasts full TypeScript support for type-safe operations.
What is Twenty CRM AI Integration?
Twenty CRM AI Integration is an MCP (Model Context Protocol) server designed to connect your Twenty CRM instance with LLM agents, enabling AI to manage CRM data through well-defined, typed tools and natural language commands.
What CRM functionalities can AI agents access?
AI agents gain comprehensive access to functionalities including contact and company lifecycle management, opportunity and task tracking, activity management, relationship linking, and metadata discovery for CRM schema.
How does this tool enhance productivity and workflow?
It allows AI assistants to automate key CRM tasks like creating, updating, retrieving, and searching contacts, companies, opportunities, and tasks. This streamlines workflows, reduces manual effort, and allows your team to focus on higher-value activities.
Create Contact
Create a new contact (person) in Twenty CRM
Parameters
8citystringOptional▼
City where the contact is located
emailstringOptional▼
Email address
phonestringOptional▼
Phone number
jobTitlestringOptional▼
Job title
lastNamestringRequired▼
Last name of the contact
companyIdstringOptional▼
ID of associated company
firstNamestringRequired▼
First name of the contact
linkedinUrlstringOptional▼
LinkedIn profile URL
Get Contact
Retrieve a contact by ID from Twenty CRM
Parameters
1idstringRequired▼
Contact ID to retrieve
Update Contact
Update an existing contact in Twenty CRM
Parameters
9idstringRequired▼
Contact ID to update
citystringOptional▼
City
emailstringOptional▼
Email address
phonestringOptional▼
Phone number
jobTitlestringOptional▼
Job title
lastNamestringOptional▼
Last name
companyIdstringOptional▼
ID of associated company
firstNamestringOptional▼
First name
linkedinUrlstringOptional▼
LinkedIn profile URL
Search Contacts
Search for contacts in Twenty CRM
Parameters
3limitnumberOptional▼
Maximum number of results
querystringRequired▼
Search query (searches name and email)
offsetnumberOptional▼
Number of results to skip
Create Company
Create a new company in Twenty CRM
Parameters
8namestringRequired▼
Company name
xUrlstringOptional▼
X (Twitter) company URL
addressstringOptional▼
Company address
employeesnumberOptional▼
Number of employees
domainNamestringOptional▼
Company domain name
linkedinUrlstringOptional▼
LinkedIn company URL
idealCustomerProfilebooleanOptional▼
Is this an ideal customer profile
annualRecurringRevenuenumberOptional▼
Annual recurring revenue
Get Company
Retrieve a company by ID from Twenty CRM
Parameters
1idstringRequired▼
Company ID to retrieve
Update Company
Update an existing company in Twenty CRM
Parameters
9idstringRequired▼
Company ID to update
namestringOptional▼
Company name
xUrlstringOptional▼
X (Twitter) company URL
addressstringOptional▼
Company address
employeesnumberOptional▼
Number of employees
domainNamestringOptional▼
Company domain name
linkedinUrlstringOptional▼
LinkedIn company URL
idealCustomerProfilebooleanOptional▼
Is this an ideal customer profile
annualRecurringRevenuenumberOptional▼
Annual recurring revenue
Search Companies
Search for companies in Twenty CRM
Parameters
3limitnumberOptional▼
Maximum number of results
querystringRequired▼
Search query (searches name and domain)
offsetnumberOptional▼
Number of results to skip
Create Task
Create a new task in Twenty CRM
Parameters
5bodystringOptional▼
Task description
dueAtstringOptional▼
Due date (ISO 8601 format)
titlestringRequired▼
Task title
statusstringOptional▼
Task status
assigneeIdstringOptional▼
ID of the person assigned to the task
Get Tasks
Retrieve tasks from Twenty CRM
Parameters
2limitnumberOptional▼
Maximum number of results
offsetnumberOptional▼
Number of results to skip
Create Note
Create a new note in Twenty CRM
Parameters
3bodystringRequired▼
Note content
titlestringOptional▼
Note title
authorIdstringOptional▼
ID of the note author
Create Opportunity
Create a new opportunity/deal in Twenty CRM
Parameters
6namestringRequired▼
Opportunity name
stagestringOptional▼
Sales stage (e.g., NEW, SCREENING, MEETING, PROPOSAL, CUSTOMER)
amountobjectOptionalDeal amount
▼
valuenumberRequired▼
Amount in currency units (e.g., 1000.50 for $1,000.50)
currencystringOptional▼
Currency code (e.g., USD, EUR)
closeDatestringOptional▼
Expected close date (ISO 8601 format)
companyIdstringOptional▼
ID of associated company
pointOfContactIdstringOptional▼
ID of main contact person
Get Opportunity
Retrieve an opportunity by ID from Twenty CRM
Parameters
1idstringRequired▼
Opportunity ID to retrieve
Update Opportunity
Update an existing opportunity in Twenty CRM
Parameters
7idstringRequired▼
Opportunity ID to update
namestringOptional▼
Opportunity name
stagestringOptional▼
Sales stage
amountobjectOptionalDeal amount
▼
valuenumberRequired▼
Amount in currency units
currencystringRequired▼
Currency code
closeDatestringOptional▼
Expected close date
companyIdstringOptional▼
ID of associated company
pointOfContactIdstringOptional▼
ID of main contact person
Search Opportunities
Search for opportunities in Twenty CRM with various filters
Parameters
9limitnumberOptional▼
Maximum number of results
querystringOptional▼
Search query for opportunity name
stagestringOptional▼
Filter by specific stage
offsetnumberOptional▼
Number of results to skip
endDatestringOptional▼
End date for close date range (ISO 8601)
companyIdstringOptional▼
Filter by company ID
maxAmountnumberOptional▼
Maximum deal amount
minAmountnumberOptional▼
Minimum deal amount
startDatestringOptional▼
Start date for close date range (ISO 8601)
List Opportunities By Stage
List all opportunities grouped by their sales stage (pipeline view)
Get Activities
Get unified activities timeline from Twenty CRM (tasks, notes, etc.)
Parameters
6typearrayOptional▼
Filter by activity types
limitnumberOptional▼
Maximum number of activities to return
dateTostringOptional▼
End date filter (ISO 8601 format)
offsetnumberOptional▼
Number of activities to skip
authorIdstringOptional▼
Filter by author/assignee ID
dateFromstringOptional▼
Start date filter (ISO 8601 format)
Filter Activities
Filter activities by specific criteria
Parameters
7typearrayOptional▼
Activity types to include
limitnumberOptional▼
Maximum number of results
dateTostringOptional▼
End date (ISO 8601 format)
offsetnumberOptional▼
Number of results to skip
statusarrayOptional▼
Task status filter (for tasks only)
authorIdstringOptional▼
Filter by author/assignee ID
dateFromstringOptional▼
Start date (ISO 8601 format)
Create Comment
Create a comment on any CRM record
Parameters
5bodystringRequired▼
Comment content
authorIdstringOptional▼
ID of the comment author
targetObjectIdstringOptional▼
ID of the target object (person, company, opportunity)
activityTargetIdstringOptional▼
ID of the activity target (if linking to specific record)
targetObjectTypestringOptional▼
Type of target object
Get Entity Activities
Get all activities related to a specific entity (person, company, or opportunity)
Parameters
5limitnumberOptional▼
Maximum number of activities
offsetnumberOptional▼
Number of activities to skip
entityIdstringRequired▼
ID of the entity
entityTypestringRequired▼
Type of entity
includeCommentsbooleanOptional▼
Include comments in results
List All Objects
List all objects (entities) available in Twenty CRM with their metadata
Parameters
4groupBystringOptional▼
How to group the results
activeOnlybooleanOptional▼
Only include active objects
includeCustombooleanOptional▼
Include custom objects
includeSystembooleanOptional▼
Include system objects
Get Object Schema
Get detailed schema information for a specific object including all fields and their types
Parameters
2objectNamestringRequired▼
Object name (singular or plural) or ID to get schema for
includeSystemFieldsbooleanOptional▼
Include system fields in the output
Get Field Metadata
Get detailed information about fields, either for a specific object or across all objects
Parameters
5fieldTypestringOptional▼
Filter by specific field type
activeOnlybooleanOptional▼
Only include active fields
objectNamestringOptional▼
Object name to get fields for (if not specified, gets all fields)
includeCustombooleanOptional▼
Include custom fields
includeSystembooleanOptional▼
Include system fields
Get Company Contacts
Get all contacts (people) associated with a specific company
Parameters
1companyIdstringRequired▼
The ID of the company to get contacts for
Get Person Opportunities
Get all opportunities where a specific person is the point of contact
Parameters
1personIdstringRequired▼
The ID of the person to get opportunities for
Link Opportunity To Company
Link an opportunity to a company and/or point of contact
Parameters
3companyIdstringOptional▼
The ID of the company to link to (optional)
opportunityIdstringRequired▼
The ID of the opportunity to update
pointOfContactIdstringOptional▼
The ID of the person to set as point of contact (optional)
Transfer Contact To Company
Transfer a contact (person) from one company to another
Parameters
3contactIdstringRequired▼
The ID of the contact to transfer
toCompanyIdstringRequired▼
The ID of the company to transfer the contact to
fromCompanyIdstringOptional▼
The ID of the current company (optional, for validation)
Get Relationship Summary
Get a summary of all relationships for a specific entity (company or person)
Parameters
2entityIdstringRequired▼
The ID of the entity to get relationship summary for
entityTypestringRequired▼
The type of entity (company or person)
Find Orphaned Records
Find records that are missing important relationships (companies without contacts, contacts without companies, etc.)
Комментарии
Комментариев пока нет. Будьте первым.