Как устроены системы автоматизации - Урок №7

Как проходить урок?
Время выполнения Д/З

1 день
Время урока

40 минут
В этом дополнительном уроке мы детально разберем как "внутри" работает система автоматизации изнутри
3. После выполнения ДЗ - переходите к следующему уроку!
2. Внизу будет домашнее задание для выполнения (займет от 10 до 20 минут).
1. Читайте текст урока.
В прошлом уроке мы подробно разобрали, как устроена архитектура автоматизации, а также начали проектировать ваш бизнес процесс для внедрения искусственного интеллекта.
НО! Я хотел бы детально разобрать как работают системы автоматизации изнутри, чтобы вы разобрались как можно лучшим образом спроектировать ваш бизнес процесс.
Урок дополнительный, но полезный.

Где происходит работа в системе автоматизации?

Итак, вы установили N8N или make.com и хотите начать проектировать ваш первый процесс (не переживайте, в будущем еще это сделаем).

И тут же возникнет вопрос. А где происходит "работа"?
Итак, для каждого процесса в системах автоматизации создается workflow. Или по-русски бизнес процесс.

В одном аккаунте n8n или make.com могут быть сотни процессов для разных бизнесов (например, в моем аккаунте имеются и процессы автоматизации прослушки звонков для Триады и бизнес процессы по личным проектам).

пример workflow в n8n

Откуда берутся данные ?

Мы говорили в прошлых уроках, что данные для передачи (данные запросов клиентов/тем статей - что вы хотите "скормить нейросетям") их в систему автоматизации (чтобы с ними могли начать работать нейросети) можно брать откуда угодно.
Их любой CRM системы, платформы, Google таблицы.
Для этого либо создается API, либо вебхук.
Если очень сократить эту тему (ей посвящен отдельный урок) - то это приложения или протоколы, которые из одной системы (например, из AmoCrm) передают данные в другую (например, в платформу автоматизации для передачи в ИИ).

В системе N8N источники таких данных указываются в разделе Credential.


раздел Credential
В нем вы можете взять и подключить любые приложения (API) или протоколы (вебхуки) из любой цифровой системы. Как это сделать - научимся в будущих уроках. А пока - краткий ответ на этот вопрос.

Узнаем токен/api ключ и вставляем его в поле соответствующего сервиса и вуаля - данные передаются.


вставляем ключ в поле
В make.com все чуть проще.
В разделе Connection хранятся все подключенные источники данных. Как их подключить, мы разберемся в отдельном уроке.

А как данные обрабатываются?

Чтобы настроить обработку данных - вы создаете бизнес процесс (workflow) и в нем настраивайте Триггер. Когда процесс запускается.

Например, процесс может запускаться автоматически по действию. Например, когда прилетел лид - вы можете передать данные лида (страницу с которой он пришел, UTM метку, почту) в нейросеть, чтобы она проанализировала лид.
Тогда - вам нужна мгновенная передача данных.

А можно, например, передавать данные раз в сутки, как сделали в Триаде, где все звонки (лиды) собираются раз в сутки и передаются на расшифровку (если делать это автоматически, то это сильно отвлечет менеджеров), поэтому передача данных настроена раз в сутки.

Настройка периодичности делается через модуль trigger.
Это самый первый модуль, который автоматически появляется при создании бизнес-процесса (workflow) в системе автоматизации.

Что означает каждый модуль триггера в n8n?

Trigger manually — «Запуск вручную»
Этот вариант нужен для тестов. Вы нажимаете кнопку — и процесс стартует. Удобно, когда вы только настраиваете цепочку и хотите проверить, как она работает. Не нужен никакой внешний сигнал — только ваша команда.

On app event — «Когда что-то произошло в приложении»
Сценарий запускается, если в каком-то сервисе (например, в Telegram, Airtable, Notion) произошло событие: прилетело новое сообщение, добавили строку в таблицу, изменили карточку. То есть, n8n сам слушает сторонние приложения.

On a schedule — «По расписанию»
Работает как будильник. Вы сами задаёте интервал: каждый час, раз в сутки, по пятницам. И каждый раз, когда наступает это время — процесс запускается. В Триаде, например, мы использовали этот модуль для запуска анализа звонков раз в сутки.

On webhook call — «Когда прилетает вебхук»
Это самый частый способ интеграции с внешними сервисами. Вы создаёте «приёмник» в n8n (webhook), а внешний сервис сам отправляет туда данные. Например, как только на сайте кто-то заполнил форму — данные сразу уходят в n8n.

On form submission — «Когда отправлена форма»
n8n позволяет создавать формы прямо внутри себя. Пользователь заполняет форму, нажимает отправить — и сценарий сразу запускается. Удобно, если вы делаете внутреннюю систему без отдельного сайта.

When called by another workflow — «Запуск из другого сценария»
Иногда один workflow должен запустить другой. Например, основной сценарий обработал заказ и вызывает дополнительный — на генерацию письма. Вот этот модуль нужен, чтобы принимать такие внутренние вызовы.

On chat message — «Когда приходит сообщение в чат»
Если вы подключаете чат-бота (например, в Telegram) — этот модуль ловит сообщения от пользователей. Пригодится, если вы делаете ИИ-бота, и хотите, чтобы он отвечал на вопросы прямо в чате.

В системе автоматизации make.com все проще.
В настройках бизнес процесса (внизу workflow) проставляется как часто запускать процесс. Например, каждые 15 минут.

А что дальше?

Дальше начинается свобода творчества.
Вы во-первых, выбирайте откуда будут подгружаться данные.
Для этого после trigger выбирайте модуль, из которого должны вытягиваться данные (ранее он должен быть сохранен в Credential).

Например, можно выбрать модуль Google Doc. После вы выбирайте что именно нужно сделать (например, взять из Гугл таблицы) данные.

Для этого нажимается плюсик и выбирается нужный модуль.
Название можно найти в поиске.

После - вы настраивайте, что нужно сделать выбранному модулю.
Например, отдать Вам (а именно загрузить в систему автоматизации) данные из последней ячейки Google Таблицы. Если например, данные хранятся в ней.

например, выбираем Get row
И так не только с Google модулями.
Например, выбирая API СRM системы (если у n8n или make.com) нет встроенного модуля этой системы, вы можете выбрать модуль HTTP request

Далее в модуле необходимо указать протокол
  • Get на взятие данных
и прописать откуда брать данные (например, ссылку на вебхук - специальный протокол, который передает данные из системы в систему).


Тоже самое и в make.com
Нажимайте плюсик, выбирайте модуль (например, http). И так же указывайте откуда берутся данные (ссылка на api или вебхук).


И у make.com очень много встроенных модулей. Например, можно сразу подключить парсинг (передачу) данных из Телеграмм - через встроенный модуль, указав токен (бота или аккаунта).


Что делать после получения данных?

После получения данных - вы можете делать с ними, что угодно.
Передавать их в ИИ, выстраивать сложную систему работы с ними.

Например, после передачи сделок в Триаде - мы фильтруем только целевые сделки (убираем спам звонки) и только потом отправляем их на расшифровку.
Давайте последовательно разберем доступные модули и настройки. Начнем с функционала N8N.

1) Action in an app — Действие в приложении

Это самый частый вариант. Сюда входят все внешние сервисы, с которыми работает n8n — от Google Sheets до Telegram, от Notion до amoCRM. Именно в этом разделе вы выбираете, куда хотите отправить данные.


Примеры:
  • Создать новую строку в Google Таблице после ответа ИИ.
  • Отправить сообщение в Telegram, если лид был качественным.
  • Обновить сделку в amoCRM, добавив результат анализа.
Если вам нужно сделать какое-либо действие внутри внешнего сервиса, вам сюда.



Именно выбирая Action in an app - вы можете выбрать OpenAi или иную нейросеть, чтобы отдавать ей данные на обработку.
Как это сделать разберем в других уроках.

Далее выбрав нейросеть (например, OpenAi) - вы прописывайте команду, которая обрабатывает данные.

Такая команда называется промптом. В ней для нейросети указывается что нужно сделать и полем (квадратными скобками) указывается источник данных (ранее подключенных). Пример ниже:

внутри модуля нейросети (например Chatgtp) в n8n прописывается промпт (команда) и указываются откуда берутся данные (с каких прошлых итераций)
Важно помнить!

Как прописывать промпты и работать с ними - разберемся в будущих уроках.
Также из модуля ИИ данные можно отправлять в другие модули ИИ, как в примере ниже - где она нейросеть пишет текст, другая редактирует, а третья на основании написанного текста продумывает заголовок.


Например, в кейсе по прослушке звонков по Триаде - после передачи звонков из Битрикса и их отсева, они передаются в модули ChatGtp на расшифровку и затем в другой модуль на оценку качества работы менеджеров.
В самом модуле прописывается промпт (команда для нейросети) и источник данных.

пример - промпт вставляется в модуль ChaGtp (OpenAi) с командой
В make.com выглядит все визуально удобнее.
Вы нажимайте "плюсик" и выбирайте любой доступный модуль (например, СhatGtp или DeepSeek).

через плюсик добавляем модуль нейросети
В модуле прописываем промпт (команду) и указываем источник данных.
Например, модуль ChatGtp будет писать тексты для Телеграм блога на основании списка тем и источников из Google Таблицы.

пример - в промпте прописываем команду и указываем ячейку из таблички - на основании, которой ChatGtp будет писать статьи
Так можно соединять десятки модулей.
Например - в одном, ИИ пишет текст, в другом редактирует результаты, в третьем генерирует заголовок статьи.
В промпте каждый раз указывается источник данных как результат работы прошлого модуля.

приведу пример с другого проекта, в будущем мы будем делать по нему практикум (во второй половине курса). Здесь у меня один модуль ИИ пишет текст, другой редактирует текст, а третий придумывает заголовок написанной статьи.
Но иногда не обязательно сразу передавать данные модулю нейросети на обработку.
Иногда их нужно отфильтровать. Для этого применяется другой блок "Data Transformation"

2) Data Transformation
Это блок «магии с данными». Здесь можно очистить, отфильтровать, переделать формат данных. Например, если в заявке имя написано капсом, можно привести его к нормальному виду. Или если клиент оставил номер телефона в странном формате — привести его к +7.

Вот пару примеров, что можно сделать:
  • Взять только имя и e-mail из формы.
  • Отфильтровать лиды без почты.
  • Преобразовать дату из формата Excel в нормальный вид.
  • Преобразовать UTM-метки в более читаемую форму.
Мы, например, в Триаде делаем фильтрацию звонков перед отправкой в нейросеть — чтобы не тратить токены на спам, тесты или пустые записи.



Давайте разберем подробнее доступные модули.

  • Code - Позволяет писать кастомный JavaScript или Python код. Это как свободное поле — можно написать любую логику, если встроенных модулей не хватает. Пример, вытащить первые 3 слова из поля, склеить несколько полей в одно, или, например, сгенерировать уникальный ID.
  • Date & Time - Работает с датами и временем. Можно изменить формат, прибавить/отнять дни, перевести дату из строки в объект;
  • Edit Fields (Set) - Позволяет изменить, переименовать, удалить или создать новые поля. Это как если бы вы вручную редактировали таблицу — но автоматизировано. Например, можно: Создать новое поле "Полное имя" из Имя + Фамилия и дальше отдать нейросети на обработку.
  • Date & Time - Работает с датами и временем. Можно изменить формат, прибавить/отнять дни, перевести дату из строки в объект;
  • Edit Fields (Set) - Позволяет изменить, переименовать, удалить или создать новые поля. Это как если бы вы вручную редактировали таблицу — но автоматизировано. Например, можно: Создать новое поле "Полное имя" из Имя + Фамилия и дальше отдать нейросети на обработку.
  • Filter - Фильтрует данные по условию. Например, оставляет только те, у кого сумма сделки больше 100 000 или у кого указан email.
  • Limit - Ограничивает количество передаваемых записей. Применяется если данных очень много.
  • Remove Duplicates - Удаляет дублирующиеся элементы по одному из полей (например, email или номер телефона).
  • Split Out - Разделяет список внутри одного объекта на отдельные элементы. Например, если у вас поле «услуги» хранит ["SEO", "SMM", "дизайн"], то Split Out превратит это в три отдельных объекта. Вот пример применения: Если клиент указал несколько интересующих услуг в одном поле — передать каждую отдельно на свою ветку сценария.
  • Aggregate - Объединяет значения из нескольких строк в одну. Работает наоборот Split Out. Это удобно, если вы хотите собрать «сводку» или список значений..
  • Merge - Объединяет два потока данных в один. Подходит для случаев, когда у вас параллельно приходят разные кусочки информации, и вы хотите их "собрать в кучку".
  • Summarize - успешно суммирует данные, например может объединить несколько текстовых полей в одно. Подходит, когда данные нужно суммировать, а не объединить (например, выдать аналитику по общему количеству звонков за сутки).
Приведу пример - в кейсе с прослушкой звонков (который частично разбирали в прошлых уроках) встроен модуль Merge.
Он объединяет результаты оценки звонков разными нейронными сетями (одна давала оценку менеджеру, другая писала рекомендации) и выдает результат в Google Таблицу, для передачи руководителю.
пример применения модуля MERGE - для объединения полей
Однако, иногда фильтрацией не обойтись.

Нужно создавать последовательные действия (не просто передать данные из ИИ в другую ИИ на обработку), а выстраивать сложные цепочки взаимодействий.
Для этого применятся раздел FLOW.

3)Flow
Это сердце маршрута. Здесь вы задаете условия, развилки, циклы. Например: если сделка больше 100 000 — отправить одному менеджеру, если меньше — другому. Или: если есть e-mail — пишем письмо, если только номер — отправляем в Telegram.

Вот пару примеров использования:
  • IF/ELSE: «если такое условие — тогда вот так».
  • LOOP: повторяем одно и то же действие несколько раз (например, обрабатываем список клиентов).
  • SWITCH: выбор из нескольких вариантов.
  • MERGE: объединить данные из двух источников.
Если сравнивать с дорогами — это перекрестки, светофоры и развязки. Данные, как машины, можно направлять в разные стороны.


Приведу пример - в кейсе с прослушкой звонков встроен модуль IF.
Он отбирает только звонки по целевым заявкам. (Которые отмечены в Битриксе как целевые).
Не целевые заявки (спам, рекламные предложения, желание некоторых клиентов занятся сексом по телефону - и такое бывает) на следующий этап прослушки не проходят.
Также настроен фильтр, который сначала фильтрует звонки по заполненному полю (те, которые менеджер обработал, например звонки других отделов, например, отдела сметирования - на расшифровку не отправляются).
пример использования модуля if - else
если в поле Битрикса сделка (лид) отмечен как целевой, то тогда вытягивается звонок для прослушки, если нет - то звонок НЕ отправляется на расшифровку, чтобы не тратить время
Вы тут наверное, задали вопрос - а как же make.com - почему мы разобрали основные модули систем автоматизации и не затронули какие модули существуют в make.com
Дело в том, что тут все проще.

У make.com помимо разных модулей нейросетей (разбирали выше) есть два "настроечных модуля". Это Tools и Flow Control.
Tools отвечает за обработку данных. Например, за фильтрацию.

В Tools можно
а) выбрать основные действия с переменными в разделе Actions. Вот, что можно сделать:

Get variable / Get multiple variables — достаёт ранее сохранённые значения. Это как если бы вы положили записку в ящик и потом открыли его, чтобы прочитать.
Set variable / Set multiple variables — записывает данные в переменную. Например, если вы сгенерировали текст нейросетью — вы можете сохранить его, чтобы потом использовать в других ветках.
Increment function — полезная штука, если нужно считать, сколько раз сработал сценарий или сколько писем ушло. С каждым проходом значение увеличивается на 1.
Sleep — ставит паузу. Допустим, вы сделали 3 запроса подряд, и хотите немного подождать перед следующей отправкой в нейросеть — ставите Sleep на 3 секунды. Это особенно важно, если ИИ начинает "задыхаться" от нагрузки.


б) агрегировать данные
Иногда нам нужно собрать несколько значений в одно. Именно этим занимаются агрегаторы:
  • Numeric Aggregator — считает суммы, средние, максимумы и минимумы из набора чисел. Удобно, если вы анализируете метрики по лидам или суммируете оценки от ИИ.
  • Table Aggregator — превращает список значений в таблицу. Например, если ИИ выдал список комментариев по звонкам — вы можете собрать их в аккуратную таблицу, а потом передать в Google Sheets.
  • Text Aggregator — объединяет текст из нескольких источников в один блок. Представьте, что у вас 5 ответов от ИИ, и вы хотите отправить их единым письмом клиенту — используйте Text Aggregator.


в) трансформировать данные

Нужны для тонкой настройки и форматирования данных.
  • Compose a String — собирает строку из разных частей. Например, вы хотите составить письмо: «Здравствуйте, [Имя]! Спасибо за заявку на [услуга]». Каждую часть вы берёте из переменных и объединяете в одну строку.
  • Convert the encoding of a text — используется в редких случаях, когда нужно перевести текст в другой код (например, из UTF-8 в ASCII). Полезно, если вы работаете с внешними API, которые не понимают стандартную кодировку.
  • Switch — это условие, похожее на If-Else. Он смотрит на значение и отправляет поток в нужную ветку. Например, если заявка пришла на продукт «А» — идём в одну сторону, если на продукт «B» — в другую. Просто, удобно, прозрачно.

Все в рамках одного раздела (Tools).
Давайте покажу пример применения.

В бизнес процессе, который создает статьи для телеграмма, к каждой статье создается картинка.
Картинка создается на основании шаблонных слайдов презентации.
В модуле Tools я прописываю какие слайды сохранять в картинки, указывая номера слайдов.
В модуле Flow в make.com - можно настраивать как будет организован поток данных.
Разберем доступные настройки.

Repeater -Этот модуль позволяет вам запустить какую-то часть сценария несколько раз подряд. Например, если Вы хотите отправить одно и то же сообщение 5 пользователям в Telegram или проверить одно и то же действие 3 раза подряд с задержкой.

Iterator - Это, по сути, «развёртка» массива. Он превращает список значений (например, список звонков, писем или товаров в заказе) в отдельные элементы. А значит, каждую единицу можно обрабатывать индивидуально. Например, К вам прилетает заявка, в которой сразу несколько услуг. Iterator берёт каждую услугу отдельно — и дальше вы обрабатываете каждую как отдельный поток: отправляете в ИИ, создаёте задачу в CRM, делаете отчёт и т.д.


Array Aggregator - Противоположность итератору. Этот модуль собирает отдельные элементы обратно в массив.
Допустим, ИИ проанализировал 5 звонков по одному, и теперь вы хотите собрать всё это в единый отчёт или таблицу — вот тут и работает Aggregator.

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


А как получить результат?

Итак, теперь давайте разберем - главное. Как система автоматизации выдает полученный результат.
Например, вот - прослушала система звонки, расшифровала, прописала рекомендации менеджерам,а что дальше???

Дальше - можно настроить вывод.
N8N или make.com могут передавать результат обработки данных нейросетями куда угодно.
Например,
  • результаты прослушки звонков передавать в формате Google Таблицы руководителю;
  • выдавать написанную статью в блог Телеграмм;
  • отправлять сообщение клиенту на почту;

Здесь применяются различные модули.
У n8n и make.com есть множество встроенных модулей. С них можно не только забирать данные на обработку, но и выдавать их обратно.

Например, подключив встроенный модуль Telegram и указав в настройках что требуется сделать (например, send message) можно отправить итоговый результат в Телеграмм (допустим клиенту).
В настройках модуля можно будет прописать сам результат, подтянув его из прошлых добавленных в бизнес процесс модулей, которые например создали сообщение с помощью ИИ.

например, я через Телеграмм отправляю менеджеру результаты прослушки звонков и оценки их ИИ, для этого в полях модуля Телеграмм я указываю необходимые мне знания (например, данные прошлого модуля ChatGtp который прослушал звонок и дал ему оценку)
Если встроенного модуля нет, то можно в n8n выбрать раздел Core и через него передать данные с помощью вебхука или API.
О том как подключить API или вебхук - разберем в отдельном занятии.

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