Salesforceフローが複雑になりすぎた時の整理術|自動化を管理可能な状態に保つ方法
AI・テクノロジー20分で読めます

Salesforceフローが複雑になりすぎた時の整理術 | 自動化を管理可能な状態に保つ方法

ailead編集部

ailead編集部

フローが「ブラックボックス」になるまで

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との連携実績があります。お問い合わせからお気軽にご連絡ください。

関連記事

ailead編集部

ailead編集部

株式会社ailead

aileadの公式編集部です。営業DX・AI活用に関する情報を発信しています。

#Salesforce管理#営業DX#SFA

ailead(エーアイリード)で商談・面談データを活用しませんか?

AIが商談を自動で記録・分析し、営業組織の生産性を向上させます