Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

レコードトリガフローによるスケジュール済みパスの設定

こんにちは、ロジカル・アーツの岡田です。

フローのスケジュール済みパスについて触れる機会があったので、その設定方法と仕様について記載いたします。

はじめに

スケジュール済みパスはレコードトリガフローに設定できる機能です。
これを利用することで、トリガしたレコードの特定の日付項目に基づいてプロセスを設定できます。

今回は商談をトリガとしたフローを例に構築していきます。

レコードトリガフローの作成

まずは[フェーズ]が"失注"となった商談の[非公開]フラグを有効にするフローを作成します。

フローの全景は以下です。

トリガの設定

トリガオブジェクトは商談を指定します。

更新が条件のフローで処理内容にトリガオブジェクトの更新要素を含める場合、ループしてトリガされないように注意しましょう。

更新処理の設定

トリガした商談レコードを更新します。

フェーズが失注の商談について、非公開フラグを有効にするフローが完成しました。

これを実際に動かしてみましょう。
今回は最初から失注のフェーズで商談を作成します。

作成直後に非公開フラグがTRUEになっているので、正常に動作していることが確認できました。
次はこのフローにスケジュール済みパスを設定し、更新タイミングを制御します。

スケジュール済みパスの設定

フローの開始要素から[スケジュール済みパス]を設定できます。

[時間取得元]に指定した日付項目との比較で、実際に実行するタイミングをオフセット数として設定します。

処理内容が多い場合は[詳細]タブからバッチサイズも指定可能です。

追加したパスに、先程の更新要素を移動して設定は完了です。
これによりフローがトリガされた直後には更新が実施されず、スケジュールした時間での実行が可能になりました。

同様にレコードを作成して検証します。
レコード作成後、非公開フラグがFALSEであることを確認します。

フローに設定した1時間後を待ち、再度レコードを確認すると正常に更新が行われていました。

おわりに

スケジュール済みパスの活用例を紹介させていただきました。
通常のレコードトリガフローと異なりバッチサイズの指定も可能なのでガバナ制限を回避する目的でも運用することができますが、それぞれの実行タイミングや順序は正確に保証されないので注意が必要です。
そのほか詳細な仕様もあると思いますが、この記事が参考になれば幸いです。