Автоматизация процессов

Согласование в мессенджере: как связать решение сотрудника с автоматизацией

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

База данных связана с отчётом через последовательность модулей — концептуальная иллюстрация

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

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

Когда согласование в мессенджере решает рабочую задачу

Мессенджер подходит для повторяющихся операций, в которых сотруднику нужно выбрать один из заранее определённых вариантов. Например:

  • разрешить или отклонить скидку;
  • согласовать расход;
  • подтвердить изменение срока;
  • выдать доступ;
  • разрешить исключение из стандартного правила.

Польза появляется не от переноса переписки в кнопки, а от связи ответа с конкретной заявкой. Система должна понимать, кто ответил, на какую версию данных распространяется решение и удалось ли выполнить разрешённое действие.

Свободное «да» в общем чате для этого недостаточно: оно может относиться к другому сообщению или другой редакции заявки. Такой маршрут также не заменяет электронную подпись и не определяет юридическую силу решения. Сотрудник по-прежнему оценивает предмет заявки, а автоматизация доставляет сведения, фиксирует выбранный вариант и продолжает процесс по согласованным правилам.

Из чего состоит маршрут согласования

У маршрута есть отдельные состояния:

  1. Заявка подготовлена.
  2. Карточка отправлена назначенному согласующему.
  3. Система ожидает ответ.
  4. Получено согласие или отказ либо срок ответа истёк.
  5. Перед исполнением система повторно проверяет заявку.
  6. Действие выполняется и подтверждается целевой системой либо передаётся на разбор.

Важно не смешивать три результата:

СобытиеЧто оно подтверждаетЧего оно не подтверждает
Сообщение доставленоКарточка дошла до канала или адресатаСотрудник изучил и согласовал заявку
Получено согласиеЗафиксирован ответ определённого пользователяДанные заявки не изменились и действие выполнено
Целевая система приняла изменениеПолучено подтверждение конкретной операцииЛюбой последующий повтор события безопасен
Событие
Сообщение доставлено
Что оно подтверждает
Карточка дошла до канала или адресата
Чего оно не подтверждает
Сотрудник изучил и согласовал заявку
Событие
Получено согласие
Что оно подтверждает
Зафиксирован ответ определённого пользователя
Чего оно не подтверждает
Данные заявки не изменились и действие выполнено
Событие
Целевая система приняла изменение
Что оно подтверждает
Получено подтверждение конкретной операции
Чего оно не подтверждает
Любой последующий повтор события безопасен

Документация n8n описывает механизм Wait: workflow можно приостановить, а затем продолжить с теми же данными после заданного ожидания или внешнего события. Это функция платформы n8n, а не готовый маршрут согласования. Состояния, права, последствия ответа и обработку ошибок нужно проектировать для конкретного процесса.

Что показать сотруднику в карточке

Карточка должна содержать сведения, без которых сотрудник не сможет понять предмет и последствия решения:

ПолеЗачем оно нужно
Название решенияБыстро определить, что требуется согласовать
ID заявкиСвязать ответ с исходной записью
Существенные поля и их источникПроверить основание решения
Версия или контрольный признакОбнаружить изменение значимых данных
Автор заявкиПонимать, кто инициировал запрос
Последствия согласияЗнать, какое действие запустит ответ
Варианты ответаВыбрать формальное решение, а не оставить двусмысленный комментарий
Срок ответа и его состояниеПонимать, до какого момента решение принимается
Поле
Название решения
Зачем оно нужно
Быстро определить, что требуется согласовать
Поле
ID заявки
Зачем оно нужно
Связать ответ с исходной записью
Поле
Существенные поля и их источник
Зачем оно нужно
Проверить основание решения
Поле
Версия или контрольный признак
Зачем оно нужно
Обнаружить изменение значимых данных
Поле
Автор заявки
Зачем оно нужно
Понимать, кто инициировал запрос
Поле
Последствия согласия
Зачем оно нужно
Знать, какое действие запустит ответ
Поле
Варианты ответа
Зачем оно нужно
Выбрать формальное решение, а не оставить двусмысленный комментарий
Поле
Срок ответа и его состояние
Зачем оно нужно
Понимать, до какого момента решение принимается

Если права и интерфейс позволяют, добавьте переход к исходной записи. Технические идентификаторы можно скрыть из основного текста карточки, но процесс всё равно должен хранить их для связи событий.

В документированном действии Start and wait for an approval в Power Automate предусмотрены поля Title, Assigned to и Details. Это подтверждает возможность задать заголовок, адресата и описание запроса именно в данном действии Power Automate. Состав карточки и доступные каналы в другой платформе нужно проверять отдельно.

Как определить, кто вправе ответить

Видимость сообщения, личность ответившего и его полномочия — три разных условия. Сотрудник может видеть карточку, но не иметь права согласовывать эту заявку. Отображаемое имя также не заменяет проверку идентификатора и способа получения ответа.

До разработки составьте карту ролей:

  • кто назначает согласующего;
  • по каким данным выбирается конкретный сотрудник;
  • кто может заменить его;
  • что происходит при отсутствии или смене полномочий;
  • какие идентификаторы возвращает мессенджер;
  • как система проверяет источник callback.

В операции Send and Wait for Response узла Slack в n8n можно включить фиксацию ответившего и задать список пользователей, которым разрешено согласование. Если нажимает пользователь вне списка, workflow продолжает ждать. Документация также указывает, что n8n проверяет callback с помощью механизма подписи запросов Slack при корректно заданном signing secret.

Это свойства конкретной связки Slack и n8n и её настроек. Для работы нужны, среди прочего, доступный по HTTPS экземпляр n8n, настроенная интерактивность Slack, подходящие права и корректный секрет подписи. Эти возможности нельзя автоматически переносить на любой мессенджер или тариф.

Как связать ответ с заявкой и её версией

Для будущего решения полезно заранее определить контракт записи. Он может включать:

ДанныеНазначение
ID заявкиНайти исходный объект
ID экземпляра согласованияОтличить новый цикл от предыдущего
Версия или контрольный признакСравнить показанные и актуальные данные
ID назначенного согласующегоПроверить полномочие
ID ответившегоЗафиксировать участника события
Решение и комментарийРазделить формальный выбор и пояснение
Время ответаПроверить состояние срока
Статус обработкиПонять, исполнено ли решение
Данные
ID заявки
Назначение
Найти исходный объект
Данные
ID экземпляра согласования
Назначение
Отличить новый цикл от предыдущего
Данные
Версия или контрольный признак
Назначение
Сравнить показанные и актуальные данные
Данные
ID назначенного согласующего
Назначение
Проверить полномочие
Данные
ID ответившего
Назначение
Зафиксировать участника события
Данные
Решение и комментарий
Назначение
Разделить формальный выбор и пояснение
Данные
Время ответа
Назначение
Проверить состояние срока
Данные
Статус обработки
Назначение
Понять, исполнено ли решение

Это проектируемая структура, а не универсальный набор полей всех платформ.

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

Комментарий в переписке не следует трактовать как формальное решение. Лучше хранить выбранное действие отдельно от пояснения: «Согласовать» или «Отказать» определяет ветку, а комментарий сохраняет контекст.

Как продолжить процесс после согласия, отказа или отсутствия ответа

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

После отказа процесс сохраняет решение и причину, уведомляет автора, а затем завершает заявку или возвращает её на исправление — по заранее согласованному правилу.

Если срок истёк, корректный результат — «ответ не получен», а не автоматическое согласие или отказ. Дальнейший маршрут выбирают при проектировании: напоминание, замещение согласующего, возврат инициатору или ручной разбор. Универсального правильного срока нет.

Документация операции согласования Slack в n8n указывает, что первое решение остаётся в силе, а поздние клики его не меняют. Это поведение конкретной функции. Собственная логика всё равно должна проверять повторные события до бизнес-действия: повторно доставленный callback не должен второй раз изменить заявку.

Условный пример: согласование скидки в мессенджере

Ниже — синтетический учебный пример, а не клиентский проект Switch On AI и не результат живого теста CRM или мессенджера.

Менеджер создаёт заявку DISC-1042, версия 3. В ней указаны клиент, текущая сумма и условия, запрошенная скидка, автор и срок ответа. Система назначает руководителя и формирует карточку с действиями «Согласовать» и «Отказать».

ШагУчебные данныеОжидаемое поведение будущего решения
Создание заявкиID DISC-1042, версия 3Создать отдельный экземпляр согласования
Отправка карточкиСумма, условия, скидка, автор, срокПоказать руководителю значимые данные и варианты ответа
Получение ответаID ответившего, решение, комментарий, времяСвязать событие с заявкой, версией и экземпляром согласования
Повторное чтениеАктуальная версия сделкиСравнить условия с теми, которые видел руководитель
ИсполнениеРазрешённая скидкаОтправить изменение один раз при совпадении данных
ПодтверждениеОтвет целевой системыЗафиксировать успех либо передать ошибку на разбор
Шаг
Создание заявки
Учебные данные
ID DISC-1042, версия 3
Ожидаемое поведение будущего решения
Создать отдельный экземпляр согласования
Шаг
Отправка карточки
Учебные данные
Сумма, условия, скидка, автор, срок
Ожидаемое поведение будущего решения
Показать руководителю значимые данные и варианты ответа
Шаг
Получение ответа
Учебные данные
ID ответившего, решение, комментарий, время
Ожидаемое поведение будущего решения
Связать событие с заявкой, версией и экземпляром согласования
Шаг
Повторное чтение
Учебные данные
Актуальная версия сделки
Ожидаемое поведение будущего решения
Сравнить условия с теми, которые видел руководитель
Шаг
Исполнение
Учебные данные
Разрешённая скидка
Ожидаемое поведение будущего решения
Отправить изменение один раз при совпадении данных
Шаг
Подтверждение
Учебные данные
Ответ целевой системы
Ожидаемое поведение будущего решения
Зафиксировать успех либо передать ошибку на разбор

Основная ветка выглядит так:

  1. Менеджер создаёт заявку версии 3.
  2. Руководитель получает карточку и выбирает решение.
  3. Система сохраняет ответившего, время и решение.
  4. Перед записью скидки система снова читает сделку.
  5. Если значимые данные совпадают, система отправляет одну команду на изменение.
  6. Процесс завершается только после подтверждения целевой системы.

Альтернативные ветки нужно описать до разработки:

  • Ответил сотрудник без полномочий. Ответ не переводит заявку в состояние «согласовано», ожидание продолжается или событие передаётся на разбор.
  • Условия сделки изменились. Старое решение не исполняется; система создаёт новую карточку с актуальной версией.
  • Руководитель нажал кнопку повторно. Повторное событие не запускает вторую запись скидки.
  • Ответ пришёл после истечения срока. Система сохраняет событие для разбора, но не исполняет просроченное решение автоматически.
  • CRM временно не подтвердила запись. Процесс не сообщает об успехе; операция остаётся в состоянии ошибки или ожидает безопасного ручного продолжения по правилам проекта.

Такой пример показывает будущий контракт и ожидаемые ветки. Он не доказывает совместимость с конкретной CRM: доступные операции, права, ответы API и способ защиты от повторов проверяют при выборе систем и разработке.

Проверка перед рабочим запуском и ограничения

Приёмку следует строить вокруг смысловых сценариев, а не внешнего вида кнопок. Для каждого сценария заранее запишите входные данные, ожидаемое состояние заявки, допустимое действие и признак результата.

СценарийЧто проверить
Ответил назначенный согласующийРешение связано с нужной заявкой и актуальной версией
Получен отказПричина сохранена, разрешённое действие не выполнено
Заявка измениласьИсполнение остановлено, старое решение не применено
Ответил посторонний сотрудникЗаявка не перешла в состояние согласования
Callback пришёл повторноЦелевое действие не выполнено второй раз
Ответ пришёл после срокаПросроченное событие не исполняется автоматически
Мессенджер недоступенНет ложной отметки о доставке или решении
Целевая система не подтвердила операциюНет ложной отметки об успешном результате
Требуется ручное продолжениеСотрудник видит заявку, причину остановки и допустимый следующий шаг
Сценарий
Ответил назначенный согласующий
Что проверить
Решение связано с нужной заявкой и актуальной версией
Сценарий
Получен отказ
Что проверить
Причина сохранена, разрешённое действие не выполнено
Сценарий
Заявка изменилась
Что проверить
Исполнение остановлено, старое решение не применено
Сценарий
Ответил посторонний сотрудник
Что проверить
Заявка не перешла в состояние согласования
Сценарий
Callback пришёл повторно
Что проверить
Целевое действие не выполнено второй раз
Сценарий
Ответ пришёл после срока
Что проверить
Просроченное событие не исполняется автоматически
Сценарий
Мессенджер недоступен
Что проверить
Нет ложной отметки о доставке или решении
Сценарий
Целевая система не подтвердила операцию
Что проверить
Нет ложной отметки об успешном результате
Сценарий
Требуется ручное продолжение
Что проверить
Сотрудник видит заявку, причину остановки и допустимый следующий шаг

В журнале процесса должна прослеживаться цепочка «заявка — решение — действие — результат». Само наличие такого журнала, версионирования, защиты от дублей или эскалации нельзя считать функцией по умолчанию: это требования к проектированию и будущей проверке.

Наличие встроенных кнопок, идентификация пользователя, проверка подписи callback и состав выходных данных зависят от мессенджера, платформы, тарифа, прав и конфигурации. До запуска нужно проверить выбранную связку на согласованных сценариях и сохранить фактические результаты приёмки.

Switch On AI разрабатывает и внедряет автоматизацию таких операций. На странице услуг Switch On AI можно сравнить автоматизацию с ИИ-агентом и чат-ботом: для фиксированного маршрута согласования обычно важнее интеграция систем и участие сотрудника, а не автономное решение модели.

Для предметного разговора подготовьте описание одного согласования: источник заявки, значимые поля, список согласующих, используемый мессенджер и действие после ответа. Switch On AI разберёт маршрут на созвоне, затем подготовит ТЗ и коммерческое предложение. Ключевой фрагмент можно показать в бесплатном прототипе; прототип не равен полноценному внедрению и не подтверждает работу всех подключений.

Вопросы по этой задаче

Можно ли считать ответ «да» в обычной переписке формальным согласованием?

Для автоматизированного маршрута этого недостаточно: ответ нужно однозначно связать с заявкой, её версией, личностью и полномочиями сотрудника. Формальное решение лучше фиксировать отдельным действием, а комментарий хранить как пояснение.

Какие данные нужно связать с решением сотрудника?

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

Что делать, если заявка изменилась после отправки карточки?

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

Как обработать повторное нажатие или повторную доставку ответа?

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

Что происходит, если согласующий не ответил вовремя?

Заявка получает статус «ответ не получен». Затем действует заранее согласованный маршрут: напоминание, замещение, возврат инициатору или ручной разбор. Универсального срока и единственной правильной ветки нет.