В этом модуле вы узнаете, как проектировать цепочки автоматизации и бизнес-логику без программирования с помощью визуальных инструментов сервиса Integromat.

Integromat — один из самых недооцененных, на мой взгляд, nocode-инструментов. Если вы пользовались ранее Zapier или IFTTT, то Integromat можно назвать «запиром на стероидах». Это клей (как он сам себя называет — The glue of internet) для онлайн-сервисов, которые используете вы и ваша команда.

Это инструмент для автоматизации бэкенда, процесс работы в котором похож на игру Lego. Только вместо кубиков конструктора — пузырьки сервисов. В нем можно настраивать целые группы сложных сценариев с расписанием, обработкой данных, парсингом, переменными, упаковывать сценарии в микросервисы со своим собственным API и многое другое. Integromat существенно дешевле Zapier. Есть бесплатный пробный план.

Ключевые сущности и интерфейс

Рассказывает Леонид Бяков, ex-Tinkoff Bank, ex-Chatfuel

Scenarios (сценарий, цепочка действий)

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

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

Ключевые вкладки для работы со сценарием

  • Diagram — рабочее пространство для сбора цепочек из модулей.
  • History — история работы сценария (там же будем находить ошибки).

Настройки сценария: Save / Notes / Auto-align / Explain flow / Versions

Сборка сценария

Module (модуль, бабл, «пузырь»).

Настройки модуля

Connection — связь сервиса с вашей учетной записью. Настраивается при создании модуля, хранится в списке Connections.
Мапирование (data- mapping) — это определение соответствия данных между последовательностями элементов в программировании.

Виды отработки сценариев по времени

  1. Imediately. При поступлении сообщения или изменений. Принцип работы Webhook.
  2. Scheduling. Периодический запуск «джобиков» (для напоминаний, отчетов и т.д.).

Фильтры

  • Есть текстовые, численные, фильтры по дате и по массиву.
  • С настороженностью надо работать с фильтрами по дате — потому что надо быть уверенным, с какой тайм-зоной приходит та или иная дата.
  • Все остальные фильтры на переходах достаточно простые, а текстовые продублированы чувствительностью к заглавным буквам. Например, ProductSense и productsense это одно и то же только для case insensitive случая.
  • Самый мощный фильтр — Match Pattern. Он покрывает функции всех остальных фильтров, но требует знания регулярных выражений.
  • Самый частоиспользуемый фильтр — ID exists. Проверяет, вернул ли предыдущий модуль что-либо. Если нет — тогда и не надо продолжать сценарий.
  • OR, AND позволяют строить сложные фильтры с логическими операциями. Но с ними надо быть осторожным.

Топ-модули в группе Flow control

Видеоразбор ключевых модулей Flow Control.

Router

  • Принцип работы. Рассмотрим детально, как он работает
  • Fallback Route. Переходит в какую-то ветку, когда условия на соседних ветках не выполняются. Не рекомендую его использовать: слетает и ломается очень часто. Из-за этого бывают проблемы.
  • Как отрабатывает вживую


Iterator

Превращает «детей» из списка в «автобусы» (бандлы), с которыми сценарий может работать как с отдельными юнитами. Например, https://www.integromat.com/scenario/1245410 — отправка уведомлений админам. Полезно, когда внутри есть массив объектов, с каждым из которых надо поработать.

Array Aggregator

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

Ignore

Пропускает ошибку! Часто использую для сервисов, в которых я не уверен.
Integromat – Tools and Text Parser (видео)

4.5 Топ-модули в группе Tools

Set / Get Variable

Устанавливает новую переменную, которую потом можно удобнее использовать.

Text Aggregator

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

Топ-модуль в группе Text parser

Match Pattern

Cуперпушка! Используется, чтобы из текста выдирать то, что нужно. Хэштеги, команды, имена, e-mail и т.д. Надо понимать и знать регулярные выражения. Но зато, зная их, становишься просто суперниндзя.

Regex101 поможет писать шаблоны

Пример задачи — заносить в базу Airtable сообщения от пользователей в группе в телеграме с определенным хештегом (например, #отчет).

Дебаггинг: как работать с ошибками

Integromat – Debug (видео)

После трех раз настройка Scheduled job останавливается.

Что происходит во время остановки сценариев

  • Watch updates. Останавливает после первой же ошибки по дефолту. Все события продолжают ждать обработки в очереди! Это все встроено в Integromat.
  • Scheduled Scenarios. Останавливаются после 3 ошибок.

Как читать ошибки

  1. Гуглить, когда непонятно.
  2. Догадываться (приходит с опытом).

Вебхуки

API & Webhook (видео)

Вебхуки — это «пользовательские обратные вызовы по HTTP». Запускаются каким-либо событием. Когда оно происходит, исходный сайт отправляет HTTP-запрос на URL-адрес, указанный для вебхука. Можно настроить их так, чтобы события на одном сайте вызывали действия на другом.

Он будет посылать отчет за день. Сколько минут и на что я потратил.

Вызываем кастомный API

Make a Request (без авторизации)

  • Подставляем URL-webhook.
  • Делаем GET-запрос без параметров.

Делаем HTTP-запрос к сервису Giphy и отправляем в телеграм гифку с текстом.

Полезные ссылки

Телеграм-сообщество по Integromat, где можно задать вопрос и получить ответ