SendGridのEvent通知をIFTTT経由で受け取る
サマリー
SendGridのWebサイトでは、以下のようなデータを確認することが出来ます。
DELIVERABILITY DATA
- Select All
- Processed
- Dropped
- Deferred
- Bounced
- Delivered
ENGAGEMENT DATA
- Select All
- Opened
- Clicked
- Unsubscribed
- Spam Reports
- Group Unsubscribes
- Group Resubscribes
しかし、これらのログの保存期間は1週間程度しか確認できず、それ以前のログを確認したい場合はEvent Webhookを利用して、ログを受信/保存する必要があります。
ビジネスでSendGridを使用している場合、BigQueryなどを利用することとなりますが、個人での日常使用(〜数百通/月)ではそこまでの必要はありません。
今回はIFTTTでWebhookを受信し、メールで通知を受け取るようにしました。
前提条件
- SendGridの登録、メール送信設定が完了している
SendGridは、登録に審査が必要です(KKE = 構造計画研究所の場合)。審査についての詳細は省きますが、登録フォームに記入し、問題がなければ数日で利用可能となります。
IFTTTのセットアップ
1. 登録
Apple, Google, FaceBook連携、Emailでの登録が可能。メールの場合は認証メールが来るため、リンクをクリックして完了。

2. アプレットの作成
基本的にはUIに従って操作していけば完了します。
-
My Appletsをクリック。

-
Create your ownをクリック。

-
Addをクリック。

-
上部の検索欄にWebhookと入力して、Webhooksをクリック。

-
Receive ~ JSON payloadをクリック。

-
Connectをクリック。

-
適当なEvent Nameを入力して、Create triggerをクリック。

-
Addをクリック。

-
上部の検索欄にEmailと入力して、Emailをクリック。

-
Send me an emailをクリック。

-
SubjectとBodyを適当に入力して、Create Actionをクリック。

-
Continueをクリック。

-
適当なApplet Titleを入力して、Finishをクリック。

-
Webhookのアイコンをクリック。

-
Documentationをクリック。

-
{event}に 7 で入力したEvent Nameを入力してから、画像赤枠内のURLをコピーしておく。

SendGridの設定
こちらも、UIに従って操作していけば完了します。
-
SendGridのWebサイトを開き、Mail SettingsのEvent Webhookをクリック。

-
HTTP Post URLに 2-16でコピーしたURLをペーストし、Test Your Integrationをクリック。

-
メールが正常に届くことを確認。IFTTTに登録したメールアドレスに届くことに注意。
-
DELIVERABILITY DATAとENGAGEMENT DATAの中から通知が必要なデータにチェックを入れ、Event Webhook StatusをEnabledにし、Saveをクリック。

通知の受け取り
このようなメールが送られてきます。

また、IFTTTのWebサイトからも確認できます。

あとがき
今回はメールで通知する形としましたが、IFTTTではSMSやSlack, Telegramなどとの連携も可能です。また、JSONのパースも出来るため、色々と試してみる価値はあるかと思います。
Zennでの初記事です。
Zennの仕様に慣れる目的も兼ねて、簡単なHow-To記事としてみました。
ご意見・ご指摘等はコメントまでお願いします。
Discussion