Обзор конструктора workflow
Как устроены workflow в Triggo — холст, узлы, связи и жизненный цикл черновик/активный.
Обзор конструктора workflow
Workflow (рабочий процесс) в Triggo — это небольшая программа, которую вы собираете визуально. Эта страница объясняет, из каких частей она состоит и как они соединяются.
Что такое workflow
Workflow — это направленный ациклический граф (DAG): набор узлов, выполняющих работу, соединённых связями, которые передают данные между ними. «Ациклический» означает, что узел никогда не возвращает данные одному из своих предков — данные всегда движутся вперёд.
Когда workflow запускается, исполнитель обходит граф в топологическом порядке по алгоритму Кана. Каждый узел ждёт завершения своих родителей, прежде чем начать работу, — поэтому workflow можно воспринимать как последовательность шагов, даже если ветви выполняются параллельно.
Холст
Холст — это место, где вы собираете workflow. Вы перетаскиваете узлы из боковой панели и соединяете их, проводя связи между их точками. При выделении узла открывается инспектор, в котором вы заполняете конфигурацию — учётные данные, поля, условия.
Холст всегда показывает черновик workflow. Изменения, которые вы делаете на холсте, не влияют на запущенный workflow до тех пор, пока вы их не опубликуете.
Категории узлов
В Triggo четыре типа узлов:
- Триггер — ровно один на workflow. Триггер запускает каждое выполнение. Это может быть вебхук, запланированное время или событие от внешнего сервиса. См. триггеры.
- Действия коннекторов — вызывают внешние сервисы (AmoCRM, Telegram, Google Sheets и остальные из каталога). Один узел — одна операция.
- Системные узлы — строительные блоки, не привязанные к конкретной интеграции: Loop, Condition, HTTP-запрос и другие примитивы управления потоком. (Отдельная справочная страница в работе — пока смотрите документацию Code node.)
- Code node — выполняет JavaScript или TypeScript, когда ни один встроенный узел не подходит. См. code node.
Связи и поток данных
Связи передают данные от родительского узла к его потомкам. Дочерний узел может обращаться к выходу любого предка — не только прямого родителя — по имени. Используйте редактор сопоставления полей в инспекторе, чтобы пробросить значения; синтаксис описан в разделе сопоставление полей.
Если узел недостижим из триггера, он никогда не выполняется. Если ветвь пропущена (например, узлом Condition), её потомки также пропускаются.
Черновик и активная версия
У каждого workflow есть две ипостаси:
- Черновик — то, что вы редактируете на холсте. Изменения сохраняются по мере работы, но не влияют на продакшен.
- Активная версия — та, которая реально выполняется при срабатывании триггера. Одновременно активна только одна версия.
Чтобы продвинуть черновик, нажмите Опубликовать на панели инструментов холста. Triggo создаст снимок текущего черновика как новую версию и сделает её активной; предыдущая активная версия сохраняется в истории, так что откатиться можно в любой момент. Полный жизненный цикл описан в разделе активация и версионирование.