第 6 章:ワークフロー — システムに自動で働いてもらう

前の章でシステムに権限を追加し、ロールごとに異なるコンテンツが表示されるようになりました。しかし、すべての操作はまだ手動です。新しいチケットが来ても自分で確認しに行く必要があり、ステータスが変わっても誰にも通知されません。

この章では、NocoBase のワークフローを使ってシステムに自動で働いてもらいます条件判断自動更新ノードを設定して、チケットステータスの自動遷移と作成日時の自動記録を実現します。

6.1 ワークフロー(Workflow)とは

ワークフローとは、自動化された「もし……ならば……」ルールのことです。

たとえるなら、スマートフォンのアラームです。毎朝 8 時に鳴るように設定すれば、最もシンプルなワークフローの完成です。条件が満たされた(8 時になった)ら、自動的に実行する(アラームが鳴る)

NocoBase のワークフローも同じ考え方です。

06-workflows-2026-03-20-13-25-38

  • トリガー:ワークフローの入口。たとえば「誰かが新しいチケットを作成した」「あるデータが更新された」
  • 条件判断:任意のフィルタリングステップ。たとえば「担当者が空でないときだけ続行」
  • アクション実行:実際に作業を行うステップ。たとえば「通知を送信」「フィールドを更新」

ワークフローのアクションは複数のノードを連結でき、よく使われるノードタイプは以下の通りです。

  • フロー制御:条件判断、並列分岐、ループ、遅延
  • データ操作:データ追加、データ更新、データ検索、データ削除
  • 通知と外部連携:通知、HTTP リクエスト、演算

本チュートリアルでは最もよく使われるいくつかのノードだけを使います。組み合わせ方を覚えれば、ほとんどの場面に対応できるようになります。

トリガータイプ一覧

NocoBase はワークフロー作成時に選択できる複数のトリガータイプを提供しています。

トリガー説明典型的な場面
データテーブルイベントデータの追加・更新・削除時にトリガー新規チケット通知、ステータス変更記録
スケジュールタスクCron 式または固定時刻でトリガー日報の自動生成、期限切れデータの定期クリーンアップ
操作後イベントユーザーが画面で操作を実行した後にトリガーフォーム送信後の通知送信、操作ログの記録
承認承認フローを開始、多段階承認に対応休暇申請の承認、購買承認
カスタムアクションカスタムボタンに紐づけ、クリックでトリガーワンクリックアーカイブ、一括操作
操作前イベントユーザー操作をインターセプトし、同期的に実行してから続行送信前のバリデーション、フィールドの自動補完
AI 従業員ワークフローをツールとして AI 従業員に提供AI による業務操作の自動実行

本チュートリアルではデータテーブルイベントカスタムアクションイベントの 2 種類のトリガーを使います。他のタイプも使い方は似ているので、覚えれば応用が利きます。

NocoBase のワークフローは組み込みプラグインのため、追加インストール不要ですぐに使えます。

6.2 シナリオ 1:新規チケットの自動通知

要件:誰かが新しいチケットを作成し、担当者を指定した場合、システムが担当者に自動的にアプリ内メッセージを送信し、「新しい仕事が来ました」と知らせる。

ステップ 1:ワークフローを作成

右上のプラグイン設定メニューを開き、ワークフロー管理 に入ります。

06-workflows-2026-03-14-23-50-45

新規作成 をクリックし、ダイアログで以下を設定します。

  • 名前:「新規チケット担当者通知」と入力
  • トリガータイプデータテーブルイベント を選択

06-workflows-2026-03-14-23-53-37

送信後、リスト内の 設定 リンクをクリックしてフロー編集画面に入ります。

ステップ 2:トリガーの設定

上部のトリガーカードをクリックし、設定ドロワーを開きます。

  • データテーブル:メインデータソース / 「チケット」を選択

  • トリガータイミング:「データの追加または更新後」を選択

  • 変更されたフィールド:「担当者(Assignee)」にチェック——担当者フィールドが変更されたときだけトリガーし、他のフィールドの変更による不要な通知を防ぎます(データ追加時はすべてのフィールドが「変更あり」と見なされるため、新規チケット作成時もトリガーされます)

  • 以下の条件を満たした場合のみトリガー:モードを「グループ内のいずれかの条件」に設定し、2 つの条件を追加:

    • assignee_id が空でない
    • Assignee / ID が空でない

    なぜ 2 つの条件が必要か?トリガー時にフォームには外部キー(assignee_id)だけがあってリレーション先のオブジェクトがまだ読み込まれていない場合や、リレーション先のオブジェクトはあるが外部キーフィールドが空の場合があります。2 つの条件を OR 関係にすることで、担当者が指定されていれば確実にトリガーされます。

  • リレーションデータのプリロード:「Assignee」にチェック——後続の通知ノードで担当者の情報を使用するため、トリガーで事前に読み込む必要があります

06-workflows-2026-03-14-23-58-31

保存をクリックします。これで、トリガー自体に条件判断が含まれており、担当者が空でないときだけトリガーされるため、追加の条件判断ノードは不要です。

ステップ 3:通知ノードの追加

トリガー下部の + をクリックし、通知 ノードを選択します。

06-workflows-2026-03-15-00-00-55

通知ノードの設定を開くと、最初の項目は 通知チャネル の選択ですが、まだチャネルを作成していないため、ドロップダウンリストは空です。まずチャネルを作成しましょう。

06-workflows-2026-03-15-00-10-12

ステップ 4:通知チャネルの作成

NocoBase は複数の通知チャネルタイプをサポートしています。

チャネルタイプ説明
アプリ内通知ブラウザ内通知、ユーザーの通知センターにリアルタイムで配信
メールSMTP 経由でメール送信、メールサーバーの設定が必要

本チュートリアルでは最もシンプルなアプリ内通知チャネルを使います。

  1. 右上のプラグイン設定を開き、通知管理 に入ります
  2. 新規チャネル をクリックします

06-workflows-2026-03-15-00-13-07

  1. チャネルタイプで アプリ内通知 を選択し、チャネル名(例:「システムアプリ内通知」)を入力します
  2. 保存します

06-workflows-2026-03-15-00-17-55

ステップ 5:通知ノードの設定

ワークフロー編集ページに戻り、通知ノードの設定を開きます。

通知ノードには以下の設定項目があります。

  • 通知チャネル:先ほど作成した「システムアプリ内通知」を選択
  • 受信者:「ユーザーを検索」をクリックし → 「id = トリガー変数/トリガーデータ/担当者/ID」を設定
  • タイトル:通知タイトルを入力します。例:「新しいチケットが届きました」。変数の挿入にも対応しており、チケットタイトルを追加できます:新規チケット:{{トリガーデータ / タイトル}}
  • 内容:通知本文を入力します。同様に変数を挿入してチケットの優先度や説明などのフィールドを参照できます

06-workflows-2026-03-15-20-10-11

(次のステップでチケットのアドレスを取得します。ダイアログを閉じる前に、必ず保存してください!)

  • デスクトップ版詳細ページ:チケット詳細ページの URL パスを入力します。取得方法:フロントエンドで任意のチケットの詳細ポップアップを開き、ブラウザのアドレスバーのパスをコピーします。形式は /admin/camcwbox2uc/view/d8f8e122d37/filterbytk/353072988225540 のようになります。パスを設定欄に貼り付け、filterbytk/ 以降の数字がチケット ID なので、この部分をトリガーデータの ID 変数に置き換えます(変数セレクター → トリガーデータ → ID をクリック)。設定後、ユーザーが通知リストでこの通知をクリックすると、対応するチケットの詳細ページに直接ジャンプし、同時に既読としてマークされます

06-workflows-2026-03-15-00-28-32

06-workflows-2026-03-15-20-15-19

  • 送信失敗時も続行:任意。チェックを入れると、通知の送信に失敗してもワークフローが中断されません

通知送信後、担当者はページ右上の 通知センター でこのメッセージを確認できます。未読のものには赤い点が表示されます。通知をクリックするとチケット詳細ページにジャンプし、完全な情報を確認できます。

ステップ 6:テストと有効化

シナリオ 1 の完全なフローはわずか 2 ノードです:トリガー(条件フィルタ付き)→ 通知。シンプルで直接的です。

すぐに有効化せず、まずテストしましょう。ワークフローには手動実行機能があり、指定したデータでフローが正しく動作するかテストできます。

  1. 右上の 実行 ボタンをクリックします(有効化スイッチではありません)
  2. 既存のチケットデータをトリガーデータとして選択します

チケット選択欄に id が表示される場合は、データソース > データテーブル > チケット で「タイトル」列をタイトルフィールドに設定してください 06-workflows-2026-03-15-19-47-57

  1. 実行をクリックすると、ワークフローが実行され、コピーされた新しいバージョンに自動的に切り替わります 06-workflows-2026-03-15-19-57-19

  2. 右上の三点メニューをクリックし、「実行履歴」を選択します。先ほどの実行記録が表示されるはずです。クリックして確認すると、トリガーの状況、各ノードの実行詳細、パラメータなどの実行の詳細が確認できます。 06-workflows-2026-03-15-19-58-34

06-workflows-2026-03-15-20-01-02

  1. 先ほどのチケットは Alice 宛てだったようです。Alice のアカウントに切り替えてみると、通知を受信できました!

06-workflows-2026-03-15-20-16-22

クリックすると対象チケットのページにジャンプし、同時に通知が自動的に既読としてマークされます。

06-workflows-2026-03-15-20-16-54

フローに問題がないことを確認したら、右上の 有効化/無効化 スイッチをクリックして、ワークフローを有効状態に切り替えます。

06-workflows-2026-03-15-20-18-16

注意:ワークフローは一度実行されると(手動実行を含む)、読み取り専用状態(グレー表示)になり、編集できなくなります。変更が必要な場合は、右上の 「新しいバージョンにコピー」 をクリックし、新しいバージョンで編集を続けてください。古いバージョンは自動的に無効化されます。

06-workflows-2026-03-15-20-19-11

チケットページに戻り、新しいチケットを作成して担当者を選択します。その後、担当者のアカウントでログインし、通知センターを確認すると、新しい通知が届いているはずです。

06-workflows-2026-03-15-20-22-00

おめでとうございます、最初の自動化フローが動き始めました!

6.3 シナリオ 2:ステータス変更時に完了日時を自動記録

要件:チケットのステータスが「完了」に変更されたとき、システムが「完了日時」フィールドに現在の時刻を自動入力する。手動で記録する必要がなく、忘れることもありません。

チケットテーブルに「完了日時」フィールドをまだ作成していない場合は、先に データテーブル管理 → チケット日付 タイプのフィールドを追加し、「完了日時」と名付けてください。具体的な手順は第 2 章のフィールド作成方法を参照してください。ここでは省略します。 06-workflows-2026-03-15-20-25-38

ステップ 1:ワークフローを新規作成

ワークフロー管理ページに戻り、新規作成をクリックします。

  • 名前:「チケット完了時の自動時刻記録」と入力
  • トリガータイプカスタムアクションイベント を選択(ユーザーがこのワークフローに紐づけられたボタンをクリックしたときにトリガー)
  • 実行モード:同期

同期と非同期について:

  • 非同期:操作後、他の作業を続けることができ、ワークフローが自動実行されてから結果が通知されます
  • 同期:操作後、画面は待機状態になり、ワークフローの実行が完了してから他の作業ができます

06-workflows-2026-03-19-22-56-34

ステップ 2:トリガーの設定

トリガーの設定を開きます。

  • データテーブル:「チケット」を選択
  • 実行モード単行モード を選択(毎回クリックされた 1 件のチケットだけを処理)

06-workflows-2026-03-19-22-58-21

ステップ 3:条件判断の追加

データテーブルイベントトリガーとは異なり、自分で条件判断ノードを追加する必要があります。

06-workflows-2026-03-15-20-39-14

今後の拡張がしやすいように、「"はい"と"いいえ"でそれぞれ続行」を選択することをお勧めします。

  • 条件:トリガーデータ → ステータス完了 と等しくない(つまり、まだ完了していないチケットだけが通過し、既に完了したものは重複処理されません)

06-workflows-2026-03-19-22-37-59

ステップ 4:データ更新ノードの追加

条件判断の「はい」分岐で + をクリックし、データ更新 ノードを選択します。

06-workflows-2026-03-15-20-46-22

  • データテーブル:「チケット」を選択
  • フィルタ条件:ID がトリガーデータ → ID と等しい(現在のチケットだけを更新するように)
  • フィールド値
    • ステータス = 完了
    • 完了日時 = システム変数 / システム時刻

06-workflows-2026-03-19-22-39-27

このように 1 つのノードで「ステータス変更」と「時刻記録」の 2 つの作業を同時に完了でき、ボタンに個別のフィールド値を設定する必要はありません。

ステップ 5:「完了」アクションボタンの作成

ワークフローの設定は完了しましたが、「カスタムアクションイベント」は具体的なアクションボタンに紐づける必要があります。チケット一覧の操作列に専用の「完了」ボタンを作成しましょう。

  1. UI エディターモードに入り、チケットテーブルの操作列で 「+」 をクリックし、「ワークフローをトリガー」 アクションボタンを選択します

06-workflows-2026-03-19-22-41-31

  1. ボタンの設定項目をクリックし、タイトルを 「完了」 に変更し、完了に関連するアイコン(チェックマークのアイコンなど)を選択します

06-workflows-2026-03-19-22-43-39

  1. ボタンに連動ルールを設定します:チケットのステータスが既に「完了」の場合、このボタンを非表示にします(完了済みのチケットに「完了」を再度クリックする必要はありません)
    • 条件:現在のデータ → ステータス が 完了 と等しい
    • アクション:非表示

06-workflows-2026-03-15-21-15-29

  1. ボタンの設定項目内の 「ワークフローを紐づけ」 を開き、先ほど作成した「チケット完了時の自動時刻記録」ワークフローを選択します

06-workflows-2026-03-19-23-00-53

ステップ 6:イベントフローのリフレッシュ設定

ボタンは作成できましたが、クリックしてもテーブルが自動的にリフレッシュされません。ユーザーはステータスの変化を見ることができません。ボタンのイベントフローを設定して、ワークフロー実行完了後にテーブルを自動リフレッシュさせましょう。

  1. ボタンの設定項目内の 2 番目のイナズマ記号(⚡)をクリックし、イベントフロー 設定を開きます
  2. トリガーイベントを設定します:
    • トリガーイベントクリック を選択
    • 実行タイミングすべてのフロー完了後 を選択
  3. 「ステップを追加」 をクリックし、「ターゲットブロックをリフレッシュ」 を選択します

06-workflows-2026-03-20-16-46-59

  1. 現在のページのチケットテーブルを見つけ、その設定メニューを開いて、最下部の 「UID をコピー」 を選択し、UID をリフレッシュステップのターゲットブロックに貼り付けます

06-workflows-2026-03-20-16-48-39

これで、「完了」ボタンをクリックした後、ワークフローの実行が完了するとテーブルが自動的にリフレッシュされ、ステータスと完了日時の変化をすぐに確認できます。

ステップ 7:有効化とテスト

ワークフロー管理ページに戻り、「チケット完了時の自動時刻記録」ワークフローを有効化します。

ステータスが「対応中」のチケットを開き、操作列の 「完了」 ボタンをクリックします。以下を確認できます。

  • チケットの「完了日時」フィールドに現在の時刻が自動入力されている
  • テーブルが自動リフレッシュされ、「完了」ボタンがこのチケットから消えている(連動ルールが有効になった)

06-workflows-2026-03-15-21-25-11

便利だと思いませんか?これがワークフローの 2 つ目のよくある使い方——データの自動更新です。「カスタムアクションイベント + ボタン紐づけ」の方法で、特定のボタンをクリックしたときだけワークフローが実行されるという正確なトリガーメカニズムを実現しました。

6.4 実行履歴の確認

ワークフローは何回実行されましたか?エラーは発生していませんか?NocoBase がすべて記録しています。

ワークフロー管理リストで、各ワークフローの横に 実行回数 の数字リンクがあります。クリックすると、各実行の詳細な記録が表示されます。

  • 実行ステータス:成功(緑)か失敗(赤)か、一目瞭然
  • トリガー日時:いつトリガーされたか
  • ノード詳細:クリックすると各ノードの実行結果が確認できます

06-workflows-2026-03-15-21-25-38

ある回の実行が失敗した場合、詳細をクリックするとどのノードで問題が発生したか、具体的なエラーメッセージが確認できます。これはワークフローのデバッグに最も重要なツールです。

06-workflows-2026-03-15-21-36-16

まとめ

この章ではシンプルだけど実用的な 2 つのワークフローを作成しました。

  • 新規チケット通知(データテーブルイベントトリガー):新規作成または担当者変更後に自動通知、手動で連絡する必要なし
  • 完了日時の自動記録(カスタムアクションイベントトリガー):「完了」ボタンクリック後に日時を自動入力、人為的な記入漏れを防止

2 つのワークフローでそれぞれ異なるトリガー方式を紹介しましたが、設定にかかった時間は合計 10 分にも満たないでしょう。それだけでシステムが自動で作業してくれるようになりました。NocoBase はさらに多くのノードタイプ(HTTP リクエスト、演算、ループなど)をサポートしていますが、入門としてはこれらの組み合わせを押さえれば、ほとんどの場面に対応できます。

次の章のプレビュー

システムが自動で働けるようになりましたが、まだ「全体を俯瞰する視点」が足りません。チケットは全部で何件?どの分類が最も多い?毎日何件追加されている?次の章ではチャートブロックデータダッシュボードを構築し、全体を一目で把握できるようにします。

関連リソース