フローが「ブラックボックス」になるまで
Salesforceのフロー(Flow)は強力な自動化ツールです。コーディングなしで複雑なビジネスロジックを実装でき、業務効率化の要になります。しかし、多くの組織でフローは時間とともに「誰も全容を把握できないブラックボックス」に変わっていきます。
典型的な経緯はこうです。最初は「商談が受注に変わったら通知メールを送る」というシンプルなフローを1つ作る。次に「リードが作成されたら自動で担当者に割り当てる」フローを追加する。さらに「商談の金額が100万円以上なら承認プロセスを開始する」「取引先の住所が変更されたら関連する商談の住所も更新する」。こうしてフローが10個、20個と増えていき、あるとき「新しいフローを有効化したら、既存のフローと競合してエラーが出た」という事態に直面します。
フローが複雑化する3つの原因
原因1: 場当たり的な追加
業務上の要望が出るたびに新しいフローを作り、全体の整合性を確認しない。同じオブジェクトに対して複数のレコードトリガーフローが動作し、実行順序が予測できなくなります。
原因2: ドキュメントがない
フローのDescription(説明)欄が空白のまま。フローの名前も「テスト_20250301」「新フロー_修正版」など、目的がわからない命名になっている。作った本人しかロジックを理解できず、後任者は触ることを恐れて新しいフローを追加する悪循環に陥ります。
原因3: テストの仕組みがない
フローを変更した後に「意図通りに動くか」を確認する手段がない。Sandboxでのテストを経ずに本番で直接変更し、問題が起きてから修正するパターンが定着すると、フローの変更がリスクの高い作業になります。
フローの棚卸し手順
ステップ1: 有効なフローの全体像を把握する
Setup > Flows で有効なフローの一覧を確認します。以下の情報を整理します。
| 確認項目 | 方法 |
|---|---|
| フロー名 | 一覧から取得 |
| 種類 | レコードトリガー / スケジュール / 画面 / 自動起動 |
| 対象オブジェクト | レコードトリガーの場合、どのオブジェクトにバインドされているか |
| 最終更新日 | 一覧から確認 |
| 作成者 | 一覧から確認 |
| バージョン数 | バージョン履歴から確認(多いほど変更頻度が高い) |
ステップ2: 重複と競合を特定する
同じオブジェクトに対して複数のレコードトリガーフローが設定されている場合、処理の競合リスクがあります。特に、同じフィールドを更新する複数のフローがある場合は要注意です。
オブジェクト別にフローをグルーピングし、以下を確認します。
- 同一オブジェクトに対するレコードトリガーフローの数
- 同じタイミング(Before / After)で動作するフローの数
- 同じフィールドを更新するフローがないか
ステップ3: 使われていないフローを特定する
以下に該当するフローは、無効化の候補です。
- 最終更新日が1年以上前で、フロー名やDescriptionから目的が不明
- スケジュールトリガーフローで、実行対象のレコードが0件
- 画面フローで、参照元のページやボタンが削除されている
無効化する際は、即座に削除するのではなく、まず「無効化」して1〜2週間様子を見ます。問題が報告されなければ削除します。
フローの命名規則とドキュメント化
命名規則
フロー名だけで「何のオブジェクトに対して」「いつ動いて」「何をするか」がわかる命名にします。
レコードトリガーフロー: [オブジェクト]_[タイミング]_[処理内容]
- 例:
Opportunity_AfterUpdate_WonNotification(商談受注時の通知) - 例:
Lead_BeforeInsert_DuplicateCheck(リード作成前の重複チェック)
スケジュールトリガーフロー: SCH_[頻度]_[処理内容]
- 例:
SCH_Daily_InactiveLeadCleanup(日次の非アクティブリード整理)
画面フロー: SCR_[用途]
- 例:
SCR_QuickOpportunityUpdate(商談クイック更新画面)
自動起動フロー(サブフロー): SUB_[処理内容]
- 例:
SUB_SendEmailNotification(メール通知送信)
Descriptionの記入
すべてのフローのDescription欄に、最低限以下を記入します。
目的: 商談が受注(Closed Won)に変更されたとき、営業マネージャーに通知メールを送信する
依頼元: 営業部 山田マネージャー(2026年1月)
関連フロー: なし
注意事項: 金額100万円以上の商談のみ対象
この4行を書くだけで、後任者がフローの目的と背景を理解できるようになります。
ワークフロールール廃止への対応
Salesforceはワークフロールールの新規作成を段階的に停止し、フローへの移行を推奨しています。既存のワークフロールールはSalesforce公式の「Migrate to Flow」ツールで自動変換できますが、以下の点に注意が必要です。
そのまま移行しない: ワークフロールールをフローに1対1で変換すると、フローの数が爆発的に増えます。これを機に「同じオブジェクトに対する処理を1つのフローに統合する」再設計を行うべきです。
統合の考え方: 同一オブジェクト・同一タイミングのワークフロールールは、1つのレコードトリガーフローにまとめます。フロー内で条件分岐(Decision要素)を使い、複数の処理を1つのフローで管理します。
例えば、商談オブジェクトに対する以下の3つのワークフロールールがある場合:
- 受注時に通知メールを送る
- 金額変更時にマネージャーに通知する
- ステージ変更時にタスクを作成する
これらを「Opportunity_AfterUpdate_MainFlow」として1つに統合し、フロー内の条件分岐で処理を振り分けます。
フローのリファクタリング手順
手順1: 最も問題のあるフローから着手する
「エラーが頻発している」「変更するたびに別のフローが壊れる」「パフォーマンスが低下している」。こうした症状のあるフローから優先的に対処します。一度に全てのフローを作り直すのは現実的ではありません。
手順2: サブフローで共通処理を切り出す
複数のフローで同じ処理(メール送信、Chatter投稿、項目更新のパターンなど)を繰り返している場合、サブフローとして切り出して再利用します。変更時の影響範囲がサブフロー内に閉じるため、メンテナンスが容易になります。
手順3: Sandboxで検証してから本番反映
リファクタリング後のフローは、必ずSandboxでテストしてから本番に反映します。テスト項目は以下の3点です。
- 正常系: 想定通りの条件でフローが動作するか
- 異常系: 想定外のデータ(空値、大量データ)で問題が起きないか
- パフォーマンス: 実行時間が許容範囲内か
まとめ
Salesforceのフローが複雑化する原因は「場当たり的な追加」「ドキュメント不在」「テスト不足」の3つです。整理の第一歩は棚卸しによる全体像の把握。使われていないフローの無効化、重複フローの統合、命名規則とDescriptionの整備を段階的に進めます。ワークフロールールの廃止は、そのまま移行するのではなく再設計のチャンスと捉え、同一オブジェクトの処理を1つのフローに統合する方針で進めると、管理可能な状態を長期的に維持できます。
aileadによるSalesforce自動化の最適化
aileadは対話データAIプラットフォームとして、Web会議の対話データをSalesforceに自動連携します。手動入力のための複雑なフロー(入力リマインド、データ補完、整合性チェックなど)を減らし、対話データから直接Salesforceにデータを反映。自動化の複雑さを根本から軽減します。400社以上の導入企業でSalesforceとの連携実績があります。お問い合わせからお気軽にご連絡ください。
関連記事
- Salesforce一人管理者の生存戦略|属人化を防ぐ運用設計ガイド
- Salesforceの権限設定が複雑すぎる?プロファイルと権限セットを整理する実践ガイド
- Salesforce導入の失敗パターン5つ|現場が使わなくなる原因と立て直し方
- Salesforceのデータ品質を維持する方法|入力規則から自動チェックまで
ailead編集部
株式会社ailead
aileadの公式編集部です。営業DX・AI活用に関する情報を発信しています。



