HubSpotワークフローでWebhookを使用する
更新日時 2024年 6月 11日
以下の 製品でご利用いただけます(別途記載されている場合を除きます)。
Operations Hub Professional , Enterprise |
ワークフローでWebhookを使用することにより、HubSpotと他の外部ツールの間で情報を送信したり取得したりします。Webhookにはさまざまな用途がありますが、一般的なWebhookの使用例としては次のようなものがあります。
-
HubSpotのコンタクトデータをCRMなどの他のシステムに投稿します。
-
取引データを外部出荷処理システムに送信して注文書を作成する。
- 別のシステムからデータを取得してHubSpotのレコードを更新する。
ワークフローを使用して、POSTとGETの両方のリクエストを送信できます。HubSpotは、Webhookトラフィックを他のワークフロープロセスから切り離して制御します。これは、ワークフローとWebhookのパフォーマンスを向上させるために行います。Webhookが遅い場合やタイムアウトした場合は、ワークフローアクションの実行に予想より長い時間がかかります。
注:HubSpotは、失敗したWebhookについて、失敗の1分後から最大3日間に渡って再試行します。その後の失敗は、徐々に間隔を延ばして再試行されます。再試行の間隔は最大で8時間になります。
このルールの1つの例外は、429レート制限エラーである。ワークフローは、429 応答を受け取った後、自動的に再試行し、Retry-Afterヘッダーが存在すれ ば、それを尊重する。Retry-Afterはミリ秒単位でレコードされる。HubSpotの開発者ドキュメントで、特定のエラーコード例外について確認する。
開発者WebhookドキュメントでWebhookの詳細をご確認ください。HubSpotでのWebhookの具体的な実装についてご不明な点がございましたら、HubSpot開発者フォーラムをご利用ください。
POSTリクエストの設定
- HubSpotのアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- 既存のワークフローを編集するには、ワークフローの名前をクリックします。または、新規ワークフローを作成する。
- ワークフローエディターで、+プラスアイコンをクリックし、アクションを追加します。
- 左パネルのData opsセクションで、Send a Webhookを選択する。
- Methodドロップダウンメニューをクリックし、POSTを選択する。
- WebhookURLを入力します。
- WebhookURLには安全なプロトコルという制限があり、HTTPSで始まる必要があります。
- 特定の情報を要求するには、「Webhook URL」に
?queryparameter=abc
のようなクエリーパラメーターを追加できます。 - クエリーパラメーターが追加されなかった場合は、汎用のPOSTリクエストまたはGETリクエストが送信されます。
- Webhookへのリクエストを認証するための認証タイプを設定します。リクエストシグネチャをWebhookヘッダーで使用するか、APIキーを使用します:
- Webhookヘッダーでリクエスト署名を使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、[ヘッダーにリクエスト署名を含める]を選択します。
- 次に、[HubSpotアプリID]を入力します。リクエスト署名を確認する方法をご確認ください。
- Webhookヘッダーでリクエスト署名を使用するには:
-
- APIキーまたは開発者アカウントで作成した公開アプリを認証に使用する場合:
-
-
- 認証にAPIキーを使用するとき、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、[APIキー]を選択します。
- 認証にAPIキーを使用するとき、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには:
-
-
-
-
- [APIキー名]を入力します。
- [APIキーの場所]ドロップダウンメニューをクリックします。次に、[クエリーパラメーター]または[リクエストヘッダー]のいずれかを選択します。HubSpotでAPIキーを使用する方法について、詳しくはこちらをご覧ください。
- HubSpot APIにリクエストする場合:
- [APIキー]ドロップダウンメニューをクリックし、シークレットを1つ選択します。「シークレット」値は、「Bearer (自分のトークン名)」という形式でなければなりません。
- APIキー名の値を[Authorization]に設定します。
- 「APIキーの場所」の値を[リクエストヘッダー]に設定します。
-
-
- 全てのプロパティーを含めるには、Include all [object] propertiesを選択します。
- 特定のプロパティーだけを含めるには:
- リクエスト本文をカスタマイズを選択する。
- HubSpotプロパティーを使ってリクエスト本文をカスタマイズするには、キーを入力し、プロパティーを選択します。別のプロパティーを追加するには、[プロパティーを追加]をクリックします。
- 静的フィールドを使ってリクエスト本文をカスタマイズするには、キーと値を入力します。プロパティーを追加するには、静的値を追加をクリックする。
-
- プロパティーまたは静的値を削除するには、deleteゴミ箱アイコンをクリックします。
- [保存]をクリックします。
注:複数の出力を選択するには、レスポンスがJSONオブジェクトとして構造化されている必要があります。
GETリクエストの設定
- HubSpotのアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- 既存のワークフローを編集するには、ワークフローの名前をクリックします。または、新規ワークフローを作成する。
- ワークフローエディターで、+プラスアイコンをクリックし、アクションを追加します。
- 左パネルのData opsセクションで、Send a Webhookを選択する。
- Methodドロップダウンメニューをクリックし、GETを選択する。
- WebhookURLを入力します。
- WebhookURLには安全なプロトコルという制限があり、HTTPSで始まる必要があります。
- 特定の情報を要求するには、「Webhook URL」に
?queryparameter=abc
のようなクエリーパラメーターを追加できます。 - クエリーパラメーターが追加されなかった場合は、汎用のPOSTリクエストまたはGETリクエストが送信されます。
- Webhookへのリクエストを認証するための認証タイプを設定します。リクエストシグネチャをWebhookヘッダーで使用するか、APIキーを使用します:
- Webhookヘッダーでリクエスト署名を使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、[ヘッダーにリクエスト署名を含める]を選択します。
- 次に、[HubSpotアプリID]を入力します。リクエスト署名を確認する方法をご確認ください。
- Webhookヘッダーでリクエスト署名を使用するには:
-
- APIキーまたは開発者アカウントで作成した公開アプリを認証に使用する場合:
-
-
- 認証にAPIキーを使用するとき、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには:
- [認証タイプ]ドロップダウンメニューをクリックします。次に、[APIキー]を選択します。
- 認証にAPIキーを使用するとき、使用する「APIキー名」と「APIキーの場所」はWebhookの設定方法に応じて異なります。セキュリティー上の理由から、APIキーはいかなるテストリクエストにも表示されません。APIキーを使用するには:
-
-
-
-
- [APIキー名]を入力します。
- [APIキーの場所]ドロップダウンメニューをクリックします。次に、[クエリーパラメーター]または[リクエストヘッダー]のいずれかを選択します。HubSpotでAPIキーを使用する方法について、詳しくはこちらをご覧ください。
- HubSpot APIにリクエストする場合:
- [APIキー]ドロップダウンメニューをクリックし、シークレットを1つ選択します。「シークレット」値は、「Bearer (自分のトークン名)」という形式でなければなりません。
- APIキー名の値を[Authorization]に設定します。
- 「APIキーの場所」の値を[リクエストヘッダー]に設定します。
-
-
- HubSpotプロパティをクエリーパラメーターとして使用するには:
- [クエリーパラメーター]セクションでキーを入力し、プロパティーを1つ選択します。
- 別のプロパティーを追加するには、[プロパティーを追加]をクリックします。
- プロパティーを削除するには、deleteごみ箱アイコンをクリックします。
- 静的値をクエリーパラメーター値として使用する場合:
- クエリーパラメーターセクションで、キーを入力し、次に値を入力する。
- プロパティーを追加するには、静的値を追加をクリックする。
- プロパティーを削除するには、deleteごみ箱アイコンをクリックします。
- [保存]をクリックします。
HubSpotでWebhookをテストします。
「POST」または「GET」Webhookをセットアップする際に、Webhookレスポンスを確認するためのテストを実行できます。テスト中は第三者へのデータの送信と第三者からのデータの取得が行われますが、HubSpot内の既存のレコードには影響しません。認証にAPIキーを使用している場合、APIキーはいかなるテストリクエストにも表示されません。
Webhookのテスト後に、その後のワークフローで入力として使用するために出力するフィールドを選択できます。全てのレスポンスで使用可能な出力のみを選択します。出力がその後のアクションで使用されるものの、レスポンスで使用できない場合、そのアクションは失敗します。
- HubSpotのアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- ワークフローの名をクリックします。
- ワークフローエディターで、Webhook を送信アクションをクリックします。
- 左パネルで、テストアクションをクリックし、セクションを展開する。
- POSTリクエストをテストする場合は、[object]ドロップダウンメニューをクリックし、テストするレコードを選択します。
- [テスト]をクリックします。
- Webhookの詳細を確認するには、[レスポンス]タブまたは[リクエスト]タブを選択します。各タブでは、[全てを開く]をクリックすると全てのセクションが展開され、[全て折りたたむ]をクリックすると全てのセクションが折りたたまれます。
- [レスポンス]タブでは、[headers:]または[body:]をクリックすると、それぞれのセクションが展開されます。
- [リクエスト]タブでは、[httpHeaders:]をクリックすると、そのセクションが展開されます。
外部でWebhookをテストする
Webhookアクションを含むワークフローを作成したら、ダミーのWebhook URLを使用して、簡単なテストを実行できます。
- ブラウザーでhttps://webhook.siteに移動し、一意のURLをコピーします。
- Webhookアクションの[WebhookURL]フィールドに、コピーした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からのデータを使用する:
- HubSpotのアカウントにて、[自動化]>[ワークフロー]の順に進みます。
- ワークフローの名前をクリックします。
- [+]プラスアイコンをクリックしてアクションを追加します。
- 左パネルで、データパネルを使用するアクションを選択する。
- データパネルで、View properties or action outputs fromドロップダウンメニューをクリックし、Webhook triggerを選択する。その後、接続されたWebhookからプロパティーを使用することができます。