
Salesforce【フロー編:スケジュールトリガーフロー】
フローを使って機能を開発するとき、画面フローやレコードトリガーフローは頻繫に登場すると思います!
しかし、スケジュールトリガーフローはどうでしょうか?
私はあまり使う場面がなく、仕組みを理解できていませんでした。
そこで今回はスケジュールトリガーフローの仕組みや何ができるのか紹介したいと思います!!
スケジュールトリガーフローとは?
スケジュールを設定し、そのスケジュールに沿って裏側(バックグラウンド)で実行されるフローです。
例えば、毎週金曜23時45分に商談の項目を更新する、など定期的な処理を実行するために使用します。

スケジュールトリガーフローを使ってみる
今回、上司から「先週から商談が進んでいない商談の一覧が欲しい」と依頼があったとします。
そこでスケジュールトリガーフローを使って、毎週金曜23時45分に商談のフェーズを別項目に保存する仕組みを作成します。
まずは商談に項目「フェーズ(先週)」を作成します。
フローでスケジュールトリガーフローを選択し、開始日、開始時刻、頻度を設定します。
開始時刻は15分単位、頻度は一回のみ、毎日、毎週から選択できます。

さらにオブジェクトの検索条件を追加していきます。

最後に商談のフェーズ(先週)を更新します。

デバックで確認してみると、正常に項目更新がされています。

そして最後にレポートで商談の一覧を作成し、レポート条件で、「商談のフェーズがフェーズ(先週)と一致する」を設定すれば、上司の要望を実現できますね!!
スケジュールトリガーフローのポイント
・スケジュールトリガーフローの開始条件にオブジェクトの検索条件を追加する!
⇒ オブジェクトの検索条件を追加する事で、対象のオブジェクトのレコードを1件ずつ処理する事ができます。
つまりフロー内で対象のレコードを取得する必要がありません。
対象のレコードを取得する必要がないということは、ガバナ制限を意識する必要がない(厳密には"そこまで"意識する必要がない)です。
まとめ
今回はスケジュールトリガーフローをまとめてみました。
大量のデータを対象に、スケジュールを設定し処理したい時に使用します。
スケジュールトリガーフローを使用するときは、なるべくオブジェクトの検索条件を細かく設定すると、ガバナ制限を回避する事ができます。
一括更新などは多々あると思うので、スケジュールトリガーフローの仕組みを知っておくのは役立つと思いました!!