読む前に確認
ServiceNowのBusiness RuleとFlow Designerの違い|自動化で迷わない使い分け
- CADの学習で迷いやすい判断軸を先に整理します。
- 読んだ後は関連ハブで全体像に戻れます。
- 理解確認は模擬試験で弱点を見ます。
この記事の導線を開く
| 全体像 | CAD資格対策ハブ |
|---|---|
| 深掘り | CAD模擬試験 |
| 比較 | CSAとCADの違い |
| 演習 | CAD模擬試験 |
ServiceNowで自動化を作るとき、Business Rule と Flow Designer のどちらを使うべきかで迷うことがあります。どちらも「レコードが作成・更新されたら何かを実行する」ことができるため、最初は役割が重なって見えます。
CIS-ITSM対策へ進む
この記事で扱う判断軸は、CIS-ITSMのIncident、Problem、Change、Request、CMDB連携でも問われやすい領域です。
結論から言うと、Business Ruleはレコード操作に近いサーバー側の制御で、Flow Designerは業務プロセスを見える形で組み立てる自動化です。実務では、データの整合性や厳密な実行タイミングを重視するならBusiness Rule、承認・通知・タスク作成・連携などの業務フローを見える化したいならFlow Designerが向いています。
30秒要約
- Business Ruleは保存処理に近いサーバー側制御、Flow Designerは業務フローの見える化に向いています。
- before/after/asyncの選択を間違えると、保存遅延、再帰更新、原因不明の二重処理が起きます。
- 承認、通知、タスク、外部連携はFlow、データ整合性や厳密な保存前制御はBusiness Ruleを優先して考えます。
Flow Designer・業務機能の理解をCSA模試で確認する
Flow、Workflow Studio、Platform機能の使い分けを問題形式で確認できます。
Business RuleとFlow Designerの違いは「データ制御」か「業務フロー」か
両者の違いは、実行できることだけでなく、どのレイヤーの自動化として設計するかにあります。
| 項目 | Business Rule | Flow Designer |
|---|---|---|
| 主な役割 | レコード操作に連動したサーバー側処理 | 業務プロセスの自動化 |
| 向いている処理 | 値の補正、検証、関連レコード更新、厳密な制御 | 承認、通知、タスク作成、外部連携、分岐処理 |
| 保守する人 | スクリプトを読める管理者・開発者向き | 処理の流れを画面で追いたい管理者・業務担当者にも説明しやすい |
| 試験での見分け方 | server-side、record operation、scriptがキーワード | no-code/low-code、approval、notification、integrationがキーワード |
Business Ruleはレコード保存の近くで動くサーバー側処理
Business Ruleは、対象テーブルのレコードがinsert、update、delete、queryされるタイミングに合わせて動くサーバー側のルールです。before、after、async、displayなどの実行タイミングを選び、条件に合うとスクリプトで処理を行います。
たとえば、保存前に値を補正する、特定条件ではエラーにする、保存後に関連レコードへ値を反映する、といった処理はBusiness Ruleで考えやすい領域です。データの整合性に近い場所で動くため、設計を間違えると画面、API、インポート、Flowなど複数の入口へ影響します。
この影響範囲の広さが、Business Ruleの強みでもあり怖さでもあります。短い処理でも、条件が広すぎる、実行順序が悪い、同じレコードを再更新して再帰的に動く、といった問題が起きることがあります。
before / after / async のざっくり判断
| タイミング | 向いている処理 | 注意点 |
|---|---|---|
| before | 保存前に値を補正する、保存を止める | ここで重い処理をすると保存体験が悪くなります。 |
| after | 保存後に関連レコードへ反映する | 同じレコードを更新すると再帰処理に注意が必要です。 |
| async | 保存後でよく、即時性が低い重めの処理 | ユーザー操作直後に結果が見えない前提で設計します。 |
| display | フォーム表示時にクライアントへ渡す補助情報 | 保存制御そのものには使いません。 |
// before Business Rule の考え方
// 保存前に current の値を整える場合、current.update() は不要です。
if (current.priority == 1 && !current.u_reason) {
gs.addErrorMessage('High priority requires a reason.');
current.setAbortAction(true);
}
// 値を補正するだけなら、保存前の current に代入する
current.short_description = (current.short_description || '').trim();
Flow Designerは業務プロセスを見える形で自動化する
Flow Designerは、トリガー、条件、アクションを組み合わせて業務プロセスを作るための機能です。承認を回す、通知を送る、Catalog Taskを作る、外部サービスへ連携する、といった処理を視覚的に組み立てられます。
Flow Designerが向いているのは、関係者に処理の流れを説明したい自動化です。画面上で「どの条件で、どのアクションが実行されるか」を追いやすいため、運用担当者や業務部門と会話しながら改善しやすくなります。
一方で、Flow Designerは何でも置き換えられる万能機能ではありません。保存前に値を厳密に整える、テーブルの根本的な整合性を守る、低レイヤーの処理を短く確実に実行する、といった場面ではBusiness Ruleのほうが自然な場合があります。
Flow Designerで必ず見るべき運用ポイント
- トリガー条件: どのテーブルの、どの更新で動くのかを狭くします。
- 実行ログ: 失敗時にどのアクションで止まったかを追えるようにします。
- サブフロー: 複数のフローで再利用する処理は切り出します。
- 実行ユーザー: Flowがどの権限で処理するかを確認します。
実務ではどう選ぶべきか
迷ったときは、次の順で考えると判断しやすくなります。
- その処理はレコード保存の前後で厳密に制御すべきか
- 業務担当者に処理の流れを説明する必要があるか
- 承認、通知、タスク、外部連携が中心か
- スクリプトでしか実現しにくい細かい制御が必要か
- 同じ処理がBusiness RuleとFlowで重複していないか
保存前に必ず値を補正したい、必須チェックを独自条件で行いたい、関連レコードの整合性を保ちたい場合はBusiness Ruleを検討します。申請後に承認を回す、担当者へ通知する、タスクを作る、連携先へ送る場合はFlow Designerを検討します。
同じ処理を二重に作らない
実務でよくある失敗は、Business RuleとFlow Designerの両方で似た処理を作ってしまうことです。たとえば、Business Ruleでも通知し、Flow Designerでも通知する。Business Ruleでも状態を変え、Flow Designerでも状態を変える。このような重複は、原因調査を難しくします。
特に、ある更新をきっかけにFlowが動き、そのFlowの更新でBusiness Ruleが動き、さらに別のFlowが動くような構造になると、処理の見通しが悪くなります。設計段階で「データ制御はBusiness Rule」「業務フローはFlow Designer」のように責務を分けておくことが大切です。
よくある失敗例
- after Business Ruleでcurrent.update()を呼ぶ: 同じレコードの再更新で再帰処理や二重実行の原因になります。
- Flowのトリガー条件が広すぎる: どの更新でもFlowが走り、通知やタスクが重複します。
- 処理責務が重複する: Business Ruleでも状態を変え、Flowでも状態を変えると、原因調査が難しくなります。
- 実行ログを見ない: Flowは画面で作れる一方、失敗時は実行ログを見ないと原因が追えません。
トラブル時の確認順
自動化が思った通りに動かないときは、まず入口を分けて確認します。
- どのテーブルの、どの操作がきっかけかを確認する
- そのテーブルにBusiness Ruleがあるか確認する
- Flow Designerのトリガー条件に一致しているか確認する
- 同じフィールドを複数の自動化が更新していないか確認する
- 実行ユーザー、権限、必須項目、状態遷移の条件を確認する
権限が絡む場合は、ServiceNowのACLとRoleの違い もあわせて確認すると、なぜ処理できないのかを切り分けやすくなります。
CSA/CAD/CISではどう問われるか
CSAでは、Flow Designerを「業務プロセスの自動化」として選ぶ問題が出やすい一方、Business Ruleはサーバー側のレコード処理として整理しておくと判断しやすくなります。
CADでは、Business Ruleの実行タイミング、条件、サーバーサイドスクリプト、Flow Designerとの責務分離がより重要になります。CISでは、対象アプリケーションの業務プロセスに沿って、どの自動化をどこに置くべきかという設計判断に近くなります。
FAQ
Q. Flow DesignerがあるならBusiness Ruleは不要ですか。
A. 不要ではありません。保存前の値補正、データ整合性、低レイヤーのサーバー側制御はBusiness Ruleが向く場面があります。
Q. Business Ruleでcurrent.update()を書いてよいですか。
A. 特にafter Business Ruleでは再帰更新の原因になるため慎重に扱います。beforeでcurrentの値を変えるだけなら通常current.update()は不要です。
Q. Flowの不具合はどこから確認しますか。
A. まずトリガー条件と実行ログを確認します。次に入力データ、実行ユーザー、失敗したアクション、Business Ruleとの重複を見ます。
確認問題
Q1. レコード保存前に、入力値を必ず標準形式へ補正したい。まず検討するのは?
A. Business Ruleです。保存処理に近い場所で値を制御したい場面に向いています。
Q2. 申請後に承認、通知、タスク作成を順番に実行し、処理の流れを管理者にも見える形にしたい。候補になるのは?
A. Flow Designerです。業務プロセスを視覚的に構成しやすいためです。
まとめ
Business RuleとFlow Designerは、どちらも自動化に使えます。しかし、Business Ruleはレコード操作に近いサーバー側制御、Flow Designerは業務プロセスの自動化と考えると整理しやすくなります。
実務で迷ったら、「これはデータの整合性を守る処理か、それとも業務の流れを進める処理か」を最初に確認してください。この判断軸を持つことで、自動化が増えても保守しやすい設計になります。
理解を確認したい方は、ServiceNow CSA 業務機能領域の無料模試で、Flow Designerや自動化機能の判断問題を解いてみてください。
Business RuleとFlow Designerを30秒で判断する
Flow Designerは宣言的に自動化を作る機能、Business Ruleはレコード処理に合わせてサーバー側スクリプトを実行する機能です。標準的な承認や通知、タスク作成はFlowで考え、複雑なデータ整合性や細かいサーバー処理はBusiness Ruleを検討します。
| 観点 | Flow Designer | Business Rule |
|---|---|---|
| 作り方 | ノーコード/ローコード中心 | スクリプト中心 |
| 用途 | 承認、通知、タスク、連携 | 保存時処理、データ整合性 |
| 保守性 | 業務担当にも見えやすい | 開発者の設計が重要 |
| 判断 | 標準自動化か、細かい処理かで分ける |
- ServiceNow公式: Flow Designer:Flow Designerの公式説明を確認できます。
よくある質問
この記事はCAD対策に役立ちますか?
はい。CADに関係する用語、判断軸、実務で迷いやすいポイントを整理し、CADの学習に接続しやすい形で確認できます。
読後に次に確認すべきページはどこですか?
CAD資格対策ハブで全体像を確認し、必要に応じてCAD模擬試験で弱点を確認してください。

