概要
HubSpotツールはHubSpot CRM APIと連携し、ワークフローからコンタクトを管理します。どちらのツールもメールアドレスをキーにするため、Search API(レート制限あり)を経由せずにレコードを照合できます。主な機能
HUBSPOT_UPSERT_CONTACT- コンタクトを作成します。同じメールアドレスのコンタクトが既にある場合は更新します。カスタムプロパティにも対応しています。
HUBSPOT_GET_CONTACT- オブジェクトIDまたはメールアドレスでコンタクトを取得します。該当するコンタクトがない場合はエラーにせず
found: falseを返します。
- オブジェクトIDまたはメールアドレスでコンタクトを取得します。該当するコンタクトがない場合はエラーにせず
認証
設定手順についてはHubSpot認証情報ページをご確認ください。例: コンタクトを検索してから作成・更新する
入力パラメータ
HUBSPOT_UPSERT_CONTACT
名前付きパラメータを空にした場合は送信されません。HubSpot は空文字を「プロパティをクリア」と解釈するため、クリアは
properties から明示的に指定してください({"firstname": null})。キーが重複した場合、名前付きパラメータが properties より優先されます。properties.email に email パラメータと異なる値を指定するとエラーになります(大文字小文字の違いのみは同一として扱います)。
出力は result.id / result.created / result.properties と、生のレスポンス result.contact です。
HUBSPOT_GET_CONTACT
出力は
result.found / result.id / result.properties / result.associations と、生のレスポンス result.contact です。
備考
- 該当なしはエラーではない:
HUBSPOT_GET_CONTACTはコンタクトが見つからない場合にresult.found = falseを返します。「検索して、なければ作成する」を通常の条件分岐ステップとして組めます。 - 同時書き込みは後勝ち: HubSpotのCRM APIには楽観的ロックの仕組みがないため、更新が重なるとプロパティ単位で後勝ちになります。実行が重なりうる状況で「スコアを読んで加算して書き戻す」といった処理に
HUBSPOT_UPSERT_CONTACTを使わないでください(HubSpotの計算プロパティを利用してください)。 - アーカイブ済みコンタクト: HubSpotのゴミ箱にあるコンタクトはメールアドレスを予約したままのため、そのアドレスへのupsertは成功しません。ゴミ箱から復元するか、別のアドレスを使用してください。
- タイムアウト: すべてのリクエストに30秒のタイムアウトが設定されており、レート制限や一時的なサーバーエラーには自動でリトライします。