Package Information
Documentation
n8n-nodes-twenty
n8n community node for Twenty CRM โ the Open Source CRM platform
โจ Features
| Feature | Description | |
|---|---|---|
| ๐ | Full CRUD | Create, Read, Update, Delete for all resources |
| โก | Auto Transform | Handles Twenty's complex object formats automatically |
| ๐ฆ | Bulk Operations | Process multiple records in a single request |
| ๐ | Upsert | Create or update based on matching field |
| ๐ | Webhooks | Real-time triggers for all CRM events |
| ๐ | Auto Retry | Automatic retries with exponential backoff for transient errors |
| ๐ | Dynamic Dropdowns | Company/Person lists loaded from API in UI |
| ๐งฉ | Custom Objects | Support for any Twenty CRM custom object |
๐ฅ Installation
Via n8n UI (Recommended)
- Go to Settings โ Community Nodes
- Click Install a community node
- Enter:
@linkedpromo/n8n-nodes-twenty - Click Install
Via npm
npm install @linkedpromo/n8n-nodes-twenty
๐ Configuration
Step 1: Get Your API Key
- Log into your Twenty CRM instance
- Go to Settings โ Developers โ API Keys
- Create a new API key or copy an existing one
Step 2: Add Credentials in n8n
- Go to Credentials โ Add Credential โ Twenty CRM API
- Fill in the fields:
| Field | Value | Example |
|---|---|---|
| API URL | Your Twenty instance URL (without /rest) |
https://your-twenty.com |
| API Key | JWT token from Twenty | eyJhbGciOiJIUzI1NiIs... |
โ ๏ธ Important: URL must be WITHOUT trailing slash (
/) and WITHOUT/rest
๐ Supported Operations
TwentyCrm Node
| Category | Resource | Operations | Description |
|---|---|---|---|
| ๐ข | Company | Create, Get, Get Many, Update, Delete, Upsert | Manage organizations and businesses |
| ๐ค | Person | Create, Get, Get Many, Update, Delete, Upsert | Manage contacts and individuals |
| ๐ฐ | Opportunity | Create, Get, Get Many, Update, Delete, Upsert | Track deals and sales pipeline |
| ๐ | Note | Create, Get, Get Many, Update, Delete | Add notes to records |
| โ | Task | Create, Get, Get Many, Update, Delete | Manage tasks and to-dos |
| ๐ | Activity | Create, Get, Get Many, Update, Delete | Track activities and interactions |
| ๐ฆ | Bulk | Bulk Create, Bulk Update, Bulk Delete | Mass operations on records |
| ๐ | Search | Search | Find records across multiple types |
| ๐งฉ | Custom Object | Create, Get, Get Many, Update, Delete | Work with any custom object |
TwentyCrmTrigger Node
| Category | Events | Description |
|---|---|---|
| ๐ข | company.created company.updated company.deleted |
Company changes |
| ๐ค | person.created person.updated person.deleted |
Person changes |
| ๐ฐ | opportunity.created opportunity.updated opportunity.deleted |
Deal changes |
| โ | task.created task.updated task.deleted |
Task changes |
| ๐ | note.created note.updated note.deleted |
Note changes |
๐งฉ Custom Objects
Work with any Twenty CRM custom object using the Custom Object resource:
- Select Custom Object as the resource
- Enter the Object API Name (e.g.,
customLeads,myCustomObject) - Provide fields as JSON
{
"customField1": "value1",
"customField2": "value2"
}
๐ก Find your object's API name in Twenty CRM Settings โ Data Model โ Your Object โ API Name
๐ Dynamic Dropdowns
The node automatically loads data from your CRM for convenient selection:
| Field | Loads From | Used In |
|---|---|---|
| Company | /rest/companies |
Person โ Company field |
| Assignee | /rest/people |
Task โ Assignee field |
| Opportunities | /rest/opportunities |
Various relation fields |
๐ก Dropdowns show up to 60 items. For more, use the record ID directly.
๐ Automatic Retry
The node automatically retries failed requests for transient errors:
| Status Code | Error Type | Retries |
|---|---|---|
| 429 | Rate Limit Exceeded | โ 3x |
| 502 | Bad Gateway | โ 3x |
| 503 | Service Unavailable | โ 3x |
| 504 | Gateway Timeout | โ 3x |
| Network | Connection errors | โ 3x |
- Exponential backoff: 1s โ 2s โ 4s (with jitter)
- Respects
Retry-Afterheader from API - No retry for client errors (400, 401, 403, 404)
๐ Auto Field Transformation
The node automatically transforms simple values to Twenty's complex format:
|
๐ข Company โ You provide:
|
๐ค Node sends to API:
|
|
๐ค Person โ You provide:
|
๐ค Node sends to API:
|
โ ๏ธ Note: Twenty CRM Notes API does NOT support a
bodyfield. Onlytitleandpositionare available.
๐ง Troubleshooting
๐ Node hangs / timeout
| Symptom | Node runs for a long time without returning results |
| Cause | Incorrect API URL in credentials |
| Solution | Check URL format (see below) |
+ โ
Correct: https://your-twenty-instance.com
- โ Wrong: https://your-twenty-instance.com/
- โ Wrong: https://your-twenty-instance.com/rest
๐ Node still doesn't work after changing credentials
Solution: Delete the node completely and add a new one with correct credentials
โ Common API Errors
| Code | Error | Cause | Solution |
|---|---|---|---|
| 401 | Unauthorized | Invalid API key | Check credentials |
| 404 | Not Found | Wrong endpoint | Verify API URL |
| 400 | Bad Request | Invalid data | Check field values |
| 429 | Rate Limited | Too many requests | Node auto-retries |
๐ฆ Compatibility
| Requirement | Version |
|---|---|
| n8n | 2.4.6+ |
| Node.js | 18.10+ |
| Twenty CRM | API v1 |
๐งช Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Lint
npm run lint
๐ Links
| ๐ฆ npm | npmjs.com/package/@linkedpromo/n8n-nodes-twenty |
| ๐ป GitHub | github.com/vomos-ua/n8n-nodes-twenty |
| ๐ Twenty CRM | twenty.com |
| ๐ Issues | Report a bug |
๐ License
MIT License โ see LICENSE for details.
Made with โค๏ธ by abm24