【Salesforce勉強日記#3】フロー、プロセスビルダー、ワークフローの違いは?Salesforce自動化ツールの選び方
みなさん、こんにちは。アクセンチュアの北海道オフィス(AIH)で働いている高橋です。
Salesforceの資格認定の勉強をしていると、特に自動化の分野で「フロー」「プロセスビルダー」「ワークフロー」という3つのツールが頻繁に登場します。
「この要件に最適なツールはどれか?」といったシナリオ問題で、それぞれの機能の微妙な違いに頭を悩ませた経験はありませんか?
この記事では、これら3つのツールの違いを体系的に整理し、それぞれの得意なこと、できないことをまとめています。
はじめに:Salesforce自動化、どのツールを使うべき?【結論:フロー】
Salesforceの運用効率を劇的に向上させる「自動化」。その設定画面を開くと、「フロー」「プロセスビルダー」「ワークフロー」といった名前が並び、特に学習を始めたばかりの方は「一体どれを使えばいいの?」と戸惑ってしまうかもしれません。
この記事では、まずその疑問に明確にお答えします。これから新しく自動化のルールを作成するなら、答えは常に「フロー」です。
現在、Salesforce社はこれら複数の自動化ツールを**「フロー(Flow)」に一本化する**方針を明確にしており、ワークフローやプロセスビルダーは過去の技術(レガシー)となりつつあります。
この記事を読めば、なぜフローが唯一の推奨ツールなのか、そして、そもそもなぜ3つもツールが存在するのか、という歴史的背景とそれぞれの機能の違いを正しく理解することができます。
なぜ3つも存在する?自動化ツールの進化の歴史
では、なぜ機能が似ているツールが3つも存在するのでしょうか。それは、Salesforceの自動化機能が、Web技術の進化と共に段階的に発展してきたからです。
-
第1世代:ワークフロー - シンプルな自動化の夜明け
最も古くから存在する、単純なif/then
ロジックを実行するためのツールとして登場しました。 -
第2世代:プロセスビルダー - より多くのことを、より視覚的に
ワークフローよりも多くの処理ができ、グラフィカルなインターフェースで設定のしやすさを向上させたツールとして開発されました。 -
第3世代:フロー - すべての力をここに集約。最強の統合ツールへ
最終的に、上記2つの機能を取り込み、さらにプログラミングに近いレベルの複雑な処理までをノーコード・ローコードで実現できる、統合的かつ高性能なツールとして進化しました。これが現在のフローです。
各ツールの具体的なアクションと「できること」の違い
1. ワークフロー(第1世代):できることが限定的な、最もシンプルなツール
役割: 特定の条件を満たした際に、4種類の決まったアクションを実行します。そのシンプルさから、かつては手軽な自動化ツールとして広く使われていました。
具体的なアクション:
ワークフロールールのアクションは、以下の4つのみです。
-
項目自動更新
- ただし、更新できるのはトリガーとなったレコード自身の項目のみで、関連する他のレコードの項目は更新できません。
-
新規ToDo作成
- ワークフローで作成できるレコードはToDoのみに限られます。他のオブジェクトのレコードは作成できません。
-
メールアラート
- 事前に設定したメールテンプレートを使用して、指定した受信者にメールを自動送信します。
-
アウトバウンドメッセージ
- 外部システムにSOAP形式のメッセージを送信し、Salesforce内の変更を通知します。
2. プロセスビルダー(第2世代):ワークフローの進化版
役割: ワークフローの機能に加え、レコード作成や関連レコードの更新など、より多くの処理を視覚的に設定できるツールです。一つのプロセス内で複数の条件分岐を設定できるのが特徴でした。
具体的なアクション:
- レコードの作成: ToDoだけでなく、取引先や商談など、あらゆるオブジェクトのレコードを新規作成できます。
- レコードの更新: トリガーとなったレコードだけでなく、親レコード(例: 商談の取引先)や子レコードなど、関連するレコードも更新できます。
- フローの呼び出し: 自身で処理できない複雑なロジックを、フローを呼び出して実行させることができます。
- 承認申請の自動送信: レコードを自動で承認プロセスに投入できます。
- Chatterへの投稿: 特定のグループやユーザーに通知を自動投稿できます。
- Apexの呼び出し: 開発者が作成したカスタムのプログラム(Apexコード)を実行できます。
3. フロー(第3世代):プログラミングに最も近いツール
役割: 上記2つのツールでできることをすべて内包し、さらにユーザー操作や複雑なデータ処理まで実現する、現在のSalesforce自動化の主役です。
具体的なアクション:
- レコードの作成、更新、取得、削除: CRUD操作(作成、読み取り、更新、削除)をすべて実行できます。レコードを削除できるのはフローの大きな特徴です。
- 画面(スクリーン)の作成: ユーザーに入力を促すウィザード画面や、確認画面などを自由に作成できます(スクリーンフロー)。
- 複雑なロジック: ループ(取得した複数のレコードに対して一つずつ繰り返し処理)や、条件に応じた複雑な分岐、変数への値の割り当てなど、プログラミングのような高度な処理が可能です。
- 外部システム連携: 外部のAPIを呼び出し、Salesforceのデータを送信したり、外部からデータを取得したりできます(HTTPコールアウト)。
- 多彩な起動方法: レコードの作成・更新・削除時(レコードトリガフロー)、決まった時間(スケジュールトリガフロー)、ユーザーのボタンクリックなど、様々なきっかけで起動できます。
【一覧比較】フロー vs プロセスビルダー vs ワークフロー
機能 | ワークフロー | プロセスビルダー | フロー (Flow) |
---|---|---|---|
Salesforceの推奨 | 廃止 | 廃止 | 強く推奨 |
レコード作成 | ToDoのみ | ✔ | ✔ |
関連レコード更新 | ✖ | ✔ | ✔ |
レコード削除 | ✖ | ✖ | ✔ |
画面作成 | ✖ | ✖ | ✔ |
複雑なロジック | ✖ | △ | ✔ |
パフォーマンス | 高速 | 低速 | 高速 |
パフォーマンスについて、プロセスビルダーは裏側でフローに変換されてから実行されるため、余分な処理(オーバーヘッド)が発生し、動作が遅くなる傾向がありました。一方、フローは直接実行されるため、より高速に動作します。
まとめ:これからのSalesforce自動化はフローと共に
最後に、この記事で解説したポイントを振り返りましょう。
- ワークフロー/プロセスビルダーはレガシー技術です。仕組みを理解しておくことは有益ですが、新規作成は避けましょう。
- フローは、パフォーマンス、機能性ともに優れた、現在そして未来の標準ツールです。
- これから自動化を学ぶなら、まずは**「レコードトリガフロー」**(レコードが作成・更新された時に起動するフロー)から始めてみるのがお勧めです。
Salesforceの価値を最大限に引き出す上で、自動化は欠かせない要素です。ぜひ、強力なツールである「フロー」をマスターして、日々の業務を効率化していきましょう。
Discussion