Flow for kintone のトリガー ― 6種類の実行タイミングと使い分け

この記事で解説すること

  • Flow for kintone が持つ6種類のトリガーとそれぞれの動作タイミング
  • 案件管理(SFA)での「保存後」「フィールド値変更」トリガーの使い方
  • 問合せ管理での「保存前」トリガーを使った入力バリデーション
  • 「いつフローを動かしたいか」からトリガーを選ぶ考え方

トリガーとは何か

Flow for kintone のフローは必ず「トリガー」から始まります。トリガーとは「フローを動かすきっかけ」のことです。

kintone 上でユーザーが行う操作(画面を開く、保存する、フィールドを変更するなど)のうち、どの操作をきっかけにするかをトリガーで指定します。トリガーが一致したときだけフローが実行されるので、不要なタイミングに動いて困ることがありません。

Flow for kintone フロー一覧画面。記事01で作成したフローが「商談フェーズに応じたフィールド自動更新」に改名・保存された状態。

6種類のトリガー一覧

Flow for kintone には以下の6種類のトリガーがあります。

トリガー名 動作タイミング 主な用途
レコード詳細表示 詳細画面を開いたとき 表示内容を動的に変える
レコード編集表示 編集画面を開いたとき 編集開始時に初期値をセット
レコード作成表示 新規作成画面を開いたとき デフォルト値を自動入力
保存前 保存ボタン押下直後(保存処理の前) 入力チェック・バリデーション
保存後 保存処理が完了した後 関連フィールドの自動更新
フィールド値変更 特定フィールドの値を変えたとき リアルタイムでの連動更新
フローエディタ左パネルのトリガー設定エリア。「レコード画面表示・編集」グループのトリガーイベント一覧(「フィールド値を変更したとき」を含む)が表示されている状態。

「表示系」と「保存系」と「変更系」で理解する

6種類を大きく3グループに分けると選びやすくなります。

表示系(詳細表示・編集表示・作成表示) 画面を開いたタイミングで動きます。「画面を開いたときに特定のフィールドを非表示にする」「新規作成時に今日の日付を自動入力する」といった用途に使います。

保存系(保存前・保存後) 保存ボタンを押したときに動きます。「保存前」は保存を止める(バリデーション)ことができます。「保存後」はデータが確定してから動くので、他のフィールドを更新するのに適しています。

変更系(フィールド値変更) 特定フィールドの値が変わった瞬間に動きます。保存ボタンを押さなくてもリアルタイムで反応するのが特徴です。


案件管理での活用例(保存後トリガー)

SFAの案件管理では、商談フェーズを「失注」や「保留/中止」に変えたとき、「次回アクション日」は不要になります。しかし担当者が毎回手動でクリアするのは手間で、忘れることもあります。

記事01で作成した「受注時に確度を100%へ更新」フローは、同じ案件管理アプリ・同じ保存後トリガーで動いています。新しいフローを追加するより、既存フローのキャンバスにノードを追加する方が管理しやすい設計です。

フロー名を「商談フェーズに応じたフィールド自動更新」に改名し、既存IFノードの「いいえ」分岐に新しいIF条件と次回アクション日クリアのアクションを追加します。

[保存後]
  → [IF: 商談フェーズ = 受注]           ← 記事01からの既存ノード
    → はい → [確度 = 100%に更新]       ← 記事01からの既存ノード
    → いいえ → [IF: 商談フェーズ が 失注/保留/中止 のいずれかを含む]  ← 今回追加
                 → はい → [次回アクション日 = 空白に更新]  ← 今回追加
                 → いいえ → (何もしない)

「保存後」を選ぶ理由は、保存が完了してからフィールド値を確定的に読み取りたいからです。保存前の段階では、ユーザーがまだ値を変えている最中の可能性があります。

2番目のIF条件「条件を編集」ダイアログ(フローA Step 2-9)。フィールド「商談フェーズ」、演算子「いずれかを含む」、「失注」と「保留/中止」の両方にチェックが入った状態。
フローA完成形キャンバス(フローA Step 3-7 アクション確定後)。保存後トリガー → IF(受注)→ YES:確度100% / NO:IF(失注/保留/中止のいずれかを含む)→ YES:次回アクション日クリアの2層IF構造。

案件管理での活用例(フィールド値変更トリガー)

「商談フェーズを変えたら、それに合わせた確度を自動で入力してほしい」という要望はSFAでよく聞かれます。保存後でも実現できますが、「保存ボタンを押す前に確度が決まっていてほしい」という場合は「フィールド値変更」トリガーが向いています。

フィールド値変更トリガーは、指定したフィールドの値が変わった瞬間(保存前)に動きます。SWITCH条件と組み合わせると、商談フェーズごとに異なる確度を即座に反映できます。

[フィールド値変更: 商談フェーズ]
  → [SWITCH: 商談フェーズの値]
    → 受注   → [確度 = 100%]
    → 内示   → [確度 = 80%]
    → 提案中 → [確度 = 60%]
    → 商談予定 → [確度 = 40%]

担当者は商談フェーズを選ぶだけで、確度フィールドが自動的に埋まります。確度の数字を覚えておく必要がなく、入力ミスも防げます。

フローBのトリガーノード設定パネル(フローB Step 2-4 フィールド選択後)。「フィールド値を変更したとき」にチェックが入り、「監視するフィールドを選択」欄に「商談フェーズ (商談フェーズ)」タグが表示された状態。
フローBの完成形キャンバス全体(フローB Step 4-7 保存・有効化後)。SWITCH条件から4つの分岐が広がり、各ケースに確度更新アクションが付いた構成。

問合せ管理での活用例(保存前トリガー)

問合せ管理では、期限フィールドを空白のまま保存されてしまうことが課題になりがちです。kintone 標準の「必須フィールド設定」を使う方法もありますが、「保存前」トリガーを使えばより柔軟なバリデーションが実現できます。

ここでは「期限が空欄のまま保存しようとしたら保存を止める」フローを作ります。IF条件を組み合わせれば「対応状況が完了以外のときだけ期限を必須にする」といった複合条件も設定できます。

[保存するとき(保存直前)]
  → [IF: 期限 = 空欄]
    → はい → [保存中断: 「期限が空欄」]
    → いいえ → (保存を続行)

「保存前」トリガーの最大の特徴は、フロー内で保存を止められることです。「保存後」トリガーでは保存を取り消すことができません。バリデーションには必ず「保存前」を使います。

フローCの「処理(保存/削除)を中断」アクションノード設定パネル(フローC Step 4-4 アクション名入力後)。左パネルの「アクション名」欄に「期限が空欄」が入力されている状態。
問合せ管理アプリで期限フィールドを空白のまま保存しようとしたときに表示される中断メッセージ(フローC Step 5-3 確認時)。

トリガーの選び方まとめ

「何をしたいか」ではなく「いつ動かしたいか」からトリガーを決めるのがポイントです。

やりたいこと 選ぶトリガー
画面を開いたときにフィールドを初期化したい 作成表示 / 編集表示
保存する前にチェックして止めたい 保存前
保存が完了した後で他のフィールドを更新したい 保存後
フィールドを変えた瞬間にリアルタイムで連動させたい フィールド値変更
詳細画面を見たときに表示内容を動的に変えたい 詳細表示

まとめ

トリガー 代表的な用途 保存を止められるか
レコード詳細表示 表示の動的制御 不可
レコード編集表示 編集開始時の初期値セット 不可
レコード作成表示 新規作成時のデフォルト入力 不可
保存前 バリデーション・入力チェック 可(保存中断アクション)
保存後 関連フィールドの自動更新 不可
フィールド値変更 リアルタイム連動更新 不可

Flow for kintone のトリガーを使いこなすと、「画面を開いたとき」「保存するとき」「値を変えた瞬間」と3つのレイヤーで業務を自動化できます。次の記事では、条件ノード(IF / SWITCH)の詳しい使い方を解説します。

類似投稿