[HubSpot]ワークフローのWebhookを使って、LambdaでチケットIDを取得する

やりたいこと

HubSpotのワークフローでWebhookを発火させて、AWSのLambdaでチケットIDを取得したい

 

手順

  1. ワークフローの設定
  2. Lambda関数の作成
  3. API Gatewayの設定
  4. Webhookにエンドポイントの設定

実装

1 ワークフローの設定

HubSpotでワークフローを設定します。

以下が例として作成されたワークフローになります。

今回は、チケットのカテゴリーが設定されたタイミングをトリガーとしたのですが、このトリガーは任意のもので大丈夫です。

ポイントはアクションに「Webhookをトリガー」を設定していることです。

アクションの設定で必須となっているWebhook URLは後ほど設定するので一旦そのままにします。

 

2 Lambda関数の作成

AWSでLamnda関数を作成します。

その際に、WebhookでPOSTされたデータを受け取ります。

以下はPythonの例になります。

body_data = event['body']
# jsonに変換
body_data = json.loads(body_data)
ticket_id = body_data['objectId']

eventでPOSTのデータを受け取り、展開をしてチケットIDを受け取ることができます。

 

3 API Gatewayの設定

LambdaのトリガーとしてAPI Gatewayを設定します。

 

4 Webhookにエンドポイントの設定

手順1で作成したワークフローのアクションに手順3で作成したAPI Gatewayのエンドポイントを設定します。

これでワークフローが動くたびに、Lambda関数が発火され、チケットIDを扱うことができます。

ここから、HubSpot APIを使用してHubSpotのデータを操作することができます。

 

以上!!!!!!!