Канал электронной почты принимает ваши входящие письма и позволяет pipeline отвечать, пересылать или создавать задачи ниже по цепочке.
Модель
Два взаимодополняющих модуля:
email_inbound— приём (IMAP)email_outbound— отправка (настроенный оператор или ретрансляция через ваш SMTP)
Они независимы: вы можете использовать только модуль входящей почты (для сортировки без ответа) или только модуль исходящей почты (для отправки уведомлений из pipeline, запущенного иным способом).
Настройка
- Параметры → Сервисы → Электронная почта, вкладка Accounts — подключите почтовый ящик IMAP с его учётными данными.
- Сопоставьте почтовый ящик с целевым pipeline.
- (Опционально) Настройте отправителя (SMTP) для ответа.
Для архитектур, которым необходимо сохранять контроль над своими почтовыми серверами, betool не заменяет ваш MTA: мы читаем и записываем через стандартные IMAP / SMTP.
Что получает pipeline
Для каждого входящего письма создаётся новый exchange со следующими данными:
exchange.user_message— тело письма (HTML → нормализованный текст)exchange.email.subject— строка темыexchange.email.from— нормализованный отправительexchange.email.thread_id— идентификатор цепочки (полезен для многоходового контекста)exchange.email.attachments— списокFileMetadata(разобранные вложения)
Вложения
Вложения можно передать в узел file_transform: выделяемый текст PDF (pdf_extract_text, без OCR — отсканированный PDF не даёт текста), чтение книги Excel построчно (xlsx_to_json, xls_to_json), разбиение PDF или рендеринг его в изображения, извлечение архива. Начиная с этого момента ваш агент может работать с ними как с текстом или структурированными данными.
Цепочки и многоходовой контекст
Когда клиент отвечает на предыдущий ответ, betool распознаёт thread_id и восстанавливает историю цепочки в контексте агента. Для проектирования pipeline это прозрачно.
Качество адресов и недоставки
Три узла защищают вашу репутацию отправителя:
email_check— проверяет один или несколько адресов перед отправкой: список подавления организации, синтаксис, затем DNS домена (MX, при его отсутствии A/AAAA; «null MX» означает отказ). Он также отмечает, не меняя вердикта, одноразовые адреса, общие ящики (info@…) и риски (опечатка в домене крупного провайдера, дублированное расширение, сервер «catch-all»). Сам он ничего не блокирует: он публикует вердикты и список доставляемых адресов. Никакой SMTP-проверки не выполняется.email_list_clean— квалифицирует целый список (например, из импортированного файла) в три листа: чистые, на проверку, отклонённые, готовые к экспорту черезdata_to_file. Дедупликация, те же проверки, что и вemail_check, и анализ формы адреса. Тарифицируется в кредитах за каждый уникальный адрес, баланс проверяется до обработки.email_bounce_parse— читает уведомление о недоставке, полученное во входящем ящике. Адреса берутся только из структурированных полей уведомления, никогда из свободного текста. Они добавляются в список подавления: постоянная ошибка блокирует с первого случая; временная ошибка блокирует после 3 случаев, на 72 часа.
Последующие отправки (узел email_outbound и tool email.send) автоматически исключают подавленные адреса; если ни одного получателя не остаётся, ничего не отправляется. Снять постоянную блокировку может только администратор.
Известные ограничения
- Пока нет нативной поддержки MS Exchange EWS (вы можете предоставить Exchange по IMAP).
- Нет поддержки Microsoft Graph для Office 365 (в дорожной карте).
- Разбор очень старых писем (вложенный RTF Outlook 2003) может потерять часть форматирования.