Google FormsからWebhookを送信する方法

Google Forms用のWebhookを使用すると、誰かが新しいGoogle Formを送信した際に、フォームの回答を任意の外部Webサービスに送信(またはプッシュ)することができます。例えば、Webhookを使用してGoogle Formsの回答をCRMツールに自動的に投稿することができます。または、Google Formsを通じて新しいリードが取得された際に、メーリングリストソフトウェアに新しいエントリーを作成することができます。

メール通知アドオンの最新バージョンではWebhookをサポートしており、WebhookコールバックURLへのHTTPリクエストに加えて、ユーザーの回答とフォームデータをHTTPリクエストのペイロードボディに含めることができます。

Google Forms用Webhook
Webhook連携の概要

Google FormsでWebhookを有効にする

まず、GoogleマーケットプレイスからGoogle Formsアドオンをインストールします。アドオンは「メール通知」というタイトルですが、任意のWebhook URLへのインスタントプッシュ通知の送信もサポートしています。

次に、アドオンを起動し、メニューからGoogle Forms用Webhookを選択します。

Webhookを作成ボタンをクリックして、Google Formsに新しいWebhookを統合します。同じGoogle Formに複数のWebhookを関連付けることができ、新しいフォーム送信を受信した際に、フォームデータをすべてのWebhook URLに送信します。

Webhook URLとクエリパラメータを追加する

最初の画面で、Webhookの一意の名前(内部使用)を指定し、HTTPリクエストメソッドを選択します。POSTリクエストを使用することが多いですが、WebhookモジュールはGET、PUT、PATCH、DELETEメソッドもサポートしています。

次に、Google Formsと統合したい外部Webサービスの完全なWebhook URLを指定します。テスト目的では、webhook.siteまたはrequestbin.comサービスを使用して、Webhookの検査とテスト用の一意のURLを取得することをお勧めします。

WebhookフォームURL
Webhook URLの設定

クエリパラメータセクションでは、Webhook URLにカスタムパラメータを追加できます。例えば、複数のフォームからWebhookを送信している場合、URLに{{Form Id}}パラメータを追加して、特定のWebhook呼び出しのソースを簡単に識別できます。

認証と認可

Webhookを設定して、シークレットベアラートークンやアクセストークンを含めて呼び出しを認可することができます。ログインとパスワードによる基本認証を行うか、認証ヘッダーにAPIキーを含めることができます。

カスタムヘッダー

Webhookエンドポイントにカスタムヘッダーを含めることもできます。ヘッダーのキーは文字列または数字で、スペースやその他の無効な文字を含めることはできません。

リクエストボディ

リクエストボディは、フォームエントリーを受信した際にWebサービスに送信されるペイロード(フォーム回答とカスタムデータ)を定義します。JSON、フォームデータ、XMLなど、さまざまな形式でペイロードを送信できます。

webhookリクエストボディ

ペイロードには、フォームのメタデータ(フォームID、回答ID、回答編集URLなど)とユーザーの回答を含めることができます。各質問は、回答タイトルを二重中括弧で囲んで、リクエストボディに新しいキーと値のペアとして追加する必要があります。

Webhookの定義が完了したら、テストボタンをクリックすると、アドオンがGoogle Formの最新の回答のフォームデータを使用してコールバックURLにHTTPリクエストを送信します。

保存をクリックしてWebhookを有効にします。