[HubSpot]ワークフローのWebhookを使って、LambdaでチケットIDを取得する
やりたいこと
HubSpotのワークフローでWebhookを発火させて、AWSのLambdaでチケットIDを取得したい
手順
- ワークフローの設定
- Lambda関数の作成
- API Gatewayの設定
- 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のデータを操作することができます。
以上!!!!!!!