最近ノンコーディングツールとSendGridを連携することにハマっています。以前、ZapierとLogic Appsを試しました。
今回はIFTTTを試そうと思って「IFTTT SendGrid」でググったところ、Integromatというサービスが出てきました。

早速触ってみたところ、ZapierやLogic Appsよりも簡単に同じもの(メール購読フォームのバックエンド)が作れました。Webhookを受ける機能があるので、IFTTTを使わなくても同じことができます。
ということで手順をまとめます。
Webhooksの設定
「Create a new scinario」で新しくシナリオを作成します。

サービスの一覧&検索画面で「Webhook」を検索して選びます。

「Custom Webhook」を選択します。

「Add」ボタンを押して「Webhook name」を入力します。ここでは「SendGridWebForm」と入れて保存しました。

URLが発行されます。

ここでPOSTのリクエストを送ると、それを元に変数化してくれます(後ほど出てきます)。これはZapierやLogic Appsより便利ですね。実際にリクエストを送信してみます。

正常に受信されると成功のメッセージが表示されます。

SendGridの設定
宛先の登録
Webhookの設定を終えたら次はSendGridです。

Search欄で「SendGrid」と入力します。

フィルタされた結果の「SendGrid」を選びます。

SendGridで選べる選択肢が一覧表示されます。まずはPOSTされたメールアドレスを宛先リスト(Contacts)に登録するため「Add or Update a Recipient(Legacy)」を選びます。(Legacyとあるのはつい最近、新しいAPIセットがリリースされたためです。)

Connectionに名前を付けます。ここでは「SendGridConnection」としました。

API KeyはSendGridで発行したものを入力します。最初ちょっとハマったのですが、「Marketing Campaings」の権限だけではなく「API Keys」の権限も必要なのでご注意ください。

Email AddressはWebhooksの設定で変数化された「email」が自動的に出てくるので選びます。

上記キャプチャには「double_optin」という項目がみえていますが、これはSendGridのContactsで私が追加したカスタムフィールドです。この辺りも自動的に表示してくれるのがありがたいです。以上で、Webhookで受け取った宛先を登録する設定が完了しました。
登録した宛先を宛先リストに追加
続いて、登録された宛先を宛先リストに追加します。今回は「Add Recipients to a List(legacy)」を選びます。

Connectionは先ほど作ったものをそのまま利用できます。List IDは宛先リストを作成したときにレスポンスで返ってくるIDです。忘れた場合は宛先リストの一覧を取得するAPIで確認できます。

Recipientsの部分は宛先を登録した際の戻り値にあるRecipient IDを指定します。ここもIntegromatが使いやすい!と思った所なのですが、下図のように戻り値の一覧だけではなく、配列の添え字まで含めて選べるようになっています。細かい!

以上で設定完了です。
実行
それでは早速実行します。「Run once」を押すとWebhooksが待機状態となるので、POSTのリクエストを送ります。

実行結果をリアルタイムに画面で確認できるのがありがたい。

SendGridを確認すると、ちゃんと宛先が宛先リストに登録されていました。

便利!今回のブログは1つ1つ細かい手順を書いたので長く感じられるかもしれませんが、実際にやってみると迷いが少なくサクサク設定できます。
IntegromatはSendGridだけではなく、数多くのサービスと連携できます。Freeプランで十分使えるのも魅力的です。ZapierやLogic Appsより良い番いいと思ったので、実際これで運用してみようと思います。
