Zapier&Webhookによるインタラクティブメール自動化

MailInAppには公式のZapierアプリはなく、必要でもありません: プロジェクトのWebhookはすでに、HTTPS経由のプレーンな署名付きJSONです — これはZapierの「Webhooks by Zapier」トリガー(あるいはMake、n8n、Pipedream、その他受信Webhookを受け取れるものなら何でも)がそのまま期待している形そのものです。

件名

Quick question — how'd we do?

投票、フォーム送信、購入のすべてが、発生した瞬間に署名付きのWebhookを発火します — それをZapierの汎用的なWebhookトリガーに向ければ、コードを書くことなく、あらゆるインタラクションがCRM、スプレッドシート、Slackチャンネルに届きます。

MailInAppには公式のZapierアプリはなく、必要でもありません。プロジェクトのWebhookはすでに、HTTPS経由のプレーンな署名付きJSONです — これはZapierのWebhooks by Zapierトリガー(あるいはMake、n8n、Pipedream、その他受信Webhookを受け取れるものなら何でも)が期待している形そのものです。

プロジェクトごとに一度有効にする

回答ページでHTTPS URLを入力し、有効にするをクリックします。MailInAppは署名シークレット(whsec_…)を一度だけ表示します — 後で署名を検証する予定があれば控えておいてください。

受け取り、絞り込み、動かす

Zapierでは、Webhooks by Zapier → Catch Hookトリガーがすべてのイベントを受け取ります。その直後のFilter by Zapierステップが、重要なものだけに絞り込みます — event.actionがsubmitやpurchaseと等しい、特定のevent.blockId、あるいは悪いCSAT/NPS回答についてマネージャーへ通知するZapのためのlowScoreがtrueである、といった条件です。

何も静かに失われることはない

無効なZap URLや一時的な障害は配信失敗としてカウントされ、バックオフ(おおよそ1分、5分、30分、2時間、その後6時間)を伴い自動的に再試行されます。インタラクション自体は常にまずMailInApp内に保存されるため、配信を逃しても何も失われません — 回答ページが正となる情報源で、Webhookはリアルタイムの信号です。

両方向に機能する

別のZap(「チケット解決」「商談成立」など)の最後のステップとして独立したWebhooks by Zapier → POSTステップを置けば、連絡先リストの行アップサートエンドポイントを呼び出し、MailInAppの連絡先を自動的に追加・更新できます。これにより、人手でCSVを再エクスポートすることなく、送信リストを最新の状態に保てます。

はじめに

プロジェクトの回答ページでWebhookを有効にし、Webhooks by Zapierトリガーで受け取り、気にかけているイベント用のフィルターステップを追加し、自分のワークフローに合ったアクション(Sheets、CRM、Slackなど)を組み立てます。

動画:n8nでMailInAppを自動化する

MailInAppのn8nノードの使い方を紹介します。リードの獲得、商談の移動、ジャーニーへの連絡先登録、インタラクティブメールの送信まで。

英語の動画です

典型的な作成・送信の流れ

  1. 1

    プロジェクトのWebhookを有効にする

    回答ページでHTTPS URLを入力し、有効にするをクリックします — MailInAppは署名シークレット(whsec_…)を一度だけ表示します。後で署名を検証する予定があれば控えておいてください。

  2. 2

    Zapierで受け取る

    トリガーをWebhooks by Zapier、イベントをCatch Hookとして新しいZapを作成し、Catch Hook URLをプロジェクトのWebhookの送信先として貼り付けます。

  3. 3

    重要なものだけに絞り込む

    `event.action`(submit、vote、purchaseなど)、`event.blockId`、または`lowScore`フラグに一致するFilter by Zapierのステップを追加し、本当に気にかけているインタラクションについてのみZapが続行するようにします。

  4. 4

    任意で、逆方向にデータを送り返す

    別のZap(解決済みのチケット、成立した商談など)の最後にある独立したWebhooks by Zapier → POSTステップから、連絡先リストの行アップサートエンドポイントを呼び出し、MailInAppの送信リストを自動的に最新の状態に保てます。

よくある質問

MailInApp用の公式Zapierアプリはありますか?

いいえ — プロジェクトのWebhookはプレーンな署名付きJSONであり、Zapierの汎用的なWebhooks by Zapierトリガーがすでにネイティブに処理できるため、専用のアプリ連携は不要です。

自分のZapやエンドポイントが一時的にダウンしたらどうなりますか?

無効なURL、一時停止中のZap、障害はすべて配信失敗としてカウントされます — MailInAppは、Webhookの現在のURLとシークレットに対して、バックオフ(おおよそ1分、5分、30分、2時間、その後6時間)を伴い自動的に再試行し、それでも失敗し続ける配信は、手動の再配信ボタンとともに「失敗した配信」に表示されます。

Webhookが一度も成功しなかった場合、インタラクションは失われますか?

いいえ — イベントは常にまずMailInApp内に保存され、配信結果にかかわらず回答ページに表示されます。Webhookはリアルタイムの信号として、回答ビューを正となる情報源として扱ってください。

Webhookが本当にMailInAppから来たものかどうかを検証できますか?

はい — すべての配信は`X-MailInApp-Signature`ヘッダーにHMAC署名を含んでおり、Webhookを有効にしたときに一度だけ表示される署名シークレットに対して検証できます。

自動化は、イベントを取り出すだけでなく、新しい連絡先をMailInAppへプッシュすることもできますか?

できます — リストごとのAPIキーが、サーバー間の行アップサートエンドポイント(Firebase IDトークンではなく`Authorization: Bearer`)を認可し、Zapの最後のPOSTステップからこれを呼び出して連絡先を追加・更新できます。1バッチあたり最大500行に制限され、キーごとにレート制限されます。

スタジオでこれを作ってみましょう

無料プランから始められます — すべてのインタラクティブブロックと完全なフォールバックエンジンが、どのプランにも含まれています。