HubSpotのレコードを更新する
この記事では、AUTORO で HubSpot のレコードを更新する方法を紹介します。
- HubSpotUpdateRecord アクションでレコードを1件更新する
- HubSpotSearchRecords アクションで取得した情報を利用してレコードを1件更新する
- 繰り返しで1件ずつレコードを更新する
※本記事の紹介内容を実装するためには、事前に HubSpot との連携設定を済ませておく必要があります。連携設定の方法はこちらをご参照ください。
・HubSpot と連携
1. HubSpotUpdateRecord アクション
HubSpotUpdateRecord アクション(HubSpotのレコードを更新する)で更新可能なレコードは、1件のレコードのみとなります。
この章では1件のレコードを更新する方法を紹介します。
なお、この章では、アクション設定に必要な情報を手動で確認する方法を紹介しています。
実際の運用では、次の章で紹介する手順をおすすめいたします。
ここでは、「会社」オブジェクトの「会社名」「都道府県/地域」を更新してみます。
- 「会社名(name)」を『株式会社九州ソリューションズ』へ更新
- 「都道府県/地域(state)」を『沖縄県』へ更新
HubSpotUpdateRecordでのレコード更新の際、以下情報が必要になります。
2.HubSpotSearchRecordsアクションと組み合わせてレコードを更新する
HubSpotUpdateRecord アクションを使用するために、あらかじめ各種IDを調査しワークフローに固定値として設定しておくことは、手間がかかり、柔軟な運用ができません。
HubSpotSearchRecords アクション(HubSpotのレコードを検索する)と組み合わせると、アクションで取得したIDを利用してHubSpotUpdateRecord アクションを設定できます。
ここでは、以下手順でレコードを更新してみます。
- 「会社」オブジェクトで、「会社名」が『東北ソリューションズ株式会社』を検索
- 対象レコードの「会社名」「都道府県/地域」を更新
・ 「会社名(name)」を『株式会社九州ソリューションズ』へ更新
・ 「都道府県/地域(state)」を『沖縄県』へ更新
なお、複数のレコードを更新する場合は、繰り返し処理でHubSpotUpdateRecord アクションを使用する必要があります。
この方法は次の章で紹介します。
「会社」オブジェクトで、「会社名」が『東北ソリューションズ株式会社』を検索します。
- HubSpotSearchRecords を設置します。
- 「プロバイダーID」に、コネクションを設定します。
- 「オブジェクトタイプ」に、
companiesを設定します。 - 「フィルター」に、検索条件をオブジェクト形式で設定します。
[{"value":"東北ソリューションズ株式会社","propertyName":"name","operator":"EQ"}]
HubSpotSearchRecords の検索結果はリスト形式になりますので、まずリストから1行目(1番目の要素)を取得します。
- GetItemFromList アクション(リストから要素を取得)を設置します。
- 「リスト」に、HubSpotSearchRecords のアウトプットを設定します。
- 「インデックス」に、
0(リストの1番目の要素)を設定します。
取得した要素を、変数に保存します。ここでは、変数名を output とします。
- StoreValue アクション(変数に保存)を設置します。
- 「変数名」に、
outputを設定します。 - 「値」に、GetItemFromList のアウトプットを設定します。
取得した情報を利用して、HubSpot のレコードを更新します。
- HubSpotUpdateRecord を設置します。
- 「レコード」に、オブジェクト形式で更新対象レコードを設定します。
{"id":"${output['id']}","providerId":"${output['providerId']}","objectType":"companies"} - 「更新するプロパティ」に、プロパティ内部名「name」「state」と、更新する値をオブジェクト形式で設定します。
{"name":"株式会社九州ソリューションズ","state":"沖縄県"}
# HubSpotのレコードを検索する
+hub_spot_search_records_1:
action>: HubSpotSearchRecords
display_name>: 'HubSpotのレコードを検索する'
providerId: ''
objectType: companies
filters: [{"value":"東北ソリューションズ株式会社","propertyName":"name","operator":"EQ"}]
properties: []
order: ASCENDING
limit: 10
private: false
meta:
display:
action:
disabled: false
# リストから要素を取得
+get_item_from_list_1:
action>: GetItemFromList
display_name>: 'リストから要素を取得'
list: +hub_spot_search_records_1
index: '0'
private: false
meta:
action:
disabled: false
# 変数に保存
+store_value_1:
action>: StoreValue
display_name>: '変数に保存'
key: output
value: +get_item_from_list_1
setIfNotDefined: false
private: false
meta:
action:
disabled: false
# HubSpotのレコードを更新する
+hub_spot_update_record_1:
action>: HubSpotUpdateRecord
display_name>: 'HubSpotのレコードを更新する'
record:
id: ${output['id']}
providerId: ${output['providerId']}
objectType: companies
properties:
name: '株式会社九州ソリューションズ'
state: '沖縄県'
private: false
meta:
action:
disabled: false
3.繰り返しでレコードを更新する
スプレッドシートなどであらかじめ用意された情報を元に、複数のレコードを更新することも可能です。
ここでは、スプレッドシートにまとめられた更新情報を元に、HubSpot の「会社」オブジェクトの複数レコードを更新する例を紹介します。
forEach の中に HubSpotSearchRecords と HubSpotUpdateRecord を設置し、繰り返し処理で1件ずつレコードを更新します。
まず、「会社」オブジェクトで、シートから取得した「会社名」を検索します。
- HubSpotSearchRecords を設置します。
- 「プロバイダーID」に、コネクションを設定します。
- 「オブジェクトタイプ」に、
companiesを設定します。 - 「フィルター」に、検索条件をオブジェクト形式で設定します。
[{"value":"${recordRow[0]}","propertyName":"name","operator":"EQ"}]※スプレッドシートの1列目の値 ${recordRow[0]}
検索結果のリストから、1番目の要素のみを取得します。
- GetItemFromList アクション(リストから要素を取得)を設置します。
- 「リスト」に、HubSpotSearchRecords のアウトプットを設定します。
- 「インデックス」に、
0(リストの1番目の要素)を設定します。
取得した要素を、変数に保存します。ここでは、変数名を output とします。
- StoreValue アクション(変数に保存)を設置します。
- 「変数名」に、
outputを設定します。 - 「値」に、GetItemFromList のアウトプットを設定します。
取得した情報を利用して、HubSpot のレコードを更新します。
- HubSpotUpdateRecord を設置します。
- 「レコード」に、オブジェクト形式で更新対象レコードを設定します。
{"id":"${output['id']}","providerId":"${output['providerId']}","objectType":"companies"} - 「更新するプロパティ」に、プロパティ内部名「zip」「description」と更新する値をオブジェクト形式で設定します。
{"zip":"${recordRow[1]}","description":"${recordRow[2]}"}※スプレッドシートの2列目の値 ${recordRow[1]}
※スプレッドシートの3列目の値 ${recordRow[2]}
# 既存のスプレッドシートを取得
+get_spreadsheet_1:
action>: GetSpreadsheet
display_name>: '既存のスプレッドシートを取得'
provider: ''
spreadsheet_id: ''
private: false
meta:
display:
action:
disabled: false
# セルの値を取得
+get_cells_1:
action>: GetCells
display_name>: 'セルの値を取得'
spreadsheet: +get_spreadsheet_1
range: 'シート1!A2:C'
findAll: false
private: false
meta:
action:
disabled: false
# 各要素について繰り返す
+for_each_1:
for_each>:
recordRow: +get_cells_1
private: false
display_name>: '各要素について繰り返す'
meta:
action:
disabled: false
_do:
# HubSpotのレコードを検索する
+hub_spot_search_records_1:
action>: HubSpotSearchRecords
display_name>: 'HubSpotのレコードを検索する'
providerId: ''
objectType: companies
filters: [{"value":"${recordRow[0]}","propertyName":"name","operator":"EQ"}]
properties: []
order: ASCENDING
limit: 10
private: false
meta:
display:
action:
disabled: false
# リストから要素を取得
+get_item_from_list_1:
action>: GetItemFromList
display_name>: 'リストから要素を取得'
list: +hub_spot_search_records_1
index: '0'
private: false
meta:
action:
disabled: false
# 変数に保存
+store_value_1:
action>: StoreValue
display_name>: '変数に保存'
key: output
value: +get_item_from_list_1
setIfNotDefined: false
private: false
meta:
action:
disabled: false
# HubSpotのレコードを更新する
+hub_spot_update_record_1:
action>: HubSpotUpdateRecord
display_name>: 'HubSpotのレコードを更新する'
record:
id: ${output['id']}
providerId: ${output['providerId']}
objectType: companies
properties:
zip: ${recordRow[1]}
description: ${recordRow[2]}
private: false
meta:
action:
disabled: false



















