Назад к кейсам
РЕАЛИЗОВАННЫЙ ПРОЦЕСС / ПИСЬМО В ЗАДАЧУ

Кейс Outlook → RAG → Trello: как мы превращаем письма в задачи разработчикам

Рабочий маршрут от технического письма до назначенной задачи в Trello — с контекстом базы знаний и сохранённым решением.

Мы разработали процесс, который читает заданное окно писем Outlook, отделяет рабочие запросы от обычной переписки, определяет ответственного разработчика, получает релевантные сведения из базы знаний Acumatica и передаёт одобренные задачи в Trello через n8n. Система также сохраняет, почему письмо стало карточкой или было пропущено.

INPUTMicrosoft Outlook
DECISIONAI / RAG / assignment
OUTPUTn8n → Trello
Концептуальная схема превращения письма в задачу через базу знаний и назначение разработчика
Концептуальная иллюстрация процесса. На ней нет реальных писем, клиентов или карточек Trello.
EMAIL_TO_TASK.FLOW
OUTLOOK → получить и нормализовать письма
→ AI INTAKE → создать задачу или пропустить
→ НАЗНАЧЕНИЕ → адресат, клиент и продукт
→ RAG → получить контекст до составления плана
→ ФИНАЛЬНАЯ ПРОВЕРКА → одобрить создание или пропустить
→ N8N → карточка Trello и аудит
CASE STUDY / RU

Проблема внутри почтового ящика

Техническая работа приходила цепочками писем, а не готовыми задачами. Сообщение могло быть новым запросом, пересланным поручением, уточнением, отчётом о статусе или простой благодарностью. Создавать карточку из каждого письма — значит засорять доски разработчиков. Пропустить реальный запрос — значит оставить работу в почте. Поэтому сначала нужно было решить, требует ли письмо новой задачи, и только затем обращаться к Trello.

Назначение исполнителя усложняло задачу. У клиента может быть ответственный, у продукта — профильный специалист, а поля «Кому» и «Копия» дают разные сигналы. Мы собрали процесс, который применяет их последовательно и сохраняет понятный след решения. Одной языковой модели недостаточно, чтобы надёжно управлять идентификаторами досок, доставкой и повторной обработкой.

Что мы реализовали

Рабочая система связывает Microsoft Outlook, n8n, отдельный Python AI Orchestrator, RAG по знаниям Acumatica и Trello. n8n остаётся транспортом: получает письма, нормализует технические поля, отправляет пакет в сервис принятия решений, принимает компактные действия и создаёт карточки на досках разработчиков. Orchestrator отвечает за смысловое решение, назначение, получение знаний, план задачи и финальную проверку. Запись в Trello выполняет n8n, а не Orchestrator.

В архитектуре сохранён и более ранний связанный маршрут n8n: классификация, матрицы клиентов и продуктов, обязательный RAG-поиск перед планированием, компактная карточка и обновление журнала. Активная AI-first ветка переносит смысловые решения в Orchestrator, но оставляет техническую валидацию, доставку и прослеживаемость явными. Здесь описана работающая система; подготовленные компоненты не выдаются за включённые.

Путь одного потенциального поручения

Запуск n8n по расписанию читает Inbox и Archive Outlook за настроенный период. Нормализация выделяет устойчивые идентификаторы, тему, отправителя и адресатов, дату, контекст ответа или пересылки. Это важно: технический запрос мог быть переслан одним человеком другому, а ответ о статусе в той же цепочке не обязан становиться новой задачей.

Нормализованный пакет поступает в AI Orchestrator. Первый этап решает, просит ли письмо выполнить работу. Если да, до составления плана проходят назначение исполнителя и поиск в базе знаний. Затем финальная проверка оценивает предлагаемое действие. Только одобренное создание возвращается в n8n для записи в Trello. Обновления, благодарности, неопределённые и небезопасные действия не дают команды создать карточку.

Для примера можно представить письмо с запросом изменить интеграцию Acumatica. Процесс способен выделить поручение, сопоставить сигналы ответственности, получить относящийся к теме контекст и сформировать задачу выбранному разработчику. Это иллюстративный сценарий: мы не публикуем чужое письмо и не утверждаем, что каждая неоднозначная переписка классифицируется без ошибок.

Назначение — правило бизнеса, а не угаданное имя

Система сопоставляет прямого адресата, закрепление клиента, специализацию по продукту, адресатов в копии и текущую загрузку досок в заданном порядке. Закрепление клиентов и продуктов хранится в редактируемых матрицах; Python-resolver работает с их синхронизированными копиями, а не помещает полные таблицы в каждый запрос к модели. Идентификаторы досок и списков Trello применяются после выбора разработчика.

Понятный прямой адресат может быть сильнее общего правила по клиенту или продукту. Когда сигналы не позволяют выбрать исполнителя уверенно, процесс может пропустить создание, а не отправить карточку на случайную доску. Это осознанный компромисс: неоднозначное письмо можно проверить, а уверенно неверное назначение создаёт незаметный операционный шум.

RAG даёт контекст до составления плана

Сервис знаний Acumatica предоставляет опорные материалы для технического планирования. Поиск встроен как определённый шаг перед созданием плана, а не оставлен необязательным вызовом инструмента, который агент может пропустить. Планировщик получает релевантные фрагменты и использует их для краткой задачи разработчику. База знаний становится частью процесса, а не отдельной страницей, которую оператор должен вспомнить открыть.

Найденный текст остаётся источником сведений, а не поводом придумывать поведение продукта. Если материалы отсутствуют или не относятся к теме, а техническое исполнение от них зависит, безопаснее не выпускать уверенную карточку. Простые административные или перечневые задачи можно оценить по самому письму и назначению, не делая сильное совпадение RAG обязательным для любого поручения. Это снижает и риск вымышленных инструкций, и число неоправданных отказов.

Краткая карточка и отдельный журнал

Разработчику нужна исполнимая задача, а не полный текст частной переписки или трасса модели. Компактное действие содержит понятное название, короткий рабочий контекст, выбранное место назначения и уместные метки. Нормализованная тема письма остаётся в конце видимого заголовка: связь с исходным запросом сохраняется без копирования всей цепочки в Trello.

Подробности решения хранятся в аудите. Ветвь n8n фиксирует источник и статус доставки, а Orchestrator отдельно сохраняет ход принятия решения. Такое разделение помогает разбирать пропущенную задачу, неверное назначение или сбой передачи, не открывая сырые письма и RAG-вывод на досках разработчиков. Успешный ответ промежуточного API сам по себе ещё не доказывает создание карточки Trello.

Реальный дефект изменил контракт действий

Production-аудит выявил конкретный сбой: этапы AI распознали письмо как обновление существующей работы, но fallback в Orchestrator сформировал общую новую задачу и пропустил её в Trello. Ошибка находилась в контракте между решением и доставкой. Замена модели на более мощную сама по себе не исправила бы этот путь.

Мы изменили активный контракт на два исхода. Intake должен явно определить новую задачу, а финальная проверка — явно одобрить её создание. Любое обновление, отсутствие нужных данных, неопределённость или небезопасный результат превращаются в «пропустить» и не попадают в компактные действия для Trello. Исправление прошло адресные регрессионные проверки на сервере; качество следующих реальных запусков всё равно требует наблюдения. Мы не заявляем, что риск дублей или ошибок классификации исчез полностью.

Доставка сейчас и подготовленный защитный слой

Рабочий production-маршрут использует n8n, асинхронный callback Orchestrator и существующий путь доставки. Журнал резервирования помогает не выдавать повторно действия по уже учтённым решениям, однако после записи во внешнюю систему и до подтверждения возможна неоднозначность при сбое. Поэтому проектирование идемпотентности нельзя честно описать как безусловную гарантию отсутствия дублей.

Мы подготовили более устойчивый outbox с сохраняемыми заданиями, claim действий и явным подтверждением создания карточки; код развернут за неактивным переключателем. Worker выключен, а n8n callback не переведён на новый протокол. Это выполненная подготовительная инженерная работа, но не часть активного обещания доставки в этом кейсе. Для приёмки нужен контролируемый сквозной тест Trello и проверка спорных состояний.

Полученный результат

В результате работает система «письмо → задача» с чётким распределением ролей: n8n передаёт сообщения и создаёт карточки Trello; Orchestrator принимает решение, назначает и проверяет; RAG добавляет знания в планирование; аудит сохраняет путь решения. Технический почтовый ящик превращается в более структурированный вход для разработчиков с понятными границами того, что создано и почему.

Кейс показывает выполненную интеграцию и инженерную работу по исправлению существенного production-дефекта. Он не обещает измеренную экономию времени, идеальную классификацию, отсутствие дублей или активную доставку v2. Для таких утверждений нужны другие доказательства, чем у реализованного и проверенного здесь маршрута.

Реализованный маршрут

  1. Окно Outlook → нормализация в n8n
  2. AI-решение и назначение исполнителя
  3. Acumatica RAG → план → финальная проверка
  4. Одобренное создание → n8n → Trello
  5. Аудит решения и доставки

Нужно превратить сложную почту или базу знаний в управляемый рабочий процесс?

Обсудить проект · AI-автоматизация · Другие кейсы