Salesforceのプロセスの自動化3種の違いについて
Hola〜こんにちは!Salesforceの管理者を担当している清水です。
今日はSalesforceの管理者をされている方なら、ご存知であろうTrailblazer Communityに参加して学んだことのお話を書きたいと思います。
Salesforce Trailblazer Communityでは、定期的に開催されるMeetup・勉強会、交流イベントなどのオフラインイベントを通して知識や経験を学び、trailblazer.salesforce.com にあるSalesforce Trailblazer Communityサイトを利用してオンラインで知見を共有したり、助け合ったりしながら、より効率的で魅力的なSalesforceの活用方法を知る事ができます。
どういったイベントか?
最近はコロナ禍ということもあり、オンラインでの開催がほとんどのようです。
システム管理者をしていると、セールスフォース・ドットコム社のカスタマーサクセス部から時々イベントのお知らせがやってきます。
これまでSalesforce社自体が主催するイベントだったり、自習室やセミナーには参加したことがあったのですが、Communityのイベントの参加は初めてでした。他の企業で実際にシステム管理者をされている方と交流できたことはすごくメリットがありました。他社事例を聞けたりするのは、本当にすごく助かる。。。
運営をされている方もSalesforce社の方ではなく、Salesforceを利用されているシステム管理者の方々のようで、有志での開催です。Salesforceのユーザーって本当に多いんだなと感じました。今回私は、この中の1つのイベントに参加させてもらいました!
学んだこと
今回の内容は、
- ワークフロールール
- プロセスビルダー
- フロー
のそれぞれの違いと、フローの簡単な使い方説明でした!
Salesforceの管理者を初めたばかりの人は、必ずつまづくであろうポイントをわかりやすく説明してくれました。私も管理者を始めた当初は全部自動化ができるツールらしいけど、なんで3種類もあるの?それぞれ何ができるの?とか全然よくわかってませんでした。
それぞれ自動化できる内容は違うので詳細はSalesforce社のヘルプ記事などを参考にして欲しいのですが、ざっくり簡単に言うと
フロー>プロセスビルダー>ワークフロールール
といった具合で、右にいくほどできることに制限があるようなイメージです。ワークフロールールは古くからあって、一番自動化設定できることが少ないとのこと。
※現在はSalesforce社でもワークフロールールより「プロセスビルダー」の使用をお勧めされています。参考:Trailhead
また弊社ではSlackを利用しているので、Chatterは利用していないですが、Chatterの通知設定もワークフロールールでは出来ず、プロセスビルダーかフローのみになります。
現段階では、プロセスビルダーとワークフロールールでしかできないことがまだありますが、今後フローの方に、どんどん実装されていき、フローの機能が拡張されていく感じになるようです。
なので、フローの使い方を今のうちに勉強しておいたほうがいいとのこと。
ワークフロールールの特徴
参考:業務プロセス改善のためのSalesforce自動化機能
- 単一のif/thenステートメントでしか設定ができない
- レコードの作成はTodoのみ
- 起動のタイミングは、レコードが作成編集されたとき
- 項目の更新は、自分と親レコードのみ
- Chatter投稿不可
- レコードの削除はできない
- ワークフローで実行できてプロセスビルダー、フローで実行できないことは、コードなしでアウトバウンドメッセージを送信することのみ。
プロセスビルダーの特徴
参考:設定だけでここまでできる!ハンスオンウェブセミナー(3回目)業務を自動化してみよう
-
複数の if/then ステートメントで設定可能
- 起動タイミングは、レコードが作成/編集されたとき・別のプロセスから呼び出されたとき・プラットフォームイベントメッセージを受信したとき
- 項目の更新は、自分、親、子レコード(関連レコード)まで
- ワークフロールールの場合複数ルールを作成しないといけない操作を、1つのプロセスで処理できる
- 実行順序のコントロールが、ワークフローではできないがプロセスビルダーなら可能
- レコードの削除はできない
フローの特徴
参考:設定だけでここまでできる!ハンスオンウェブセミナー(3回目)業務を自動化してみよう
- 複雑な分岐ロジックで設定可能
- 起動のタイミングは、・レコードが作成/編集されたとき・変更がデータベースに保存された前/後にアクションを実行(Summer'20)・スケジュールによる起動(Winter'20)・ユーザがボタンまたはリンクをクリックしたとき・ユーザが Lightning ページ、コミュニティページ、Visualforce ページ、またはカスタムタブにアクセスしたとき・ユーザがユーティリティバーの項目にアクセスしたとき・プロセスが開始したとき・Apexがコールされたとき
- 項目の更新は、関連していないオブジェクトでも可能!
- レコードの削除が可能!
- 画面を作成して、その画面上に設定したフローのアクションを使うことができる!
おわりに
じゃあ一番使い勝手のいいフローを覚えた方がいいよねってことで、後半はフローの使い方説明を聞きました。
以前Salesforce社の自習室に参加させてもらったときに、プロセスビルダーでどうしても叶えられない自動化の要件を質問させてもらって、フローならできますよって聞いてたのですが、実際にフローはテクニカルサポートでもサポート外になる内容が多く、自習室でも範囲外の内容でした。
弊社ではプロセスビルダーをメインで利用していて、それでも叶えられない要件事項は、ApexとVisualforceで開発をしています。今回実際に、画面フローとプロセスを設定しているところを見せてもらったのですが、とてもわかりやすかったです。フローを使って自動化のプロセスを組めばノンコーディングで対応が可能なので、自分たちで改修が容易になる点がいいなと思います。
今後フローに集中的に投資していくというお話をお聞きしたので、開発要件が上がってきた際にはフローで実現できないか考えていきたいと思います。