HubSpotのワークフローでのWebhookの活用
更新日時 2025年8月26日
ワークフローでWebhookを使用することにより、HubSpotと他の外部ツールの間で情報を送信したり取得したりします。Webhookにはさまざまな用途があります。Webhookの一般的な用途としては、次の例が挙げられます。
-
自社のサイトでコンタクトが特定のフォームを記入したら、そのHubSpotコンタクトデータを、CRMなどの別のシステムに送信する。
-
注文書を作成するために、取引データを外部出荷処理システムに送信する。
- 別のシステムからデータを取得してHubSpotのレコードを更新する。
ワークフローを使用して、POSTとGETの両方のリクエストを送信できます。HubSpotは、Webhookトラフィックを他のワークフロープロセスから切り離して制御します。これは、ワークフローとWebhookのパフォーマンスを向上させるために行います。Webhookが遅い場合やタイムアウトした場合は、ワークフローアクションの実行に予想より長い時間がかかります。
注:HubSpotは、失敗したWebhookについて、失敗の1分後から最大3日間に渡って再試行します。以降のアクション再試行が失敗した場合、徐々に間隔を延ばしてアクションが再試行されます。再試行の間隔は最大で8時間です。4XXのレスポンス ステータス コードを受信した後に、ワークフローが再試行されることはありません。
このルールの1つの例外は429レート制限エラーです。429レスポンスを受け取った後、ワークフローは自動的に再試行されます。また、このレスポンスにRetry-Afterヘッダーがある場合は、このヘッダーでの指定に従います。Retry-Afterはミリ秒単位で記録されます。特定のエラーコード例外については、HubSpotの開発者向けドキュメントをご確認ください。
開発者WebhookドキュメントでWebhookの詳細をご確認ください。HubSpotでのWebhookの具体的な実装についてご質問がございましたら、 HubSpot開発者フォーラム(英語)をご利用ください。
POSTリクエストを設定する
- HubSpotアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- 既存のワークフローを編集するには、ワークフローの名前をクリックします。または、 新しいワークフローを作成します。
- ワークフローエディターで+プラスアイコンをクリックし、アクションを追加します。
- 左側パネルの[データ処理]セクションで、[Webhookを送信]を選択します。
- [メソッド]ドロップダウンメニューをクリックし、[POST]を選択します。
- Webhook URLを入力します。
- Webhook URLは安全なプロトコルに制限されており、HTTPSで始まる必要があります。
- 特定の情報を要求するには、「Webhook URL」に
?queryparameter=abc
のようなクエリーパラメーターを追加できます。 - クエリーパラメーターが追加されなかった場合は、汎用のPOSTリクエストまたはGETリクエストが送信されます。
- Webhookへのリクエストを認証するための認証タイプを設定します。リクエスト署名をWebhookヘッダーで使用するか、APIキーを使用できます。
- Webhookヘッダーでリクエスト署名を使用するには、次のようにします。
- [認証タイプ]ドロップダウンメニューをクリックします。[ヘッダーにリクエスト署名を含める]を選択します。
- 次に、HubSpotアプリIDを入力します。リクエスト署名を確認する方法をご確認ください。
- APIキーまたは開発者アカウントで作成した公開アプリを認証に使用するには、次のようにします。
- 認証にAPIキーを使用する場合、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには、次のようにします。
- [認証タイプ]ドロップダウンメニューをクリックします。[APIキー]を選択します。
- APIキー名を入力します。
- [APIキーの場所]ドロップダウンメニューをクリックします。[クエリーパラメーター]または[リクエストヘッダー]のいずれかを選択します。HubSpotでAPIキーを使用する方法について詳細をご確認ください。
- HubSpot APIにリクエストを送信する場合は、次のようにします。
- [APIキー]ドロップダウンメニューをクリックし、シークレットを選択します。「シークレット」の値は、Bearer [実際のトークン]の形式でなければなりません。
- APIキー名の値をAuthorizationに設定します。
- 「APIキーの場所」の値をリクエストヘッダーに設定します。
- 認証にAPIキーを使用する場合、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには、次のようにします。
- Webhookヘッダーでリクエスト署名を使用するには、次のようにします。
- 全てのプロパティーを含めるには、[全ての[オブジェクト]プロパティーを含める]を選択します。
- 特定のプロパティーだけを含めるには、次のようにします。
- [リクエスト本文をカスタマイズ]を選択します。
- HubSpotプロパティーを使ってリクエスト本文をカスタマイズするには、キーを入力し、プロパティーを選択します。別のプロパティーを追加するには、[プロパティーを追加]をクリックします。
- 静的フィールドを使ってリクエスト本文をカスタマイズするには、キーと値を入力します。別のプロパティーを追加するには、[静的値を追加]をクリックします。
- プロパティーまたは静的値を削除するには、deleteごみ箱アイコンをクリックします。
- [保存]をクリックします。
注:複数の出力を選択するには、レスポンスがJSONオブジェクトとして構造化されている必要があります。
GETリクエストを設定する
- HubSpotアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- 既存のワークフローを編集するには、ワークフローの名前をクリックします。または、 新しいワークフローを作成します。
- ワークフローエディターで+プラスアイコンをクリックし、アクションを追加します。
- 左側パネルの[データ処理]セクションで、[Webhookを送信]を選択します。
- [メソッド]ドロップダウンメニューをクリックし、[GET]を選択します。
- Webhook URLを入力します。
- Webhook URLは安全なプロトコルに制限されており、HTTPSで始まる必要があります。
- 特定の情報を要求するには、「Webhook URL」に
?queryparameter=abc
のようなクエリーパラメーターを追加できます。 - クエリーパラメーターが追加されなかった場合は、汎用のPOSTリクエストまたはGETリクエストが送信されます。
- Webhookへのリクエストを認証するための認証タイプを設定します。リクエスト署名をWebhookヘッダーで使用するか、APIキーを使用できます。
- Webhookヘッダーでリクエスト署名を使用するには、次のようにします。
- [認証タイプ]ドロップダウンメニューをクリックします。[ヘッダーにリクエスト署名を含める]を選択します。
- 次に、HubSpotアプリIDを入力します。リクエスト署名を確認する方法をご確認ください。
- APIキーまたは開発者アカウントで作成した公開アプリを認証に使用するには、次のようにします。
- 認証にAPIキーを使用する場合、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには、次のようにします。
- [認証タイプ]ドロップダウンメニューをクリックします。[APIキー]を選択します。
- APIキー名を入力します。
- [APIキーの場所]ドロップダウンメニューをクリックします。[クエリーパラメーター]または[リクエストヘッダー]のいずれかを選択します。HubSpotでAPIキーを使用する方法について詳細をご確認ください。
- HubSpot APIにリクエストを送信する場合は、次のようにします。
- [APIキー]ドロップダウンメニューをクリックし、シークレットを選択します。「シークレット」の値は、Bearer [実際のトークン]の形式でなければなりません。
- APIキー名の値をAuthorizationに設定します。
- 「APIキーの場所」の値をリクエストヘッダーに設定します。
- 認証にAPIキーを使用する場合、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには、次のようにします。
- Webhookヘッダーでリクエスト署名を使用するには、次のようにします。
- GETリクエストを設定する場合、HubSpotプロパティーを使用することも、クエリーパラメーターとして静的値を追加することもできます。
- HubSpotプロパティーをクエリーパラメーターとして使用するには、次のようにします。
- [クエリーパラメーター]セクションでキーを入力し、プロパティーを選択します。
- 別のプロパティーを追加するには、[プロパティーを追加]をクリックします。
- プロパティーを削除するには、delete削除アイコンをクリックします。
- 静的値をクエリーパラメーター値として使用するには、次のようにします。
- [クエリーパラメーター]セクションでキーを入力し、値を入力します。
- 別のプロパティーを追加するには、[静的値を追加]をクリックします。
- プロパティーを削除するには、delete削除アイコンをクリックします。
- [保存]をクリックします。
Webhookのレート制限を設定
レート制限を設定して、Webhookアクションを実行する速度を決定します。レート制限は、ワークフロー内の後続の全てのアクションにも影響します。
- HubSpotアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- ワークフローの名前をクリックします。
- ワークフローエディターで、[Webhookを送信]アクションをクリックします。
- 左側のパネルで、[ レート制限を設定]をクリックしてセクションを展開します。
- [ レート制限をオンにする ]スイッチをクリックしてオンに切り替えます。デフォルトでは、この設定はオフになっています。
- レート制限を設定します。
- アクションの実行: 1期間あたりの最大実行回数を設定します。
- 期間: レート制限の期間を設定します。この期間は、[ 秒]、[ 分]、[ 時間]で設定できます。
[日時]に再開されます
HubSpot内でWebhookをテストする
「POST」または「GET」Webhookをセットアップする際に、Webhookレスポンスを確認するためのテストを実行できます。テスト中は第三者へのデータの送信と第三者からのデータの取得が行われますが、HubSpot内の既存のレコードには影響しません。認証にAPIキーを使用している場合、APIキーはいかなるテストリクエストにも表示されません。
Webhookのテスト後に、ワークフローで後から入力として使用するために出力するフィールドを選択できます。全てのレスポンスで使用可能な出力のみを選択してください。出力がその後のアクションで使用されるものの、レスポンスで使用できない場合、そのアクションは失敗します。
- HubSpotアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- ワークフローの名前をクリックします。
- ワークフローエディターで、[Webhookを送信]アクションをクリックします。
- 左側パネルで[テストアクション]をクリックして、このセクションを展開します。
- POSTリクエストをテストする場合、Webhookテストの設定方法は、Webhookアクションで[リクエスト本文をカスタマイズ]または[全ての[オブジェクト]プロパティーを含める]のどちらを選択したかによって異なります。
- [リクエスト本文をカスタマイズ]を選択した場合は、テストで使用するプロパティーのテスト値を入力します。
- [全ての[オブジェクト]プロパティーを含める]を選択した場合は、[[オブジェクト]]ドロップダウンメニューをクリックし、テストで使用するレコードを選択します。
- [テスト]をクリックします。
- Webhookの詳細を確認するには、[レスポンス]タブまたは[リクエスト]タブを選択します。各タブでは、[すべてを開く]をクリックすると全てのセクションが展開され、[全て折りたたむ]をクリックすると全てのセクションが折りたたまれます。
- [レスポンス]タブでは、[headers:]または[body:]をクリックすると、それぞれのセクションが展開されます。
- [リクエスト]タブでは、[httpHeaders:]をクリックすると、そのセクションが展開されます。
外部でWebhookをテストする
Webhookアクションを含むワークフローを作成したら、ダミーのWebhook URLを使用して、簡単なテストを実行できます。
- ブラウザーでhttps://webhook.siteに移動し、一意のURLをコピーします。
- Webhookアクションの [Webhook URL ]フィールドにURLを貼り付けます。
- ワークフローがオンになったら、テストコンタクトを手動で登録できます。
- Webhookを外部でテストすると、次のようになります。
- POSTリクエストを含むWebhookアクションがトリガーされた場合は、コンタクトに関する全ての情報(フォーム送信、リストのメンバーシップ、全てのコンタクトプロパティー値など)を格納したJSONレスポンス本文がWebhookに送信されます。レコードを受け取ったシステムは、そのJSONデータを解析し、システム固有のアプリケーションで使用します。
- GETリクエストを含むWebhookアクションがトリガーされた場合は、追加のクエリーパラメーターが適用されていない限り、汎用のGETリクエストが送信されます。
注:履歴プロパティー値はコンタクトベースのワークフローでのみ返されます。他の全てのワークフロータイプで使用されるWebhookは最新の値のみを返します。
ワークフローWebhookでリクエスト署名を確認する
[Webhookをトリガー]アクションの[認証]セクションで[リクエスト署名]を選択した場合、HubSpotはWebhookのX-HubSpot-Signatureヘッダーに、アプリケーションのアプリシークレット、HTTPメソッド、URI、未解析の本文を連結したSHA-256ハッシュを取り込みます。詳細については、開発者向けドキュメントをご確認ください。
URLで受信したリクエストの送信元がHubSpotであることが検証されるようにするには、次の条件を満たす必要があります。
- 開発者アカウントを所有していること。所有していない場合は、開発者アカウントを登録します。
- アプリを所有していること。所有していない場合は、アプリを作成する方法をご確認ください。
- 署名のハッシュ値を確認します。
Webhookからワークフローをトリガーする
Webhookは、ワークフローをトリガーするために使用できます。サードパーティーアプリでデータが変更された時点で、Webhookでワークフローをトリガーできます。Webhookからワークフローをトリガーする方法について詳細をご確認ください。
データパネルでWebhookデータを使用する
アカウントに接続済みのWebhookからのデータは、データパネルの特定のアクションに使用できます。
接続されたWebhookからのデータを使用するには、次のようにします。
- HubSpotアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- ワークフローの名前をクリックします。
- +プラスアイコンをクリックし、アクションを追加します。
- 左側パネルで、データパネルを使用するアクションを選択します。
- データパネルで、[次の場所からのプロパティーまたはアクション出力を表示]ドロップダウンメニューをクリックし、[Webhookトリガー]を選択します。これで、接続されたWebhookからのプロパティーを使用できるようになります。