本日のTips!は、スケジュールトリガーフロー(Flow)を使って、定期的にメールを送信する方法をご紹介します。
この機能は、Apexのスケジュールバッチとほぼ同様の処理が設定だけでできてしまうという、かなり便利な機能(方法)となりますので、ぜひマスターしてください。
例えば、毎朝8時に商談の期日が切れているタスクがあるかチェックして、存在する場合には担当者へメール通知するなどの用途があります。
ポイント
- スケジュールトリガーフローの使い方
- メールアクションの設定方法
[toc]
1.スケジュールトリガーフローでメールを送信してみよう
スケジュールトリガーフローを使って、メールを送信処理を設定してみましょう。
簡単な流れ
- 組織のメールアドレスを設定
- プロセスの自動化設定
- スケジュールトリガーフローの作成
- フローの有効化とスケジュール設定
- メール送信設定の変更(Sandbox環境場合)
では、一つ一つ手順の内容を解説していきたいと思います。
1.組織のメールアドレスを設定
1.Salesforceにログインして、[設定] からクイック検索で[組織のメールアドレス]を検索して実行します。
組織のアドレス画面から、組織のメールアドレス[追加]を実行します。
画像をクリックすると拡大できます。
2.続いて、Salesforce組織から送信する際の送信メールアドレスと表示名を設定します。
また、この送信元アドレスの私用を許可するプロファイルを選択します。
※組織のメールアドレスを利用する処理を実行するプロファイルが選択されているかチェックしてください。
3.メールアドレスを登録すると、状況が[確認要求送信済]となります。
登録したメールアドレスに「Salesforce組織アドレス変更のお
届かない場合は、メールアドレスが正しいかチェックして、再送を実行してください。
4.以下のメールが届いたら、メール内のURLリンクをクリックして、組織のメールアドレスを有効化します。
5.組織のメールアドレスが有効化されたら状況が「検証済み」となっていることを確認してください。
ここまでで組織のメールアドレス設定が完了となります。
※スケジュールトリガーフローでメールが届かないという場合は、組織のメールアドレスが未検証のままとなっていることが多いので、検証済みまで設定しておきましょう。
2.プロセスの自動化設定
続いて、プロセスの自動化設定を行います。
1.[設定] からクイック検索で[プロセスの自動化設定]を検索して実行します。
①デフォルトのワークフローユーザを選択します。(システム管理者権限を持っているユーザを推奨)
②自動化プロセスユーザのメールアドレスを設定します。フロー実行時に送信元のメールアドレスとして利用されます。
3.スケジュールトリガーフローの作成
メールの設定完了後はフローの設定に進みます。
1.[設定] からクイック検索で[フロー]を検索して実行します。
新規フローのボタンをクリックして、新規フロー作成画面を開きます。
2.新規フロー画面では、スケジュールトリガーフローを選択します。
作成方法で表示される自由形式と自由レイアウト(Beta)はどちらでもお好きなものを選択してください。
3.スケジュールを設定をクリックして、スケジュール設定画面を表示します。
①開始日と開始時間を入力します。指定された開始日、開始時間でスケジュールが起動します。
※開始時間は、組織のタイムゾーンの時間で実行されます。
組織のタイムゾーンが海外になっている場合、日本の時間で設定すると期待した時間に動作しないため注意が必要となります。
②頻度を指定します。1回だけの処理か、毎日同じ時間に処理を繰り返す、毎週同じ曜日、時間に処理を繰り返すのいずれかを選択
4.続いて、アクションを定義します。
5.新規アクションで、メールを送信を選択します。
6.メールを送信アクションでは、必須項目に必要な情報を登録します。以下参照
※実際のプロジェクトで作成する場合には件名や本文の項目については、事前に変数やテンプレートを用意しておきそれを指定するようにしてください。
このサンプルでは、直接文字列を設定しています。
7.最後にフローに名前を付けて保存します。
4.フローの有効化とスケジュール設定
1.作成したフローを保存した後、有効化ボタンをクリックしてください。
保存しただけで、有効化するのを忘れることが多いので気を付けてください。
以下のようなワーニングが表示される場合は、2.プロセスの自動化設定が正しく行われているか確認してください。
注意ポイント
- この問題があっても有効化できますが、フローの実行時に問題が発生する可能性があります。
- TestSendEMail (アクション) - 自動化プロセスユーザにメールアドレスが設定されていないため、このフローでアクションまたはエラーのメールを送信できません。[設定] の [プロセスの自動化設定] ページで自動化プロセスユーザのメールアドレスを入力してください。
作成したフローにワーニングやエラーがある場合には、[デバッグ]実行をすることをお勧めします。
デバッグ実行することで、どのプロセスでどのような結果になっているのか、可視化できるため、素早く問題点を発見することができます。
問題が解決した場合には、フローを有効化し、スケジュール済みジョブに実行計画が登録されることを確認しましょう
例では、2月14日の21:45に次回実行される予定で登録されています。
※スケジュールを変更したい場合は、フローのスケジュールを変更して保存後、有効化することで新しいスケジュールに変更することができます。
3.指定時間になるとスケジュールが実行されメールが送信されます。
以下のようなメールがSalesforceから送信されます。
もし、メールが届かないという場合は、スケジュール済みジョブを確認して、開始のところに実行時間が表示されているか確認してください。
スケジュールの定義が間違っている可能性があります。もしくは組織のタイムゾーンの設定が日本以外になっている可能性があります。
5.メール送信設定の変更(Sandbox環境場合)
Sandbox環境でメール送信のテストを実施する場合に、メールが送信されないというお問い合わせがよくありますが、Sandbox環境は、デフォルトではシステムメール以外は通知されない設定になっています。※メール誤送信を防止する目的
1.[設定]からクイック検索で[送信]を検索し実行します。
メールを送信するためのアクセス権(すべてのメールサービス)のアクセス件を確認し、すべてのメールになっているか確認してください。
システムメールのみやアクセス権限なしになっている場合は、すべてのメールに変更して保存してください。
上記設定によって、Sandbox環境からワークフローなどを使ったメールの送信が可能となります。
サンプルフローのダウンロード
本記事でご紹介したフローのサンプルはGithubに公開しているので必要な方はダウンロードしてください。
まとめ
いかがでしたでしょうか。説明した手順で設定はうまくいきましたか?
メール送信を行う場合は、一日に送信可能な上限がありますので業務要件に見合うかどうか確認してから利用してくださいね。
一般的なメールの制限(参照元:Salesforce ヘルプより)