（小ネタ）Salesforce フローのエラーメール通知先をSlackにする

# はじめに

みなさん、Salesforceのフローのエラーメールが大量にきていて見にくかったり
本番と開発の環境のエラーメールが受信BOXに混在してややこしかったりしませんか？
エラーメールをSlackに通知してフローのエラー対応をやりやすくしていこうと思います。

:::note warn
今回記事の中で設定する内容は、Slackの有料プランでないと使用できませんのでご注意を
:::

:::note 
検証に使う環境は、Trailheadのハンズオン組織です。
データに関してもデモデータ + 検証で作ったデータしか入っていません
:::

# やること

- Slackチャンネルのメールアドレスを取得
- 取得したメールアドレスを、`フローのエラーメールの送信先`として登録

# エラー通知先Slackチャンネルのメールアドレスを取得

https://slack.com/intl/ja-jp/help/articles/206819278-Slack-%E3%81%AB%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B#:~:text=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%20DM%20%E3%82%92%E9%96%8B%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82

1\. 送信予定のチャンネルを開く
2\. チャンネル名をクリックし、インテグレーションタブを開く
3\. `このチャンネルにメールを送信する`をクリック
4\.  メールアドレスを取得するをクリック

以上のステップでメールアドレスを取得できました。
次は、Salesforceの設定をします。

![フローエラー通知 - slackテスト - 1 個の新しいアイテム - Slack.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/a0a8a36e-2f94-a617-7a38-4e7b469c9208.png)

![スクリーンショット 2022-12-20 3.32.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/e8c1c7a9-8465-002a-77e7-e15208ecf931.png)



# エラーメール送信先を設定

https://help.salesforce.com/s/articleView?id=sf.flow_troubleshoot_error_email.htm&type=5

## 1. `設定>プロセスの自動化設定`にアクセス

![プロセスの自動化設定 _ Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/dc75c22a-5894-8636-8cb9-1e5adaa14caf.png)

## 2. プロセスまたはフローのエラーメールの送信先の変更

`プロセスまたはフローのエラーメールの送信先`を
`プロセスまたはフローを最後に変更したユーザ。`から**Apex 例外メールの受信者**に変更します。

![プロセスの自動化設定 _ Salesforce (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/5dd2c2b0-e1f2-5273-e884-9d7d201ab2e0.png)

## 3. `設定>Apex 例外メール`にアクセス

![Apex 例外メール _ Salesforce (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/69a04406-7905-212d-c32c-75c93f0b8a56.png)

## 4. Slackチャンネルのメールアドレスを追加

`Salesforce 以外のメールアドレス`の**外部メールアドレス**にSlackチャンネルのメールアドレスを追加します。

![Apex 例外メール _ Salesforce.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/04eef370-d28d-75ac-4252-aac927f116f1.png)

# 動作確認

エラーが起きる様にフローを組んでデバッグ実行します。

![スクリーンショット 2022-12-20 3.54.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/46daf44b-5a70-3928-116e-bb196bbd5dc9.png)


メールの内容が、Slackに通知されました。

![スクリーンショット 2022-12-20 3.50.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/2dc26b72-ec8d-6ff8-d4dd-7726489a7e18.png)

![スクリーンショット 2022-12-20 3.51.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/445600/21825760-7e0d-b727-52f2-2b15e8addd7f.png)


# さいごに

Slackにエラーメールを送信することができました。
業務の中心がSlackになっている人にとっては多少便利なのではないでしょうか？
通知された内容が見にくい等あれば、Slackチャンネルのメールアドレスではなく
AWS SES + AWS　Lambda等を組み合わせて、
特定のメールアドレスに送信→メール本文を抜き出しそれをSlack通知等すれば通知先の制御や通知内容もカスタマイズできるのでさらに良くなると思います。

# 参考にさせていただいた記事

https://slack.com/intl/ja-jp/help/articles/206819278-Slack-%E3%81%AB%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B#:~:text=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%20DM%20%E3%82%92%E9%96%8B%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82

https://help.salesforce.com/s/articleView?id=sf.flow_troubleshoot_error_email.htm&type=5

https://qiita.com/sugimount-a/items/f33992d7860bb730d53b