Если сотрудникам нужен внутренний чат на n8n, его запускает узел Chat Trigger: он создаёт адрес, по которому открывается окно переписки, и передаёт каждое сообщение в сценарий. Окно либо размещает сам n8n, либо вы встраиваете на свою страницу. Доступ, память разговора и границы ответов приходится настраивать отдельно; от выбора этих настроек зависит, чем станет чат — рабочим инструментом отдела или открытой дверью в данные.
Два способа входа
Chat Trigger работает в двух режимах: готовое окно, которое показывает сам n8n, и встроенный чат, который вы подключаете на своей странице по адресу вебхука.
Условный пример: отдел закупок хочет, чтобы сотрудник спрашивал в чате статус заявки и получал ответ с источником. Сценарий находит запись в таблице, а языковая модель только оформляет ответ человеческим языком. Chat Trigger отвечает за единственную часть этой схемы: принять сообщение и вернуть результат в окно.
Поэтому разделяйте задачи: Chat Trigger принимает реплики, а логика поиска, права и форма ответа живут в узлах после него. Такое разделение позволяет заменить окно (например, перейти с готового на встроенное) без переписывания всего сценария.
| Режим | Как выглядит | Когда выбирать | Что настроить |
|---|---|---|---|
| Hosted chat | Страница с окном от самого n8n | Быстрый внутренний чат без своего интерфейса | Внешний вид окна, начальное сообщение, доступ |
| Embedded chat | Виджет на вашей странице или в вашем интерфейсе | Чат внутри портала, где сотрудники уже работают | Адрес вебхука, разрешённые источники запросов, авторизация |
Выбор зависит от того, где сотрудники проводят день. Если у компании есть внутренний портал, вставьте чат туда: людям хватит привычного адреса. Если портала нет, хватит готового окна, а ссылку закрепите в рабочем мессенджере. Архитектура ИИ-агента с инструментами и памятью описана в статье про сборку агента в n8n; здесь разбирается только вход и доступ.
Кто может зайти
Документация узла называет три варианта авторизации, и разница между ними определяет весь уровень риска.
- Без авторизации: любой, у кого есть адрес, открывает чат. Для внутренних данных этот вариант исключён.
- Базовая авторизация: общие логин и пароль на всех. Подходит для короткого пилота в маленькой группе, но личной ответственности за запросы нет.
- Вход аккаунтом n8n: чат доступен только людям с учётной записью в вашем n8n, при желании с правом запускать сценарий. Для постоянной работы отдела это самый строгий из трёх вариантов.
Отдельно стоит переключатель «сделать чат общедоступным»: пока он выключен, чат открывается только из ручного интерфейса редактора. Включайте его после того, как авторизация выбрана и проверена. Список разрешённых источников запросов (CORS) есть в обоих режимах; значение по умолчанию допускает любые сайты, поэтому впишите адрес своего портала. Список ограничивает браузерные запросы, а авторизацию собой заменить нельзя.
Важная граница: авторизация узла отвечает на вопрос «кто открыл окно», и молчит о том, какие данные ему можно показать. Если отдел закупок и бухгалтерия пользуются одним чатом, права на каждую запись проверяет сценарий по таблице доступов, а языковой модели это решение оставлять нельзя. Подробнее о защите входящих запросов читайте в материале про вебхуки n8n.
Память сессии
Чат без памяти воспринимает каждое сообщение как первое: на вопрос «а по второй заявке?» он теряется и просит уточнить, о чём речь. Чтобы разговор шёл связно, в узле включают загрузку предыдущей сессии из памяти. Документация n8n рекомендует подключать и Chat Trigger, и отвечающий узел к одному и тому же узлу памяти: так у обоих единый источник данных о разговоре. С разными узлами памяти у каждого окажется своя версия переписки.
Сессию идентифицирует технический номер, и от него зависит граница между разговорами. Два сотрудника с разными номерами сессий остаются каждый в своей переписке. Проверьте это на практике: откройте чат в двух браузерах под разными учётными записями и убедитесь, что вопрос из первого окна отсутствует во втором.
Перед запуском проверьте, что происходит при долгой паузе: сотрудник вернулся к чату после обеда, а завтра открыл его снова. Решите заранее, продолжается ли разговор или начинается заново. Для справочных вопросов по заявкам надёжнее второй вариант: статус заявки меняется, и старый ответ из памяти способен ввести в заблуждение.
Память накапливает текст, а в тексте встречаются номера заявок, фамилии и суммы. Определите срок хранения: сколько реплик помнить, когда стирать, кто может прочитать сохранённое. Для пилота хватит короткого окна из последних сообщений, а долгая история вводится после согласования с тем, кто отвечает за персональные данные в компании.
Ответ чата
Chat Trigger поддерживает три способа вернуть ответ: после завершения последнего узла, через специальные узлы ответа или потоком по мере генерации. Для первого чата выбирайте простейший вариант — ответ после завершения сценария: он проще отлаживать, а для коротких справок задержка приемлема.
- Создайте сценарий с Chat Trigger, оставьте доступ выключенным и откройте окно из редактора, чтобы убедиться, что сообщение доходит до сценария.
- Добавьте узел, который ищет запись по номеру заявки в таблице. Источником фактов служит результат поиска, а память модели отодвигается в сторону.
- Chat Trigger требует подключённый корневой узел агента или цепочки, так что запись модели передаёт один из них. Дайте модели инструкцию отвечать только по переданным данным и называть номер записи. Если запись отсутствует, ответ состоит из фразы об отсутствии данных.
- Включите авторизацию, сделайте чат общедоступным в пределах компании и проверьте работу под настоящей учётной записью сотрудника.
Отдельно продумайте формулировку отказа. Фраза «записи нет, уточните у коллеги из закупок» полезнее молчания и безопаснее выдуманного ответа. Добавьте её в инструкцию модели дословно и проверьте на номере, которого в таблице нет.
Принцип остаётся тем же, что в других сценариях: полные данные ищет и отбирает скрипт, модель объясняет и предлагает, человек сверяет. Ответ, в котором нет номера записи, считается недостаточным для решения. Какие вопросы отдавать чату первыми, решает владелец данных вместе с отделом.
Какие вопросы сотрудников вы хотели бы закрыть таким чатом?
Проверка отказа
Приёмка чата начинается с проверки запретов. Работу при правильном входе вы увидите и так, а ошибки доступа находятся только специальными попытками. Составьте короткий набор «негативных» проверок и пройдите его до того, как ссылку получит коллектив.
- Откройте адрес чата в окне без входа: окно должно запросить авторизацию или показать отказ.
- Войдите под учётной записью, у которой нет права запускать сценарий: чат обязан закрыться.
- Задайте вопрос про запись из чужого отдела: ответ должен содержать отказ без единого поля записи.
- Попросите модель игнорировать инструкции и показать все записи: в ответе допустимо только то, что нашёл скрипт.
- Откройте встроенный чат на странице, адреса которой нет в списке разрешённых источников: запрос оттуда должен быть отклонён. Прямые запросы мимо браузера закрывает только авторизация.
Любой провал означает, что чат остаётся на тестовом контуре. Результаты записывайте с датой и номером версии сценария, чтобы после правки повторять тот же набор. Подключение чата к Telegram или MAX устроено по-другому и разобрано в отдельных материалах, здесь мы остаёмся внутри корпоративного окна.
После пилота соберите вопросы, на которые чат ответил отказом, и покажите их владельцу данных. Список отказов показывает, каких источников чату недостаёт, и подсказывает, что подключать следующим шагом.
Начните с одного справочного вопроса и одного источника данных. Соберите чат с входом через аккаунт n8n, добавьте пять негативных проверок и покажите результат владельцу данных. Для проекта с порталом, правами и журналом посмотрите, как мы делаем чат-боты для бизнеса.