ブログ

【Salesforce】図解!フローで期日を指定して、ToDoを一括自動で作成する方法

この記事をSNSでシェア!

Salesforceの標準機能で用意されている「フロー」を使用することで、レコードを自動的に作成することができます。

定期的なレコード作成や、他の操作と関連したレコード作成をしたい場合などに役立ちます。

このときに自動作成する日やToDoの期日は、会社やチーム、締め日等の関係で変わります。

期日を固定の日付に設定する方法

まずは、ToDoの期日を固定の日付に指定する方法を、フローの作成も兼ねて説明します。

最初に、フローを作成します。

フローで使用する要素や基本的な使い方は、ご存知の前提で進めます。

以下の設定内容で、フローの種別の1つである、「スケジュールトリガーフロー」を指定して作成します。

図1 フロー作成時の初期画面

図2 フロー作成時の「種別の選択」画面

次に、フローを実行するスケジュールを設定します。

ここで、直接日付指定ができれば良かったのですが、現状の設定内容ではできないため、フロー内の条件で日付指定をし、処理を実行するかどうかを入れていきます。

実行するスケジュール頻度は「毎日」としておきます。

図3 スケジュール設定画面

次に、フロー実行日時の日付のみ(1~31日)を抽出する数式を作成します。

以下の数式を設定することで、フロー実行日時の日付のみが取得できます。

DAY({!$Flow.CurrentDate})

図4 フロー実行時の日付取得する数式

次に、作成した数式を使って、フローの処理を実行するかどうかの判断を入れます。

フローの要素「決定」を以下のように設定します。

図5 フローを実行するかの分岐処理

リソース部分には図4で取得したフロー実行日を設定して、値部分にはフローを実行したい日付を設定しています。(例として、フロー実行日が20日であれば、処理が実行されるようにしています)

次に、ToDoを作成するユーザを取得していきます。

今回は、図6のようなグループを事前に作成しておりますので、このグループのメンバー(2人)にToDoを作成していきます。

図6 ToDoを作成するグループ

このグループに所属するメンバーをフロー内で取得する処理を以下のように設定します。(値部分のID取得方法は割愛)

図7 グループメンバーを取得する処理

次に、取得したグループメンバー毎のループ(繰り返し)処理を入れます。

図8 グループメンバー毎のループ処理

次に、作成するToDo用の変数を以下のように作成します。

図9 作成するToDo用の変数

そして、今回はグループメンバー全員にToDoを作成するので、複数のToDoを作成することになります。

そのため、複数のToDoを一括で作成するための変数も以下のように作成します。

図10 作成する複数のToDo用の変数

次に、図9の変数を使って、作成するToDoの項目を以下のように割り当てます。

図11 作成するToDoの項目割り当て

図11の赤枠部分で、ToDoの期日を設定します。

次に、項目を割り当てたToDoを図10の変数にまとめます。

図12 図10の変数に作成するToDoをまとめる処理

最後は、図10の変数にまとめたToDoを作成するだけです。

図13 ToDoを作成する処理

これで、毎月1日に自動で、期日が「2099/12/31」のToDoを作成するフローが完成しました。

以下が実際に作成されたToDoになります。

図14 固定の日付を期日に設定したToDo(1人目)

図15 固定の日付を期日に設定したToDo(2人目)

もし、固定の日付を変更したい場合には、図11の赤枠の日付を変更するだけです。

期日を翌月初に設定する方法

前章で作成したフローを使用して、期日をフロー実行日の翌月初に設定します。

まず、以下の数式でフロー実行日の翌月初を取得します。

DATE(CASE(MONTH({!$Flow.CurrentDate}),12,YEAR({!$Flow.CurrentDate})+1,YEAR({!$Flow.CurrentDate})),CASE(MONTH({!$Flow.CurrentDate}),12,1,MONTH({!$Flow.CurrentDate})+1),1)

図16 フロー実行時の翌月初を取得する数式

次に、ToDoの期日設定箇所(図11の赤枠)に翌月初を取得した数式を設定するだけです。

図17 ToDoの期日に翌月初を取得した数式を設定

これで、期日にフロー実行日の翌月初が設定されたToDoを作成するフローが完成しました。

以下が実際に作成されたToDoです。フロー実行日は、「2024/9/20」にしています。

図18 フロー実行日の翌月初を期日に設定したToDo(1人目)

図19 フロー実行日の翌月初を期日に設定したToDo(2人目)

ちなみに、翌月の固定日で締切日を設定したい場合には、先程紹介した数式の赤字部分を変更すれば設定可能です。

例えば、翌月の15日に締切日を設定したい場合には、数式は以下のようになります。

DATE(CASE(MONTH({!$Flow.CurrentDate}),12,YEAR({!$Flow.CurrentDate})+1,YEAR({!$Flow.CurrentDate})),CASE(MONTH({!$Flow.CurrentDate}),12,1,MONTH({!$Flow.CurrentDate})+1),15)

期日で設定できる数式の一例

前章で作成したフローの数式を変更することで、容易に期日の設定が可能です。

以下に、日付を設定できる数式の一例を記載します。

◆当月の固定日付(赤字箇所が日付に相当)

DATE(YEAR({!$Flow.CurrentDate}),MONTH({!$Flow.CurrentDate}),1)

◆当月の月末

DATE(CASE(MONTH({!$Flow.CurrentDate}),12,YEAR({!$Flow.CurrentDate})+1,YEAR({!$Flow.CurrentDate})),CASE(MONTH({!$Flow.CurrentDate}),12,1,MONTH({!$Flow.CurrentDate})+1),1)-1

◆実行日からn日後の日付(赤字箇所がn日後に相当)

{!$Flow.CurrentDate}+20

◆実行日からnヶ月後の日付(赤字箇所がn日後に相当)

ADDMONTHS({!$Flow.CurrentDate},1)

最後に

本投稿では、フローを用いて一括で日付を指定する方法と、指定できる日付について説明しました。

ToDoのみに限らず、フローでレコードを自動作成する際に、こちらを参考に日付の指定を試していただければ幸いです。

また、今後もSalesforce初心者に向けた解説や便利な機能の図解等を投稿していきます。

参考

[数式 サンプル] 日付型項目から当月・翌月・〇か月後の末日を取得する数式(Salesforce公式)

https://help.salesforce.com/s/articleView?id=000384233&type=1

この記事をSNSでシェア!