Предпросмотр новой функции Workflows

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

Функция Workflows доступна на планах Business и Enterprise для пользователей хостинга Discourse.

Обзор функции Workflows

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

:books: Документация

Узлы

Существует четыре основных категории узлов:

  • Триггеры инициируют рабочий процесс в ответ на события в Discourse (например, создание темы, добавление пользователя в группу и т. д.), по расписанию, через вебхук или вручную.
  • Условия создают ветвления в рабочем процессе на основе логики «да/нет» для любых данных в рабочем процессе.
  • Действия — это события, запускаемые рабочим процессом, такие как отправка личного сообщения или сообщения в чат, публикация ответа, вызов HTTP-эндпоинта, запуск агента ИИ или запрос к Data Explorer.
  • Утилиты управляют самим потоком, устанавливая задержки, циклы по элементам и переменные, а также могут помочь в документировании рабочего процесса с помощью заметок.

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

Переменные, таблицы данных и учетные данные

Workflows включает несколько дополнительных инструментов для более удобного создания и управления результатами:

  • Переменные — это хранимые пары «ключ/значение» (например, ID групп, ID категорий и т. д.), которые легко доступны во всех рабочих процессах для упрощения конфигурации.
  • Учетные данные — это место, где вы можете хранить переиспользуемую конфигурацию аутентификации для узлов HTTP-запросов, чтобы не вставлять API-ключи в свои рабочие процессы.
  • Таблицы данных используются для хранения и запроса данных во время выполнения, чтобы вы могли отслеживать выполнения (например, видеть, запускался ли рабочий процесс уже для конкретной темы) и легко ссылаться на вывод рабочего процесса.

Журналы выполнения

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

Использование Workflows

Чтобы попробовать, перейдите в раздел Предстоящие изменения по адресу /admin/config/upcoming-changes, найдите пункт Enable Discourse workflows и обновите поле Enabled for…, чтобы включить его на вашем сайте.

После включения вы найдете Workflows в разделе Плагины → Workflows в вашей административной панели.

29 лайков

Это выглядит как n8n. Было бы очень круто, если бы оно работало аналогичным образом.

3 лайка

Может ли эта функция служить альтернативой автоматизации? Или, возможно, их можно комбинировать?

1 лайк

За последние 4 недели мы создали несколько интеграций и автоматизаций с помощью этого нового плагина, и могу сказать только одно: он просто фантастичен и кардинально меняет ситуацию для Discourse. Это поистине лучшая новая функция за много лет (а и так уже есть немало потрясающих возможностей :heart_eyes:).

Да, работает :slight_smile:

13 лайков

Вероятно, в какой-то момент он полностью заменит плагин Automations, поскольку Workflows гораздо более гибки

9 лайков

Это просто безумная идея. Я потратил много времени на создание мощных интеграций между n8n и Discourse. Невероятная инициатива, это значительно ускорит развитие Discourse.

8 лайков

Сейчас я это тестирую, и мне кажется, что в этом форуме должна появиться новая категория для рабочих процессов.

Также мне хотелось бы узнать, как отправить чат-сообщение конкретному пользователю, а не в канал.

3 лайка

На данный момент отправка личных сообщений пользователям невозможна, только в каналы

Mike Tyson's 'Real Thoon' Meme

6 лайков

Мне нравятся новые рабочие процессы — это настоящее изменение правил игры, и их можно связывать с такими сервисами, как n8n.

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

Ваши мысли?

2 лайка

Выглядит очень продвинуто. Не могли бы вы привести примеры сценариев использования?。。。。。

1 лайк

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

Реализовать такие динамические поведения в стандартном Discourse довольно сложно.

4 лайка

Более правильный подход — рефакторинг всех селекторов групп в выражения пересечения, объединения и дополнения! :smile: (шучу)

Вы можете делать всё что угодно, вызывая API Discourse из рабочего процесса :grinning_face:

2 лайка

Мне хотелось бы понять, в каких случаях следует продолжать использовать Автоматизации + запросы, а когда действительно стоит использовать Рабочие процессы. Возьмем в качестве примера следующее действие:

Отправлять личные сообщения пользователям, у которых соотношение прочитанных к написанным постам превышает 250:1 (и которые в конечном итоге попадут в группу «исключенных из списка», также известную как «наблюдатели»)

Какой инструмент более эффективен и/или рекомендуется для этого конкретного случая? Когда следует использовать Автоматизации + запросы, а когда — Рабочие процессы?

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

Я рекомендую использовать Workflows даже для простых процессов по нескольким причинам:

  • Если вы когда-нибудь решите, что простой процесс должен развиваться или изменяться, Workflows гораздо более гибкий и может адаптироваться к вашим потребностям
  • Если вы когда-нибудь решите создать другой процесс, который зависит от этого процесса, Workflows позволяет связывать их вместе
  • Workflows обеспечивает лучшую видимость выполнения процессов, что упрощает устранение неполадок
7 лайков

Как сказала @lindsey, а также, если у вас есть какие-либо сценарии использования, которые можно реализовать в автоматизации, но нельзя — в рабочих процессах, пожалуйста, сообщите нам.

6 лайков

Было бы здорово иметь отдельный раздел для обмена воркфлоу! Это помогло бы сообществу, лучше понять все механики и, что самое главное, получить новые идеи для будущих проектов. Это просто идея :sweat_smile:

Кстати: мне очень нравится модуль workflow — он получился мощным и интуитивно понятным :+1:

4 лайка

Вы должны высказать своё мнение в:

3 лайка

Хотел бы узнать, возможно ли следующее: когда статус события становится «полным», его название автоматически меняется с добавлением слова «полное». Это позволило бы пользователям сразу видеть заполненные события в годовом обзоре, например, без необходимости заходить в само событие, чтобы проверить, есть ли ещё места. А если зайти ещё глубже — можно было бы отображать количество оставшихся мест прямо в названии события. Это моё личное мнение о том, как улучшить опыт использования для моих пользователей :sweat_smile: