2019.11.15 「Salesforce - Winter '20 新機能をチェック(4):Lightning フローの大幅強化~スケジュールへの対応」
≪ 2019.11.07 「Salesforce - Winter '20 新機能をチェック(3):大幅に強化されたモバイルアクセス」
2019.11.22 「Salesforce ビジネスプロセス自動化ツールを活用しよう(1) - どのような自動化ツールがあるかを再確認してみましょう」 ≫
お世話になっております。
ウフル カスタマーサポート Salesforce 担当の 後藤 でございます。
一ヶ月にわたってお送りしていまいりました Winter '20 の新機能をチェックするシリーズ、 今回で一旦区切りとさせていただきます。
最後となります今回は、少々高度な「Lightning フロー」について取り上げさせていただきます。
ご覧いただいている皆様にも、「フローって何?」と思われる方、 決して少なくないかと存じます。
フローを簡潔に表現すると、「Salesforce の高度なプロセスの自動化を、開発コード無しで実装する機能」と なります。
そもそも「プロセスの自動化」とは何でしょうか。
Salesforce におけるプロセスの自動化とは、「 レコードの値を変更して保存したら他の値も連動して更新された」 「ボタンを押したら関連レコードが自動で作成された」 というように、特定の条件のもとに、レコードの作成・ 更新などを自動で処理する仕組みを指します。
かつて Salesforce には、 プロセスの自動化ツールは以下のものしか存在していませんでした 。
* ワークフロールール&承認プロセス
* Apex トリガ
ワークフロールールは皆様もご存じの、 単一条件に基づいてレコード保存時にアクションを呼び出すシンプ ルなプロセス自動化ツールです。
承認プロセスはそのバリエーションで、 レコード保存時の代わりに、 承認申請ボタンを押した際に処理が始まり、 マネージャなど承認者が決済をした際に指定したアクションが呼び 出されるというものです。
<ワークフロールールの設定画面>
ワークフロールールや承認プロセスで出来ることは非常に限られて おり、アクションの対象も、当該レコードに限定されています。( 唯一の例外は、当該レコードが主従関係の従レコードの場合、 主レコードをアクションの対象にすることです)
そのため、複雑な条件設定や、 アクションの対象を他オブジェクトに設定するなど、 少しでも高度なプロセスを組もうとすると、Apex トリガを用いて、 開発者がコードを記述してプログラムを構築する必要がありました 。
その「コーディングの壁」を打破するため、 新しいプロセス自動化ツールが追加されました。
* プロセスビルダー
まず最初にプロセスビルダーが追加されました。
ワークフロールールの制限「単一条件」を乗り越え、 同一プロセス内で複数条件がサポートされるようになりました。
つまり、ワークフロールールでは「 条件Aに該当する場合はアクション実行、それ以外は無視」 だったものが、プロセスビルダーでは「 条件Aに該当する場合はアクション実行、 該当しない場合は再評価が行われ、 条件Bに該当する場合は別のアクションが実行、 該当しない場合は更に再評価、条件Cに該当する場合は・・・」 というように条件分岐を設定することができるようになりました。
<プロセスビルダーの設定画面>
アクションの対象についても、 プロセスを呼び出した当該レコードだけではなく、 関連するレコードも (主従だけではなく参照関係も) 対象とするこ とが可能になっており、最初は上位階層のみが対象だったのが、 バージョンアップにより下位階層も更新の対象となりました。( 例:取引先を更新したら取引先責任者も連動して更新する)
アクション自体も、レコードの更新だけではなく、 関連レコードの作成もサポートされています。
しかしながら、プロセスビルダーもあくまでも「 レコードを作成または更新した際にアクションを呼び出す」 という点はワークフロールールと違いはなく、 画面操作からのプロセス開始や、 レコードの削除や一括更新を伴う高度なアクションの設定を行うに は、Apex トリガを用いてコーディングを行うしかありませんでした。
そこで次に登場した「コーディングの壁を打破する」 自動化ツールがこちらです。
* Visual Workflow → Lightning フロー
ワークフロールールやプロセスビルダーでは実現できず、今までは Apex トリガを基にして構築するしかなかった高度な自動化を、 コーディング無しで実現するために登場したのが、Visual Workflow です。
当初はこのような名称でしたが、機能強化や仕様変更を経て、 現在は「Lightning フロー」という名称になっています。
Lightning フローは、ツールの名前というよりは、 高度なプロセスフローを作成する一連のアプリケーションの総称で 、プロセスビルダーに相当する「作成ツールの名前」としては、「 Flow Builder」という名称が充てられています。
(→ 「Flow Builder により作成される自動プロセス」が「フロー」となります)
<Flow Builder の設定画面>
ワークフロールールやプロセスビルダーに比べ、 Lightning フローでは「できること」が非常に多くなっており、Apex トリガにかなり近いところまで対象範囲が拡張されています。( もちろんその代わりに実装前の事前計画は Apex トリガと同レベルまで「詰めておく」必要があります)
しかしながら、登場してから最も日が浅いことから、「 ワークフロールールやプロセスビルダーではできるのに、 Lightning フローではできない」ことも未だ残っています。
そのひとつが、「実行アクションのスケジュール設定」です。
条件を満たす更新が行われた場合、 すぐにアクションを実行するか、 それともスケジュールを設定して、更新から〇日後に、 もしくは指定した日付項目の〇日後/〇 日前にアクションを実行するか。
分かりやすい例を挙げると、商談のフェーズを「最終確認中」 にして保存した場合に、リマインダとしての営業担当者への Chatter 通知を、レコード保存後すぐに行うのではなく、 完了予定日の7日前に行うように予約する、などです。
この機能が Lightning フローには実装されておらず、Salesforce のユーザコミュニティでも、 多くのユーザから機能要望としてリクエストが上がっていました。
・・・非常に長い前置きでしたが、 ここからが今回のカスタマーサポート通信の「本題」です。
Winter '20 で、Lightning フローのスケジュール実行への対応が、追加実装されました!
Winter '20 リリースノート
「スケジュールによるフローの開始」
関連ヘルプ
「フロー要素: 開始」
スケジュール対応以外にも、 今回のリリースでいくつかの新機能が提供されておりますので、 今までにフローの実装を行ってきたお客様は、 是非リリースノートをご一読ください。
Winter '20 リリースノート
「Flow Builder: 強力な画面の機能強化、スケジュール済みフロー、 および簡素化された [レコードを取得] 要素と [画面] 要素の設定」
そして、今まで Lightning フローは(プロセスビルダーも) 敷居が高いと敬遠されてきたかもしれない皆様のため、 せっかくの機会ですので、来週以降数回に分けて、 カスタマーサポート通信にて「プロセスビルダー」と「 Lightning フロー」のご案内を集中的にさせていただく予定でございます。
(今後取り上げる予定のテーマ)
* Salesforce のプロセス自動化ツールを再確認する
* ワークフロールールからプロセスビルダーに置き換える計画の策定
* Lightning フローを用いた高度な自動化の設定例
* プロセスビルダーと Lightning フローの使い分け、および組み合わせ
* それでも Apex トリガが必要なのは、このような実装の場合
===========================================================
Winter '20 の新機能紹介は今回で一旦区切りとし、最後に触れた Lightning フローの新機能紹介を引き継ぐ形で、 来週以降プロセス自動化ツールについて集中的にご案内させていた だきますが、 お客様皆様のご要望があってのウフル カスタマーサポートです、今後も「 このテーマを取り上げてほしい」というご要望がありましたら、 内容を拝見の上、 必要に応じて優先的に取り上げさせていただく場合も大いにござい ますので、お気軽にご意見ご要望を頂ければ幸いでございます。
今後ともウフル カスタマーサポートを引き続きご愛顧いただきますよう、 何卒よろしくお願い申し上げます。
コメント