最近ノンコーディングツールと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より良い番いいと思ったので、実際これで運用してみようと思います。