HubSpotワークフローでWebhookを使用する
更新日時 2023年 1月 18日
ワークフローでwebhooksを使用して、HubSpotと他の外部ツールの間で情報を送信または取得します。Webhookにはさまざまな用途がありますが、一般的なWebhookの使用例としては次のようなものがあります。
-
コンタクトがサイト内のフォームから情報を送信したときに、HubSpotのコンタクトデータをCRMなどの外部システムに送信する。
-
取引データを外部出荷処理システムに送信して注文書を作成する。
-
外部システムから社内のチャットストリームにチャットアラートを送信し、重要なことが起こったことを従業員に通知する。
- 別のシステムからデータを取得してHubSpotのレコードを更新する。
ワークフローを使用して、POST要求とGET要求の両方を送信できます。HubSpotは、Webhookトラフィックを他のワークフロープロセスから切り離して制御します。これは、ワークフローとWebhookのパフォーマンスを向上させるために行います。Webhookが遅い場合やタイムアウトした場合は、ワークフローアクションの実行に予想より長い時間がかかります。
注意: HubSpotは、失敗したWebhookを最大3日間再試行し、失敗から1分後に開始します。その後の失敗は、徐々に間隔を延ばして再試行されます。再試行の間隔は最大で8時間になります。HubSpot の開発者ドキュメントで、特定のエラーコード例外について確認する。
開発者WebhookドキュメントでWebhookの詳細をご確認ください。HubSpotでのWebhookの具体的な実装についてご不明な点がございましたら、HubSpot開発者フォーラムをご利用ください。
ワークフローでWebhookをセットアップする
- HubSpotアカウントにて、[自動化] > [ワークフロー]の順に進みます。
- ワークフローの名前をクリックします。
- +アイコンをクリックして、アクションを追加します。
- 右側のパネルで[Webhookを送信]を選択します。
- [メソッド]ドロップダウンメニューをクリックし、[POST]または[GET]を選択します。
- WebhookURLを入力します。WebhookURLには安全なプロトコルという制限があり、HTTPSで始まる必要があります。特定の情報を要求するには、Webhook URLに
? queryparameter = abcなどのクエリパラメータ
を追加します。クエリーパラメーターが追加されなかった場合は、汎用のPOSTリクエストまたはGETリクエストが送信されます。 - 認証タイプを設定して、Webhookへの要求を認証します。
- Webhookヘッダーで要求署名を使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、[ヘッダーに要求署名を含める]を選択します。
- 次に、HubSpotアプリIDを入力します。リクエスト署名を確認する方法をご確認ください。
- Webhookヘッダーで要求署名を使用するには:
-
- 認証にAPIキーを使用することもできます。認証にAPIキーを使用する場合、使用されるAPIキー名とAPIキーの場所は、Webhookの構成に依存します。セキュリティ上の理由から、APIキーはテストリクエストには表示されません。APIキーを使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、APIキーを選択します。
- 認証にAPIキーを使用することもできます。認証にAPIキーを使用する場合、使用されるAPIキー名とAPIキーの場所は、Webhookの構成に依存します。セキュリティ上の理由から、APIキーはテストリクエストには表示されません。APIキーを使用するには:
-
-
- APIキー名を入力してください。
- APIキーの場所ドロップダウンメニューをクリックします。次に、クエリパラメータまたは要求ヘッダーのいずれかを選択します。HubSpotでAPIキーを使用する方法について詳しくは、こちらをご覧ください。
-
- POST要求を設定する場合は、CRMレコードからすべてのプロパティを含めるか、特定のプロパティのみを送信するかを選択できます。
- すべてのプロパティを含めるには、[要求本文のカスタマイズ]セクションで[すべてのプロパティを含める]を選択します。
- 特定のプロパティのみを含めるには:
- [要求本文のカスタマイズ]セクションで、[特定のプロパティを選択]を選択します。
- [プロパティの選択]ドロップダウンメニューをクリックします。次に、このワークフローで[オブジェクト]をクリックし、プロパティを選択します。
- Webhookでプロパティの名前を変更するには、[プロパティ名]テキストフィールドを編集します。これはPOST要求のプロパティ名のみを更新し、HubSpotのプロパティ名や内部名は更新しません。
- 別のプロパティを追加するには、[プロパティを追加]をクリックします。
- プロパティを削除するには、[ ゴミ箱を削除]アイコンをクリックします。
- GET要求を設定する場合は、プロパティをクエリパラメーターとして使用できます。
- [クエリパラメータ]セクションで、[プロパティの選択]ドロップダウンメニューをクリックします。次に、このワークフローで[オブジェクト]をクリックし、プロパティを選択します。
- クエリパラメーターでプロパティの名前を変更するには、[プロパティ名]テキストフィールドを編集します。これは、GET要求のプロパティ名のみを更新し、HubSpotのプロパティ名または内部名は更新しません。
-
- 別のプロパティを追加するには、[クエリパラメータの追加]をクリックします。
- プロパティを削除するには、[ ゴミ箱を削除]アイコンをクリックします。
- [保存]をクリックします。
投稿リクエストをカスタマイズする
POST要求を設定する場合は、CRMレコードからすべてのプロパティを含めるか、特定のプロパティのみを送信するかを選択できます。
- すべてのプロパティを含めるには、[要求本文のカスタマイズ]セクションで[すべてのプロパティを含める]を選択します。
- 特定のプロパティのみを含めるには:
- [要求本文のカスタマイズ]セクションで、[特定のプロパティを選択]を選択します。
- [プロパティの選択]ドロップダウンメニューをクリックします。次に、このワークフローで[オブジェクト]をクリックし、プロパティを選択します。
- Webhookでプロパティの名前を変更するには、[プロパティ名]テキストフィールドを編集します。これはPOST要求のプロパティ名のみを更新し、HubSpotのプロパティ名や内部名は更新しません。
- 別のプロパティを追加するには、[プロパティを追加]をクリックします。
- プロパティを削除するには、[ ゴミ箱を削除]アイコンをクリックします。
GETリクエストをカスタマイズする
GET要求を設定する場合は、プロパティをクエリパラメータとして使用して、特定のデータを取得できます。
- [クエリパラメータ]セクションで、[プロパティの選択]ドロップダウンメニューをクリックします。次に、このワークフローで[オブジェクト]をクリックし、プロパティを選択します。
- クエリパラメーターでプロパティの名前を変更するには、[プロパティ名]テキストフィールドを編集します。これは、GET要求のプロパティ名のみを更新し、HubSpotのプロパティ名または内部名は更新しません。
- 別のプロパティを追加するには、[クエリパラメータの追加]をクリックします。
- プロパティを削除するには、[ ゴミ箱を削除]アイコンをクリックします。
- [保存]をクリックします。
HubSpot内でWebhookをテストする
「POST」または「GET」Webhookをセットアップする際に、Webhookレスポンスを確認するためのテストを実行できます。テスト中は第三者へのデータの送信と第三者からのデータの取得が行われますが、HubSpot内の既存のレコードには影響しません。認証にAPIキーを使用している場合、APIキーはテスト要求には表示されません。
Webhookのテスト後に、その後のワークフローで入力として使用するために出力するフィールドを選択できます。すべてのレスポンスで使用可能な出力のみを選択します。出力がその後のアクションで使用されるものの、レスポンスで使用できない場合、そのアクションは失敗します。
- サイドパネルで[テストアクション]をクリックし、セクションを展開します。
- [オブジェクト]ドロップダウンメニューをクリックし、テストするレコードを選択します。
- [テスト]をクリックします。
- Webhookの詳細を確認するには、[レスポンス]タブまたは[リクエスト]タブを選択します。各タブでは、[すべてを開く]をクリックするとすべてのセクションが展開され、[すべて折りたたむ]をクリックするとすべてのセクションが折りたたまれます。
- [レスポンス]タブでは、[headers:]または[body:]をクリックすると、それぞれのセクションが展開されます。
- [リクエスト]タブでは、[httpHeaders:]をクリックすると、そのセクションが展開されます。
外部でWebhookをテストする
Webhookアクションを含むワークフローを作成したら、ダミーのWebhook URLを使用して、簡単なテストを実行できます。
- ブラウザーでhttps://webhook.siteに移動し、一意のURLをコピーします。
- Webhookアクションの[Webhook URL]フィールドに、コピーしたURLを貼り付けます。

- ワークフローがオンになると、テストコンタクトを手動で登録できます。
POSTリクエストを含むWebhookアクションがトリガーされた場合は、コンタクトに関するすべての情報(フォーム送信、リストのメンバーシップ、すべてのコンタクトプロパティー値など)を格納したJSONレスポンス本文がWebhookに送信されます。レコードを受け取ったシステムは、そのJSONデータを解析し、システム固有のアプリケーションで使用します。
GETリクエストを含むWebhookアクションがトリガーされた場合は、追加のクエリーパラメーターが適用されていない限り、汎用のGETリクエストが送信されます。
注:履歴プロパティー値はコンタクトベースのワークフローでのみ返されます。他のすべてのワークフロータイプで使用されるWebhookは最新の値のみを返します。
ワークフローWebhookでリクエスト署名を確認する
[Webhookの実行]アクションの[認証]セクションで、[リクエスト署名]を選択した場合、HubSpotはWebhookのX-HubSpot-Signatureヘッダーに、アプリケーションのアプリシークレット、HTTPメソッド、URI、未解析の本文をつなげたSHA-256ハッシュを取り込みます。開発者ドキュメントで詳細をご確認ください。
URLで受信したリクエストの送信元がHubSpotであることを確認するには、次のようにします。
- 開発者アカウントを所有します。所有していない場合は、開発者アカウントを登録します。
- アプリを所有します。所有していない場合は、アプリを作成する方法をご確認ください。
- 署名のハッシュ値を確認します。
Thank you for your feedback, it means a lot to us.