Discourse ワークフロー

:discourse2: 概要 Discourse Workflows を使用すると、管理者はビジュアルビルダーを通じて高度な自動化を作成し、コミュニティ内のほぼすべての作業を自動化できます。
:open_book: インストールガイド このプラグインは Discourse コアにバンドルされています。プラグインを別途インストールする必要はありません。

Workflows は、ドラッグ&ドロップキャンバスを使用してトリガー、条件、アクション、フロー制御ノードを接続し、Discourse サイト上のほぼすべての作業を自動化できる、高度な複数ステップの自動化を作成できるビジュアル自動化ビルダーです。

:discourse: Discourse WorkflowsBusiness または Enterprise プランで利用可能です。

基本概念

他の自動化ツールに精通している場合、Workflows で使用される用語のほとんどはご存知でしょう。

  • ワークフロー: 接続されたノードで構成される保存された自動化。
  • ノード: ワークフロー内の単一のステップ:トリガー、条件、アクション、フロー制御/ユーティリティ。
  • トリガー: ワークフローの開始点。トリガーは手動、または特定のイベント(トピックの作成、スケジュールの実行、インバウンド Webhook)によって開始される場合があります。
  • 条件: ルールを評価し、フローをブランチに分割するルーティングノード。例えば、If ノードは true または false の評価に基づいてフローをルーティングします。
  • アクション: 特定の処理を実行するノード — ポストの作成、バッジの付与、外部 API の呼び出しなど。
  • アイテム: ノード間で流れるデータ。アイテムは、実行ログで確認し、式を使用して参照できる JSON オブジェクトです。
  • : {{ ... }} として記述され、実行時に解決される動的値。これを使用して、前のノード、ワークフロー変数、またはサイト設定からのデータを参照します。

ワークフローの作成

ワークフローを構築するには:

  1. 管理者 > プラグイン > Workflows に移動し、新しいワークフロー をクリックします。

  1. ワークフローに名前を付けます。
  2. 最初のステップを追加 をクリックし、トリガーを選択します。

  1. + ボタンを使用して、追加のノードを追加します。

  1. ノードをダブルクリックして設定します。設定パネルでは、画面の左側にノードのインプットの詳細、右側にノードのアウトプットの詳細が表示されます。すべての詳細を表示するには、ワークフローを一度実行する必要がある場合があります。

  1. 公開する準備ができたら、公開 をクリックします。

:light_bulb: ヒント:

  • ビルダーの右上にある三点リーダーメニューにある スティッキーノート を使用して、ワークフローが何をするかを文書化します。スティッキーはワークフローに何の影響も与えませんが、テンプレートや共有ワークフローを理解しやすくします。
  • 開発中は ログノード を使用して、ワークフローの動作に影響を与えずにデバッグ値を実行ログに送信します。
  • ワークフローを JSON として エクスポートおよびインポート して、チームメンバーと共有したり、他のサイトからのワークフローを再作成したりできます。

式と動的データ

式を受け付けるフィールドには、エディターに {/} ボタンが表示されます。これをクリックして、トリガーと以前のノードから利用可能なデータを参照し、参照を挿入します。

一般的な式

返す内容
{{ $json.topic.title }} 現在のアイテムからのトピックのタイトル
{{ $json.post.url }} 現在のアイテムからのポストの URL
{{ $json.user.username }} 現在のアイテムに関連付けられたユーザーのユーザー名
{{ $vars.my_variable }} my_variable という名前のワークフロー変数の値
{{ $site_settings.title }} サイトのタイトル
{{ $execution.id }} 現在の実行の一意の ID
{{ $('Node Name').item.json.property }} キャンバス名で参照される特定のアップストリームノードからの出力

静的および動的値

= で始まるフィールドは式として扱われます。先頭の = を持たないフィールドはプレーンテキストとして扱われます。式ピッカーはこれを自動的に処理します。

ワークフローの管理

既存のワークフローを管理するのに役立つ機能がたくさんあります。

実行

ワークフローが実行されるたびに、Discourse は実行を記録します。履歴を確認するには、Workflows → Executions に移動します。

各実行には、完了した日時とステータスが表示されます。

  • 完了: エラーなく完了しました。
  • エラー: 特定のノードで失敗しました。エラーと原因となったデータを確認するには、実行をクリックします。
  • 実行中: 現在処理中です。
  • 待機中: Wait ノードによって一時停止中。フォーム、モーダル、チャット承認からの応答を待機中、またはサブワークフローの完了を待機している Call Workflow ノード。
  • レート制限: レート制限によりワークフローがスキップされました。
  • スキップ: トリガーが発動しましたが、ワークフローは未公開でした。

ワークフローの実行の詳細を確認するには、表示 ボタンをクリックします。これにより、ワークフローの各ステップが表示され、展開して正確な詳細とステップの所要時間を確認できます。

ページの下部には、ワークフローの全体の所要時間が表示されます。必要に応じて、ログを エクスポート して共有やトラブルシューティングに使用することもできます。

設定

Workflows → Settings タブで、次のことができます。

  • このワークフローの実行中に失敗があった場合にトリガーされる エラーワークフロー を設定します。ワークフローにエラートリガーがある場合、そのトリガーで定義されたようにエラーを処理します。
  • スケジュールトリガーの タイムゾーン を設定します。これが未設定の場合、ワークフローはデフォルトでサイトのタイムゾーンを使用します。
  • ワークフローを削除 します。:warning: これは 永続的 なので、続行する前にワークフローをエクスポートすることを検討してください(ワークフロービルダーの右上隅の三点リーダーメニューからアクセス可能)。

バージョン

ワークフローを更新するたびに、以前のバージョンが保存されます。これにより、期待通りに機能しなかった変更を 元に戻す ことが容易になります。

変数

変数は、単一のワークフローにスコープされたキーと値のペアです。ワークフローの Variables パネルで定義し、{{ $vars.key_name }} を使用してどこからでも参照します。ワークフローグラフを編集せずに変更できるように、カテゴリ ID や受信者ユーザー名などの設定値を格納するために変数を使用します。

資格情報

HTTP リクエストや AI エージェントなどの一部のノードは、外部サービスと認証する必要があります。API キーやシークレットをノードのフィールドに直接貼り付けるのではなく、Workflows → Credentials に格納します。資格情報は静止時に暗号化され、ワークフロー間で再利用できます。

サポートされている資格情報の種類:

  • Basic Auth(ユーザー名 + パスワード)
  • Bearer token
  • Header auth(カスタムヘッダー名と値)

データテーブル

データテーブルは、Workflows プラグイン内部の永続的な構造化テーブルです。Data table ノードを使用して、それらから読み取りまたは書き込みます。stringnumberboolean、および date の列タイプをサポートしています。

データテーブルは次の場合に役立ちます。

  • 重複排除 — ワークフローが既に処理したユーザーやトピックを記録
  • 状態 — トピックがプロセスの特定の段階にあるかどうかを追跡
  • ルックアップ — ワークフローがクエリできるマッピング(トピック ID → 担当スタッフなど)を格納

実行

Executions タブから、すべてのワークフローの実行をすべて表示できます。フォーマットと機能はワークフロー固有の実行と非常に似ていますが、すべてのワークフローにわたって表示されるため、モニタリングが容易になります。

テンプレート

新しいワークフローを作成する際、空白のキャンバスではなく テンプレート から開始できます。テンプレートは一般的なユースケース用に事前に構築されたワークフローであり、動作を説明するスティッキーノートで注釈が付けられており、システムを学ぶのに適しています。

:megaphone: さらに多くのテンプレートを見てみたいですか? 利用可能なテンプレートのライブラリを時間とともに拡張する取り組みを行いますが、Workflows の使用を容易にするためにここで見たいテンプレートがある場合は、お知らせください。

また、任意のワークフローを JSON ファイルとしてエクスポートして、他の人と共有したり、独自の開始点として使用したりすることもできます。

「いいね!」 3