@gustavojosemelo/n8n-nodes-bitrix24
v0.0.197
Published
n8n community node for Bitrix24 — CRM, Tasks, Open Channels, Chatbots, Drive, Document Generator, News Feed and Raw API
Maintainers
Readme
✨ Features
| Category | Resources | Operations | |---|---|---| | 📋 CRM | Deal, Lead, Contact, Company | Create · Get · Update · Delete · List · Search | | ✅ Tasks | Task, Task Comment | Create · Get · Update · Delete · List · Complete | | 👤 Users | User | Get · Get Current · List · Search | | 💬 Open Channels | Message, Conversation | Send · History · Complete · Assign | | 🤖 Chatbot | Bot, Bot Message | Register · Send · Update · Delete | | 📁 Drive | File, Folder | Upload · Get · List · Delete · Rename | | 📄 Document Generator | Document, Template | Generate PDF · List Templates · Download URL | | 📰 News Feed | Blog Post, CRM Activity | Create · Get · Update · Delete · List · Complete | | ⚡ Raw API | Any method | Execute · Batch · Auto-paginate |
Highlights
- 🔄 Dynamic dropdowns — Pipelines, Stages, Users, and custom
UF_fields loaded live from your Bitrix24 - 🔍 Smart filters — Quick filters (dropdowns) + Advanced raw JSON filter on all list operations
- 📦 Auto-pagination — Fetch all pages automatically (Bitrix24 returns max 50/page)
- ⚡ Raw API — Execute any Bitrix24 method directly, just like Make's "Make an API Call"
- 🔗 Batch API — Run multiple methods in one request with cross-result references
- 🔔 Trigger Node — Auto-registers webhooks on activation, cleans up on deactivation
- 🔐 Dual auth — Webhook URL mode (simple) and OAuth2 mode (for marketplace apps)
📦 Installation
Via n8n Interface (recommended)
- Go to Settings → Community Nodes
- Click Install
- Enter:
@gustavojosemelo/n8n-nodes-bitrix24 - Confirm and restart n8n
Via npm
npm install @gustavojosemelo/n8n-nodes-bitrix24Via Docker
docker exec -it n8n npm install @gustavojosemelo/n8n-nodes-bitrix24 --prefix /home/node/.n8n/custom
docker restart n8n🔐 Authentication
This node supports two authentication modes, selectable in the credential:
Webhook Mode (recommended for personal use)
The simplest option. Uses a Bitrix24 inbound webhook URL with the token already embedded.
- In Bitrix24, go to Developer Resources → Other → Inbound Webhook
- Create a new webhook and copy the full URL
Example:
https://yourdomain.bitrix24.com/rest/1/abc123token/ - In n8n, create a Bitrix24 API credential
- Select Authentication Mode: Webhook
- Paste the full URL
OAuth2 Mode (for Marketplace apps)
For registered apps in the Bitrix24 developer zone.
- Register an app at Bitrix24 Developer Zone → My Apps
- Copy the Client ID, Client Secret, and your portal Domain
- In n8n, select Authentication Mode: OAuth2 and fill in the fields
🚀 Usage
CRM — Dynamic Fields
When creating or updating a Deal, Lead, Contact, or Company, the node automatically loads:
- Pipeline — dropdown with your real funnels (
crm.category.list) - Stage — dropdown filtered by the selected pipeline (
crm.dealcategory.stages) - Responsible User — dropdown with active users (
user.get) - Custom Fields (UF_) — separate section listing all
UF_*fields with their readable labels
List / Search — Filtering
Every list operation has two filter modes:
- Quick Filters — pre-built dropdowns for the most common fields
- Advanced Filter (Raw JSON) — pass any
FILTERobject directly to the Bitrix24 API
// Advanced filter example for crm.deal.list
{
"STAGE_ID": "WON",
">OPPORTUNITY": 10000,
"ASSIGNED_BY_ID": "5"
}Set Max Results to 0 to fetch all pages automatically.
⚡ Raw API — Execute any method
Select Category: Raw API to call any Bitrix24 REST method:
| Field | Example |
|---|---|
| Method | crm.deal.list |
| Parameters (JSON) | {"filter": {"STAGE_ID": "NEW"}, "select": ["ID","TITLE"]} |
| Fetch All Pages | Enable for list methods |
// Batch example
{
"cmd": {
"get_deal": "crm.deal.get?id=42",
"deal_contacts": "crm.deal.contact.items.get?id=42"
}
}Results can reference each other: $result[get_deal][ASSIGNED_BY_ID]
🔔 Trigger Node — Available Events
| Group | Event | Description |
|---|---|---|
| CRM Deal | ONCRMDEALADD | Deal created |
| CRM Deal | ONCRMDEALUPDATE | Deal updated |
| CRM Deal | ONCRMDEALMOVE | Deal stage changed |
| CRM Deal | ONCRMDEALDELETION | Deal deleted |
| CRM Lead | ONCRMLEADADD | Lead created |
| CRM Lead | ONCRMLEADUPDATE | Lead updated |
| CRM Contact | ONCRMCONTACTADD | Contact created |
| CRM Company | ONCRMCOMPANYADD | Company created |
| Tasks | ONTASKADD | Task created |
| Tasks | ONTASKUPDATE | Task updated |
| Tasks | ONTASKCOMMENTADD | Comment added to task |
| Messages | ONIMBOTMESSAGEADD | New open channel message |
| Messages | ONOPENLINESSESSIONSTART | New support session opened |
| Messages | ONOPENLINESSESSIONFINISH | Support session closed |
Tip: Enable Include Full Object to automatically fetch the complete entity (all fields including UF_*) after receiving the event — at the cost of one extra API call.
🏗️ Project Structure
nodes/Bitrix24/
├── Bitrix24.node.ts # Main regular node
├── Bitrix24Trigger.node.ts # Trigger node
├── GenericFunctions.ts # HTTP helper, auth, loadOptions
├── bitrix24.svg # Node icon
├── credentials/
│ └── Bitrix24Api.credentials.ts
└── resources/
├── crm/
│ ├── deal.ts
│ ├── lead.ts
│ ├── contact.ts
│ └── company.ts
├── tasks/
│ └── task.ts # Task + Task Comment
├── users/
│ └── user.ts
├── openChannels/
│ └── message.ts # Message + Conversation
├── chatbot/
│ └── bot.ts # Bot + Bot Message
├── drive/
│ └── file.ts # File + Folder
├── documentGenerator/
│ └── document.ts
├── newsFeed/
│ └── newsFeed.ts # Blog Post + CRM Activity
└── rawApi/
└── rawApi.ts🛠️ Local Development
# Clone the repo
git clone https://github.com/gustavojosemelo/n8n-nodes-bitrix24.git
cd n8n-nodes-bitrix24
# Install dependencies
npm install
# Build
npm run build
# Link for local n8n testing
cd ~/.n8n/custom
npm link n8n-nodes-bitrix24📋 API Rate Limits
Bitrix24 limits 2 requests/second by default on commercial plans. For large list operations, use Max Results: 0 to enable automatic pagination with built-in rate control.
🤝 Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to change.
- Fork the repository
- Create your branch:
git checkout -b feature/my-feature - Commit:
git commit -m 'feat: add my feature' - Push:
git push origin feature/my-feature - Open a Pull Request
