Создание задач Битрикс24 из email через n8n: SLA, вложения и дедупликация ¶
Обновлено: 2026-05-30
Импортируйте JSON в n8n, замените почтовый credential, Bitrix24 webhook URL и ID ответственных.
- Проблема: почему входящие email теряются без задач и SLA
- Архитектура workflow email → n8n → задача Битрикс24
- Контракт входных данных письма
- Message-ID, SLA и маппинг задачи (Code Node)
- Готовый workflow JSON: скачать и импортировать
- Пошаговая настройка почты, n8n и задач Битрикс24
- Тесты перед production и проверка tasks.task.add
- Production-риски email-to-task автоматизации
- Полезные ссылки и смежные workflow
- Критерии готовности
Проблема: общий почтовый ящик поддержки быстро превращается в очередь без владельца: письма читают несколько человек, вложения теряются, дедлайны не видны, а повторная доставка письма может создать две задачи.
Решение: принимать письма через n8n, создавать задачу Битрикс24 через REST API, считать дедлайн SLA по теме и тексту, прикреплять вложения или ссылки, а дубли отсекать по Message-ID. Так email становится управляемой задачей, а не случайной строкой во входящих.
Это не универсальный парсер всех писем, а production-сценарий для поддержки, бухгалтерии или продаж: есть workflow JSON, payload, Code Node, таблица архитектуры, проверка tasks.task.add и чек-лист запуска.
Проблема: почему входящие email теряются без задач и SLA ¶
Письмо само по себе не имеет статуса “в работе”, “просрочено” или “закрыто”. Когда команда ведёт поддержку из почты, важные обращения легко остаются без ответа, особенно если клиент пишет повторно в старой цепочке или пересылает вложение другому менеджеру.
Автоматизация нужна не для того, чтобы “скопировать письмо в Битрикс24”, а чтобы создать управляемую задачу: с ответственным, дедлайном, ссылкой на оригинал, вложениями и правилом дедупликации.
Архитектура workflow email → n8n → задача Битрикс24 ¶
| Нода | Роль | Что проверить |
|---|---|---|
| Email Trigger / Gmail | Получает входящие письма | Папка, фильтр, unread/read, вложения |
| Normalize email | Парсит тему, отправителя и текст | Message-ID, encoding, пустая тема, HTML-only |
| Check Message-ID | Отсекает повторную доставку | Durable storage с уникальным ключом |
| Map SLA | Назначает ответственного и deadline | Слова “срочно”, клиентский домен, категория |
| Create Bitrix24 task | Вызывает tasks.task.add | TITLE, DESCRIPTION, RESPONSIBLE_ID, DEADLINE |
| Notify owner | Уведомляет ответственного | Без полного текста письма, если есть персональные данные |
Контракт входных данных письма ¶
Тестовый payload имитирует письмо после IMAP/Gmail trigger. В реальном workflow attachments могут быть бинарными данными n8n или ссылками на хранилище.
{
"message_id": "<20260530.1042.support@example.ru>",
"from": "client@example.ru",
"subject": "СРОЧНО: не приходит отчет по заказу 10492",
"text": "Добрый день. Не получили отчет после оплаты. Просим проверить сегодня.",
"received_at": "2026-05-30T09:42:00.000Z",
"attachments": [
{ "filename": "payment.pdf", "mimeType": "application/pdf", "size": 183422 }
]
}
Главное поле — message_id. Без него нельзя безопасно отличить новое письмо от повторной доставки или повторного запуска execution.
Message-ID, SLA и маппинг задачи (Code Node) ¶
Code Node ниже готовит поля для задачи Битрикс24 и выставляет быстрый SLA, если в теме или тексте есть срочные маркеры.
const email = $json;
const subject = String(email.subject ?? '(без темы)').trim();
const from = String(email.from ?? '').trim().toLowerCase();
const messageId = String(email.message_id ?? email.messageId ?? '').trim();
if (!messageId) throw new Error('Email has no Message-ID; cannot deduplicate safely');
const isUrgent = /срочно|urgent|asap|сегодня/i.test(subject + ' ' + (email.text ?? ''));
const now = new Date(email.received_at ?? Date.now());
const deadline = new Date(now.getTime() + (isUrgent ? 2 : 8) * 60 * 60 * 1000);
const attachments = Array.isArray(email.attachments) ? email.attachments : [];
return [{
json: {
dedupe_key: `email-task:${messageId}`,
bitrix_task: {
title: `${isUrgent ? '[SLA] ' : ''}${subject}`,
description: `Письмо от: ${from}
Message-ID: ${messageId}
${email.text ?? ''}`,
responsible_id: isUrgent ? 17 : 23,
deadline: deadline.toISOString(),
priority: isUrgent ? 2 : 1,
tags: ['email', 'n8n', isUrgent ? 'sla-fast' : 'sla-standard'],
attachment_count: attachments.length
}
}
}];
В production лучше заменить простую регулярку срочности на словарь категорий: бухгалтерия, техподдержка, продажи, VIP-домен. Но даже базовое правило уже лучше ручной обработки почты без дедлайна.
Готовый workflow JSON: скачать и импортировать ¶
Полный workflow JSON находится в архиве сайта. Он показывает структуру: получение письма, нормализация, Message-ID dedupe, загрузка вложений, вызов Bitrix24 API и уведомление владельца.
{
"name": "Nodbot - Email to Bitrix24 task with SLA",
"nodes": [
{ "name": "Email Trigger", "type": "n8n-nodes-base.emailReadImap", "purpose": "Получить новое письмо из ящика поддержки" },
{ "name": "Normalize email", "type": "n8n-nodes-base.code", "purpose": "Собрать dedupe_key, SLA deadline и Bitrix24 task fields" },
{ "name": "Check Message-ID", "type": "n8n-nodes-base.postgres", "purpose": "Не создать задачу повторно при повторной доставке письма" },
{ "name": "Upload attachments", "type": "n8n-nodes-base.httpRequest", "purpose": "Передать вложения или ссылки на файлы" },
{ "name": "Create Bitrix24 task", "type": "n8n-nodes-base.httpRequest", "purpose": "Вызвать tasks.task.add" },
{ "name": "Notify owner", "type": "n8n-nodes-base.telegram", "purpose": "Сообщить ответственному о новой SLA-задаче" }
],
"connections": "Email Trigger → Normalize → Dedupe → Attachments → tasks.task.add → Notify"
}
Пошаговая настройка почты, n8n и задач Битрикс24 ¶
- Подключите IMAP, Gmail или Microsoft mailbox к n8n и ограничьте папку входящих.
- Импортируйте workflow JSON и замените Bitrix24 webhook URL.
- Настройте таблицу dedupe по
Message-ID. - Пропишите ID ответственных и правила SLA для срочных/обычных писем.
- Решите, как хранить вложения: напрямую в Битрикс24, в облаке или ссылкой в описании.
- Отправьте тестовое письмо дважды и убедитесь, что задача создаётся один раз.
Тесты перед production и проверка tasks.task.add ¶
Проверяйте не только появление задачи. Откройте карточку Битрикс24 и убедитесь, что заголовок читаемый, в описании есть отправитель и Message-ID, дедлайн соответствует SLA, а вложения доступны ответственному.
curl -X POST "https://YOUR-N8N-DOMAIN/webhook/bitrix24-task-from-email" \
-H "Content-Type: application/json" \
--data @bitrix24-task-from-email-payload.json
- Повторный
Message-IDне должен создавать вторую задачу. - Письмо без темы должно получать безопасный title, а не падать.
- Срочное письмо должно иметь короткий deadline и правильного ответственного.
- Ошибка Bitrix24 API должна попадать в alert или DLQ.
Production-риски email-to-task автоматизации ¶
- Нет Message-ID dedupe. Повторная доставка или retry создаст несколько задач.
- HTML-письмо не очищается. В задачу попадают мусорные теги и подписи.
- Вложения теряются. Клиент приложил счёт или скриншот, а менеджер видит только текст.
- Нет SLA-календаря. Простые “+2 часа” ломаются на выходных и праздниках.
- Персональные данные в уведомлениях. В Telegram/Slack лучше отправлять ссылку на задачу, а не полный текст письма.
Полезные ссылки и смежные workflow ¶
Официальная документация: Bitrix24 REST tasks.task.add и обзор задач Bitrix24 REST. Внутри Nodbot смотрите Битрикс24 в n8n, Gmail attachments to Yandex Disk, Retry и DLQ и Telegram alert для ошибок workflow.
Критерии готовности ¶
- Каждое письмо с одним
Message-IDсоздаёт не больше одной задачи. - У задачи есть ответственный, deadline, источник и ссылка/вложение.
- Срочные письма получают отдельный SLA и тег.
- Ошибки Bitrix24 API видны владельцу workflow.
- Команда знает, какие письма автоматизируются, а какие остаются ручными.
Нужно превратить почту в SLA-задачи?
Nodbot настроит email → n8n → Битрикс24: дедупликацию, вложения, SLA, ответственных и мониторинг ошибок.