はじめに
Salesforceのスケジュールトリガーフローを使って自動化処理を実装していると、サンドボックス環境でもメールが止まらなくなるという事象に直面することがあります。
本記事では、実際に遭遇した事例をもとに、「なぜ止まらないのか?」「どうすればよかったのか?」について解説します。
結論
💡 スケジュールトリガーフローが一度動き出すと、途中でメール送信を止める手段はありません。
なぜ起こるのか?
Salesforceでは、スケジュールトリガーフローを使用する際に、以下の制限があります。
スケジュールトリガーフローはレコードのバッチに影響します。
組織で実行できるスケジュールトリガーフローは、1 日あたり 250,000 件です。
トリガーされると、このフローは X 件のレコードに影響します。
たとえば、次のような表示がフローのデバッグ画面で確認できます。
トリガーされると、このフローは 3746 件 のレコードに影響します。
つまり、1度アクティブ化してしまうと、そのすべての対象レコードに対して処理(例:メール送信)が一気に走るため、「想定外の大量メール」が発生することになります。
対策(事前にやるべきこと)
✅ スケジュールトリガーフローを有効化する前に「デバッグ実行」しよう
- フロービルダーのデバッグを実行すると、影響を受けるレコード件数が最下部に表示されます。
- ここで処理件数が多いと判断した場合は、以下のようなテスト用条件に絞って再確認しましょう。
・「契約ステータス = テスト」などのフィルターを追加
・「今月作成されたレコード」のみに制限
テストにおすすめのフィルター例
テスト目的 | フィルター例 |
---|---|
特定レコードだけ対象に | 「レコード名に 'テスト' を含む」 |
今月のデータだけ | 「作成日 >= THIS_MONTH」 |
フラグがONのレコードのみ | 「テスト実行フラグ = true」 |
おわりに
サンドボックス環境とはいえ、うっかりメールが大量送信されると、関係者への誤通知や混乱を招くこともあります。
「公開前にデバッグ実行して、影響レコード件数を確認する」
このワンステップを忘れずに入れるだけで、事故は未然に防げます。