@myshakin_mikhail/n8n-nodes-bitrix24
v1.0.23
Published
Custom n8n node for creating tasks in Bitrix24 via REST API
Maintainers
Readme
n8n-nodes-bitrix24
Кастомная n8n нода для создания, редактирования и удаления задач в Bitrix24 через REST API.
Установка
Способ 1: Установка из npm (если опубликовано)
cd ~/.n8n/custom # или $env:USERPROFILE\.n8n\custom на Windows
npm install @myshakin_mikhail/n8n-nodes-bitrix24Способ 2: Локальная установка для разработки
Windows:
# Создайте папку custom (если её нет)
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.n8n\custom"
# Перейдите в папку custom
cd "$env:USERPROFILE\.n8n\custom"
# Соберите проект в исходной папке
cd "C:\Users\Public\VsCodePrograms\JS_TS\N8N\castom\bitrix24-node"
npm run build
# Установите пакет в папку custom
cd "$env:USERPROFILE\.n8n\custom"
npm install "C:\Users\Public\VsCodePrograms\JS_TS\N8N\castom\bitrix24-node"Linux/Mac:
# Создайте папку custom (если её нет)
mkdir -p ~/.n8n/custom
# Соберите проект в исходной папке
cd /путь/к/bitrix24-node
npm run build
# Перейдите в папку custom и установите пакет
cd ~/.n8n/custom
npm install /путь/к/bitrix24-nodeПроверка установки
Запустите n8n (если ещё не запущен):
n8n startОткройте браузер:
http://localhost:5678Создайте новый workflow или откройте существующий
Нажмите кнопку "+" для добавления ноды
В поиске введите "Bitrix24"
Если нода появилась в списке — установка прошла успешно ✅
Настройка Credentials
Шаг 1: Создание Webhook в Bitrix24
Перед использованием ноды необходимо создать входящий вебхук в Bitrix24:
Войдите в ваш Bitrix24 портал
Перейдите в раздел создания вебхука:
- Откройте меню "Приложения" (Applications) в левой панели
- Выберите "Входящий вебхук" (Incoming Webhook) или "Другие" → "Входящий вебхук"
- Альтернативный путь: настройки портала → "Разработчикам" → "Входящий вебхук"
Создайте новый вебхук:
- Нажмите кнопку "Создать вебхук" (Create webhook) или "Добавить"
- Укажите название вебхука (например, "n8n Tasks")
Настройте права доступа:
- Найдите раздел с правами доступа
- Обязательно отметьте галочкой
tasks(Задачи) - При необходимости выберите дополнительные права (например,
userдля получения информации о пользователях) - Нажмите "Сохранить" или "Save"
Скопируйте Webhook URL:
- После создания вы увидите URL вебхука
- Формат:
https://ваш-домен.bitrix24.ru/rest/1/код-вебхука/илиhttps://ваш-домен.bitrix24.ru/rest/1/код-вебхука - Важно: Скопируйте полный URL, включая
/rest/1/...
Примеры:
https://example.bitrix24.ru/rest/1/abc123def456/https://mycompany.bitrix24.com/rest/1/xyz789/
Шаг 2: Добавление Credentials в n8n
Откройте раздел Credentials в n8n:
- В интерфейсе n8n перейдите в раздел "Credentials" (Учётные данные) в левом меню
- Или используйте меню "Settings" → "Credentials"
Создайте новый Credential:
- Нажмите кнопку "Add Credential" (Добавить) или "Создать"
- В поиске введите "Bitrix24"
- Выберите "Bitrix24 API" из списка
Заполните поля:
- Name (Название): введите понятное название, например, "Bitrix24 Production" или "My Bitrix24"
- Webhook URL: вставьте скопированный ранее Webhook URL от Bitrix24
- Формат:
https://your-domain.bitrix24.ru/rest/1/webhook_code/ - Не добавляйте лишних слешей в конце
- Формат:
Сохраните Credential:
- Нажмите кнопку "Save" (Сохранить) или "Создать"
- Credential будет сохранён и доступен для использования в нодах
Использование ноды
Шаг 1: Добавление ноды в workflow
- Создайте новый workflow или откройте существующий
- Нажмите кнопку "+" для добавления ноды
- В поиске введите "Bitrix24" или найдите в списке нод
- Выберите ноду "Bitrix24" — она появится на canvas
Шаг 2: Настройка ноды
Кликните на добавленную ноду "Bitrix24"
В правой панели настроек заполните параметры:
Credentials (обязательное):
- Выберите созданный ранее credential "Bitrix24 API" из выпадающего списка
- Если credential не отображается, проверьте, что он был сохранён
Operation (операция):
- "Create Task" — создание новой задачи
- "Update Task" — редактирование существующей задачи
- "Delete Task" — удаление задачи
- По умолчанию: "Create Task"
Title (обязательное):
- Введите название задачи
- Можно использовать выражения n8n:
{{ $json.title }} - Пример: "Создать отчёт за неделю"
Description (опциональное):
- Введите описание задачи
- Поддерживается многострочный текст
- Можно использовать выражения:
{{ $json.description }} - Пример: "Необходимо подготовить отчёт о выполненных задачах"
Responsible User ID (обязательное):
- Введите числовой ID пользователя-исполнителя в Bitrix24
- По умолчанию:
1(обычно это администратор) - Можно использовать выражения:
{{ $json.userId }} - См. раздел "Как найти Responsible User ID" ниже
API Method (метод API):
- По умолчанию:
task.ctaskitem.add - Доступен только для операции "Create Task"
- По умолчанию:
Операция: Update Task
Для редактирования существующей задачи:
Task ID (обязательное):
- Введите числовой ID задачи в Bitrix24, которую нужно отредактировать
- Можно использовать выражения:
{{ $json.taskId }} - Пример:
123
Title (опциональное):
- Введите новое название задачи
- Оставьте пустым, чтобы не изменять текущее название
- Можно использовать выражения:
{{ $json.title }}
Description (опциональное):
- Введите новое описание задачи
- Оставьте пустым, чтобы не изменять текущее описание
- Можно использовать выражения:
{{ $json.description }}
Responsible User ID (опциональное):
- Введите новый ID пользователя-исполнителя
- Оставьте пустым, чтобы не изменять текущего исполнителя
- Можно использовать выражения:
{{ $json.userId }}
Важно: Для операции обновления необходимо указать хотя бы одно поле (Title, Description или Responsible User ID).
Операция: Delete Task
Для удаления задачи:
- Task ID (обязательное):
- Введите числовой ID задачи в Bitrix24, которую нужно удалить
- Можно использовать выражения:
{{ $json.taskId }} - Пример:
123
Важно: Операция удаления необратима. Убедитесь, что вы удаляете правильную задачу.
Шаг 3: Как найти Task ID
Task ID — это уникальный числовой идентификатор задачи в Bitrix24.
Способ 1: Через интерфейс Bitrix24
Через страницу задачи:
- Откройте задачу в Bitrix24
- Посмотрите на URL страницы — ID обычно виден в адресной строке
- Пример URL:
https://example.bitrix24.ru/company/personal/user/123/tasks/task/view/456/где456— это ID задачи
Через список задач:
- Перейдите в раздел "Задачи" (Tasks)
- Откройте нужную задачу
- ID задачи будет виден в URL или в деталях задачи
Способ 2: Через Bitrix24 REST API
Используйте метод tasks.task.list для получения списка задач:
GET https://ваш-домен.bitrix24.ru/rest/1/ваш-вебхук/tasks.task.list.jsonПример ответа:
{
"result": {
"tasks": [
{
"id": "123",
"title": "Название задачи",
"responsibleId": "1"
}
]
}
}Где взять ID:
- Поле
idв ответе API — это и есть Task ID
Шаг 4: Как найти Responsible User ID
Responsible User ID — это уникальный числовой идентификатор пользователя в Bitrix24, который будет назначен исполнителем задачи.
Способ 1: Через интерфейс Bitrix24
Через профиль пользователя:
- Откройте профиль пользователя в Bitrix24
- Посмотрите на URL страницы — ID обычно виден в адресной строке
- Пример URL:
https://example.bitrix24.ru/company/personal/user/123/где123— это ID пользователя
Через раздел "Сотрудники":
- Перейдите в раздел "Компания" → "Сотрудники" (Company → Employees)
- Откройте карточку нужного сотрудника
- В URL страницы будет виден ID пользователя
Способ 2: Через Bitrix24 REST API
Используйте метод user.get или user.get для получения информации о текущем пользователе или списка пользователей:
Получить текущего пользователя:
GET https://ваш-домен.bitrix24.ru/rest/1/ваш-вебхук/user.get.jsonПолучить всех пользователей:
GET https://ваш-домен.bitrix24.ru/rest/1/ваш-вебхук/user.get.jsonПример ответа:
{
"result": [
{
"ID": "1",
"NAME": "Иван",
"LAST_NAME": "Иванов",
"EMAIL": "[email protected]"
},
{
"ID": "2",
"NAME": "Петр",
"LAST_NAME": "Петров",
"EMAIL": "[email protected]"
}
]
}Где взять ID:
- Поле
IDв ответе API — это и есть Responsible User ID - Обычно ID администратора =
1 - ID других пользователей начинаются с
2,3и т.д.
Способ 3: Через браузер (Developer Tools)
- Откройте профиль пользователя в Bitrix24
- Откройте Developer Tools (F12)
- Перейдите на вкладку Network (Сеть)
- Обновите страницу
- Найдите запрос, содержащий информацию о пользователе
- В ответе найдите поле
IDилиuserId
Важные замечания:
- ID всегда числовой (1, 2, 3, и т.д.)
- ID не меняется после создания пользователя
- ID администратора обычно равен
1 - Если указать несуществующий ID, задача может быть создана, но без исполнителя или с ошибкой
Шаг 5: Использование данных из предыдущих нод
Вы можете использовать данные из предыдущих нод workflow через выражения n8n:
Примеры выражений:
Title:
{{ $json.title }}{{ $json.taskName }}{{ $json.subject }}
Description:
{{ $json.description }}{{ $json.taskDescription }}{{ $json.body }}
Responsible User ID:
{{ $json.userId }}{{ $json.responsibleId }}{{ $json.assignee }}
Пример workflow:
[Webhook] → [Function] → [Bitrix24]
↓
Title: {{ $json.title }}
Description: {{ $json.description }}
Responsible User ID: {{ $json.userId }}Пример данных из Webhook:
{
"title": "Новая задача",
"description": "Описание задачи",
"userId": 5
}Шаг 6: Запуск workflow
- Нажмите кнопку "Execute Workflow" (Выполнить workflow) или клавишу
Ctrl+Enter - Проверьте результат выполнения ноды
- Если всё настроено правильно, задача будет создана в Bitrix24
- Откройте Bitrix24 и проверьте, что задача появилась в разделе "Задачи"
Шаг 7: Проверка результата
Нода возвращает данные о созданной задаче в следующем формате:
Успешное создание задачи:
{
"success": true,
"taskId": 123,
"task": {
"id": 123,
"title": "Название задачи",
"description": "Описание задачи",
"responsibleId": 1,
...
},
"response": {
"result": {
"task": { ... }
}
}
}Успешное обновление задачи:
{
"success": true,
"taskId": 123,
"task": {
"id": 123,
"title": "Обновленное название",
"description": "Обновленное описание",
...
},
"response": {
"result": {
"task": { ... }
}
}
}Успешное удаление задачи:
{
"success": true,
"taskId": 123,
"deleted": true,
"result": true,
"response": {
"result": true
}
}Если произошла ошибка (и включен "Continue on Fail"):
{
"success": false,
"error": "Описание ошибки"
}Эти данные можно использовать в следующих нодах workflow через выражения:
{{ $json.taskId }}— ID задачи (созданной, обновленной или удаленной){{ $json.task.title }}— название задачи{{ $json.task.description }}— описание задачи{{ $json.deleted }}— флаг успешного удаления (для операции Delete Task)
Параметры ноды
Operation: Create Task
| Параметр | Тип | Обязательное | Описание | По умолчанию |
|----------|-----|--------------|----------|--------------|
| Title | string | ✅ Да | Название задачи. Можно использовать выражения n8n. | - |
| Description | string | ❌ Нет | Описание задачи. Поддерживает многострочный текст. | Пустая строка |
| Responsible User ID | number | ✅ Да | ID пользователя-исполнителя в Bitrix24. См. раздел "Как найти Responsible User ID". | 1 |
| API Method | options | ❌ Нет | Метод API для создания задачи. | task.ctaskitem.add |
Operation: Update Task
| Параметр | Тип | Обязательное | Описание | По умолчанию | |----------|-----|--------------|----------|--------------| | Task ID | number | ✅ Да | ID задачи в Bitrix24, которую нужно обновить. См. раздел "Как найти Task ID". | - | | Title | string | ❌ Нет | Новое название задачи. Оставьте пустым, чтобы не изменять. | Пустая строка | | Description | string | ❌ Нет | Новое описание задачи. Оставьте пустым, чтобы не изменять. | Пустая строка | | Responsible User ID | number | ❌ Нет | Новый ID пользователя-исполнителя. Оставьте пустым, чтобы не изменять. | Пустая строка |
Примечание: Необходимо указать хотя бы одно поле для обновления (Title, Description или Responsible User ID).
Operation: Delete Task
| Параметр | Тип | Обязательное | Описание | По умолчанию | |----------|-----|--------------|----------|--------------| | Task ID | number | ✅ Да | ID задачи в Bitrix24, которую нужно удалить. См. раздел "Как найти Task ID". | - |
Обработка ошибок
Типичные ошибки и их решения
"Webhook URL is required"
- Причина: Не указан Webhook URL в credentials
- Решение: Проверьте настройки credentials, убедитесь, что Webhook URL заполнен
"Task title is required"
- Причина: Не указано название задачи
- Решение: Заполните поле "Title" в настройках ноды
"Responsible User ID is required"
- Причина: Не указан ID пользователя-исполнителя
- Решение: Укажите числовой ID в поле "Responsible User ID"
"Task ID is required"
- Причина: Не указан ID задачи для операции обновления или удаления
- Решение: Укажите числовой ID в поле "Task ID"
"At least one field (Title, Description, or Responsible User ID) must be provided for update"
- Причина: При обновлении задачи не указано ни одно поле для изменения
- Решение: Укажите хотя бы одно поле (Title, Description или Responsible User ID) для обновления
"Bitrix24 API HTTP Error (404)"
- Причина: Неверный Webhook URL или метод API
- Решение: Проверьте правильность Webhook URL, убедитесь, что вебхук активен в Bitrix24
"Bitrix24 API HTTP Error (401)"
- Причина: Неверный или устаревший Webhook URL
- Решение: Создайте новый вебхук в Bitrix24 и обновите credentials
"Bitrix24 API Error: Access denied"
- Причина: У вебхука нет прав на создание, редактирование или удаление задач
- Решение: Проверьте права доступа вебхука в Bitrix24, убедитесь, что включены права на
tasks
Режим "Continue on Fail"
Если включен режим "Continue on Fail" (Продолжить при ошибке) в настройках ноды:
- Ошибки не прервут выполнение workflow
- Нода вернёт объект с полем
success: falseи описанием ошибки - Следующие ноды в workflow продолжат выполнение
Для включения режима:
- Откройте настройки ноды
- Включите переключатель "Continue on Fail" или "Продолжить при ошибке"
API Bitrix24
Нода использует следующие методы Bitrix24 REST API:
Создание задачи
Метод: task.ctaskitem.add
Формат запроса:
POST https://ваш-домен.bitrix24.ru/rest/1/вебхук/task.ctaskitem.add.json
Content-Type: application/json
{
"fields": {
"TITLE": "Название задачи",
"RESPONSIBLE_ID": 1,
"DESCRIPTION": "Описание задачи"
}
}Обновление задачи
Метод: tasks.task.update
Формат запроса:
POST https://ваш-домен.bitrix24.ru/rest/1/вебхук/tasks.task.update.json
Content-Type: application/json
{
"taskId": 123,
"fields": {
"TITLE": "Обновленное название",
"DESCRIPTION": "Обновленное описание",
"RESPONSIBLE_ID": 2
}
}Удаление задачи
Метод: tasks.task.delete
Формат запроса:
POST https://ваш-домен.bitrix24.ru/rest/1/вебхук/tasks.task.delete.json
Content-Type: application/json
{
"taskId": 123
}Документация Bitrix24 REST API
- Основная документация: https://dev.1c-bitrix.ru/rest_help/
- Методы для задач: https://dev.1c-bitrix.ru/rest_help/tasks/tasks/index.php
- Метод user.get: https://dev.1c-bitrix.ru/rest_help/users/user_get.php
Разработка
Требования
- Node.js 18+
- npm или yarn
- TypeScript 5.0+
Сборка проекта
npm install
npm run buildСобранные файлы будут находиться в папке dist/.
Структура проекта
bitrix24-node/
├── package.json # Конфигурация пакета
├── tsconfig.json # Настройки TypeScript
├── .npmignore # Исключения для npm
├── README.md # Документация
├── index.ts # Точка входа
├── credentials/ # Credentials
│ └── Bitrix24Api.credentials.ts
└── nodes/ # Ноды
└── Bitrix24/
└── Bitrix24.node.tsЛокальная разработка
- Клонируйте репозиторий
- Установите зависимости:
npm install - Соберите проект:
npm run build - Установите в папку
customn8n (см. раздел "Установка") - Перезапустите n8n
- Внесите изменения в исходные файлы
- Повторите шаги 3-5 для применения изменений
Тестирование
Для тестирования ноды:
- Запустите n8n в режиме разработки
- Создайте тестовый workflow
- Используйте ноду с тестовыми данными
- Проверьте результат в Bitrix24
Лицензия
MIT
Поддержка
При возникновении проблем:
- Проверьте раздел "Обработка ошибок"
- Убедитесь, что все credentials настроены правильно
- Проверьте права доступа вебхука в Bitrix24
- Просмотрите логи n8n для детальной информации об ошибках
Версия пакета: 1.0.12
