HubSpot
HubSpot コネクタを使用すると、HubSpot データセットに対して挿入、削除、更新、読み取りの各オペレーションを実行できます。
サポート対象のバージョン
このコネクタは、次の HubSpot API バージョンをサポートしています。
- HubSpot
- HubSpotV3
- HubSpotV4
始める前に
HubSpot コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
コネクタをサポートしているリージョンは次のとおりです。
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [HubSpot] を選択します。
- Connector version: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- イベント サブスクリプションをサポートするコネクタの場合、接続名の先頭に接頭辞「goog」は使用できません。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- イベント サブスクリプションの接続を使用するには、[イベント サブスクリプションを有効にする] を選択します。これを選択すると、次のオプションが表示されます。
- エンティティとアクションを使用したイベント サブスクリプションを有効にする: このオプションを選択すると、イベント サブスクリプションとコネクタ オペレーション(エンティティとアクション)の両方に対して接続が使用されます。
- イベント サブスクリプションのみを有効にする: イベント サブスクリプションに対してのみ接続を使用するには、このオプションを選択します。このオプションを選択した場合は、[次へ] をクリックして、イベント サブスクリプションを構成します。
- スキーマ: 使用する HubSpot API のバージョンを指定します。HubSpotV4 が新しい API です。
- BrowsableSchemas: このプロパティは、利用可能なスキーマのサブセットに報告されるスキーマを制限します。例: BrowsableSchemas=SchemaA,SchemaB,SchemaC。
-
Contact プロパティ:
List
エンティティ オペレーションから選択するContacts
エンティティのカンマ区切りフィールド名を入力します。例:fieldA, fieldB, fieldC
-
Company プロパティ:
List
エンティティ オペレーションから選択するCompanies
エンティティのカンマ区切りフィールド名を入力します。例:fieldA, fieldB, fieldC
-
Deals プロパティ:
List
エンティティ オペレーションから選択するDeals
エンティティのカンマ区切りフィールド名を入力します。例:fieldA, fieldB, fieldC
- Use proxy: 接続用のプロキシ サーバーを構成するために、このチェックボックスを選択します。
- Proxy Auth Scheme: ProxyServer プロキシへの認証に使用する認証タイプ。
- Proxy User: ProxyServer プロキシへの認証に使用されるユーザー名。
- Proxy Password: ProxyServer プロキシの認証に使用されるパスワード。
- Proxy SSL Type: ProxyServer プロキシへの接続時に使用する SSL タイプ。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [次へ] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先タイプ: 宛先の詳細は、ホストアドレスまたはサービス アタッチメントとして指定できます。次のいずれかの宛先タイプを選択します。
- ホストアドレス: 宛先のホスト名または IP アドレスを指定する場合。
- サービス アタッチメント: 内部 IP アドレスのプライベート エンドポイントを指定する場合。サービス アタッチメントを使用すると、外部ネットワークから内部 IP アドレスを非表示にできます。Private Service Connect 機能を使用して、Google Cloud でサービス アタッチメントを作成できます。Private Service Connect の構成については、マネージド サービスを公開するをご覧ください。
選択した宛先タイプに基づいて、ホストアドレスまたはサービス アタッチメント名を入力します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [次へ] をクリックします。
- 宛先タイプ: 宛先の詳細は、ホストアドレスまたはサービス アタッチメントとして指定できます。次のいずれかの宛先タイプを選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
HubSpot 接続でサポートされる認証タイプは次のとおりです。
- 限定公開アプリ アクセス トークン: 限定公開アプリ アクセス トークンを含む Secret Manager の Secret を選択します。
限定公開アプリを使用すると、HubSpot の API を使用して、HubSpot アカウントの特定のデータにアクセスできます。 各限定公開アプリがアカウントでリクエストまたは変更できる対象を承認することができ、これにより、限定公開アプリに固有のアクセス トークンが生成されます。限定公開アプリで、少なくとも次のスコープの読み取り権限が指定されていることを確認してください。
- crm.schemas.line_items.read
- crm.schemas.quotes.read
- crm.schemas.deals.read
- crm.schemas.companies.read
- crm.schemas.custom.read
- crm.schemas.contacts.read
詳細については、限定公開アプリをご覧ください。
- 限定公開アプリ アクセス トークン: 限定公開アプリ アクセス トークンを含む Secret Manager の Secret を選択します。
- [次へ] をクリックします。
- [認証タイプ] を選択し、関連する詳細を入力します。
-
イベント サブスクリプションを有効にしている場合は、接続作成ページに [イベント サブスクリプションの詳細] セクションが表示されます。[イベント サブスクリプションの詳細] ステップで、HubSpot トークン ペイロードの検証に使用される認証の詳細を入力します。
- クライアント シークレット:(省略可)限定公開アプリのクライアント シークレットの Secret Manager シークレットと、[シークレット バージョン] プルダウンから対応するシークレット バージョンを選択します。
- バックエンド アプリケーションと接続間を安全に接続するには、[プライベート接続を有効にする] を選択します。このオプションを選択した場合は、接続の作成後に追加の構成手順を実行する必要があります。詳細については、イベント サブスクリプションのプライベート接続をご覧ください。
- デッドレター構成を入力します。デッドレターを構成すると、指定された Pub/Sub トピックに未処理のイベントが書き込まれます。次の詳細情報を入力します。
- デッドレター プロジェクト ID: デッドレター Pub/Sub トピックを構成した Google Cloud プロジェクト ID。
- デッドレター トピック: 未処理イベントの詳細を書き込む Pub/Sub トピック。
- [次へ] をクリックします。
詳細については、限定公開アプリをご覧ください。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがどのエンティティ オペレーションもサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
既知の問題
- 一部のエンティティの更新オペレーションでは、更新が成功しても空のレスポンスが返されます。このような場合は、HubSpot インスタンスで更新を確認することをおすすめします。
- HubSpot では、次のエンティティに対して多数のカスタム フィールドが存在する場合があります。
- 連絡先
- 会社
- ディール
これらのエンティティの場合、
List
エンティティ オペレーションですべてのフィールドを一度に選択すると、HubSpot コネクタがエラーを返すことがあります。List
オペレーションのカスタム フィールドの数を制限する場合は、HubSpot コネクタの構成で必要なフィールド名(カンマ区切りの値として)を指定します。たとえば、Contacts
エンティティのフィールドを制限するには、コネクタ構成のContacts Properties
フィールドに必須フィールド名を指定します。同様に、Companies
エンティティでは、Companies Properties
フィールドに必須フィールド名を指定し、Deals
エンティティには、Deals Properties
フィールドに必須フィールド名を指定します。フィールドは、接続の作成ステップで指定できます。ただし、既存の接続がある場合は、接続を編集して必須フィールドを指定する必要があります。
- 結果セットが非常に大きい場合、接続タイムアウトにより
List
オペレーションが失敗することがあります。このようなシナリオでは、List オペレーションの フィルタ句を指定すると、結果セットを制限できます。
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべての連絡先を一覧表示する
この例では、Contacts
エンティティ内のすべてのレコードを一覧表示します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からContacts
を選択します。- [
LIST
] オペレーションを選択してから、[完了] をクリックします。
例 - 取引レコードを取得する
この例では、Deals
エンティティから ID が 45
のレコードを取得します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からDeals
を選択します。- [
GET
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [entityId] をクリックし、[デフォルト値] フィールドに
45
を入力します。ここで、
45
はDeals
エンティティの主キー値です。
例 - チケットを作成する
この例では、Ticket
エンティティにチケットを作成します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からTickets
を選択します。- [
Create
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Name": "Test735362767", "Label": "Test735362767", "Type": "String", "FieldType": "Insert ticket1", "GroupName": "ticketinformation", "Description": "Test ticket" }
統合に成功すると、コネクタタスクの
connectorOutputPayload
フィールドの値は次のようになります。{ "Name": "Test1695971640609" }
例 - 取引のエントリを更新する
この例では、Contacts
エンティティ内の ID が 97 のレコードを更新します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からDeals
を選択します。- [
Update
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、
connectorInputPayload
をクリックし、Default Value
フィールドに次のような値を入力します。{ "Description": "New description" }
- [entityId] をクリックし、[デフォルト値] フィールドに「
97
」と入力します。[entityId] を指定する代わりに、[filterClause] を
97
に設定することもできます。
例 - フォームを削除する
この例では、Forms
エンティティ内の ID が 78 のレコードを削除します。
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
からForms
を選択します。- [
Delete
] オペレーションを選択してから、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで [entityId] をクリックし、[デフォルト値] フィールドに「
78
」と入力します。
Terraform を使用して接続を作成する
Terraform リソースを使用して、新しい接続を作成できます。Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
接続作成用の Terraform テンプレートのサンプルを表示するには、サンプル テンプレートをご覧ください。
Terraform を使用してこの接続を作成する場合は、Terraform 構成ファイルで次の変数を設定する必要があります。
パラメータ名 | データ型 | 必須 | 説明 |
---|---|---|---|
schema | ENUM | True | 使用する HubSpot API のバージョンを指定します。HubSpotV4 が新しい API です。サポートされている値は、HubSpot、HubSpotV3、HubSpotV4 です。 |
browsable_schemas | STRING | False | このプロパティは、利用可能なスキーマのサブセットに報告されるスキーマを制限します。例: BrowsableSchemas=SchemaA,SchemaB,SchemaC。 |
contacts_columns | STRING | False | HubSpot の Contacts エンティティから選択するプロパティのカンマ区切りのリスト。 |
companies_columns | STRING | False | Companies エンティティの HubSpot から選択するプロパティのカンマ区切りのリスト。 |
deals_columns | STRING | False | HubSpot の Deals エンティティから選択するプロパティのカンマ区切りのリスト。 |
proxy_enabled | BOOLEAN | False | 接続用のプロキシ サーバーを構成するには、このチェックボックスをオンにします。 |
proxy_auth_scheme | ENUM | False | ProxyServer プロキシへの認証に使用する認証タイプです。サポートされている値は、BASIC、DIGEST、NONE です。 |
proxy_user | STRING | False | ProxyServer プロキシへの認証に使用されるユーザー名です。 |
proxy_password | SECRET | False | ProxyServer プロキシの認証に使用されるパスワード。 |
proxy_ssltype | ENUM | False | ProxyServer プロキシへの接続時に使用する SSL のタイプです。サポートされている値は AUTO、ALWAYS、NEVER、TUNNEL です。 |
統合で HubSpot 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。