こんにちは、CData でエンジニアをしています宮本です。
今回も引き続きHubSpot のカスタムオブジェクトについてです。
前回の記事では、Postman から直接HubSpot のカスタムオブジェクトを作成するAPI を実行してみました。
カスタムオブジェクトの作成自体は頻繁に行うものではないとは思うので、必要な時にPostman で実行してしまえばよかったりもしますが、レコードの追加・更新・削除などが入ってくると、それなりにコードを書いて対応する必要があるとは思います。
CData のドライバーでももちろんカスタムオブジェクトの作成・更新・削除から、レコードの読み書きまで対応しています。
そこで今回はCData Excel Add-Ins を使用して、皆さんおなじみのExcel からHubSpot のカスタムオブジェクトを連携する方法をご紹介していきます。
Excel Add-Ins とは?
普段使っているExcel からSaaS などにアクセスできるExcel 向けのプラグインのようなものです。
Excel Add-In for HubSpot をインストールすることで、HubSpot から取得したデータをそのまま表形式で表示し、データも直接Excel で変更した内容をHubSpot に連携することができます。
https://www.cdata.com/jp/drivers/hubspot/excel/
手順
では、Excel Add-In for HubSpot のインストールからやっていきます。
Excel Add-In for HubSpot のインストール
以下のリンクより評価版のダウンロードを行います。
https://www.cdata.com/jp/drivers/hubspot/download/excel/
※バージョンが上記キャプチャの20.0.7587 の場合、まだカスタムオブジェクトには未対応となってます。カスタムオブジェクト対応版についてはCData サポートチームにご連絡いただければすぐにご提供いたします。
https://www.cdata.com/jp/support/
それではダウンロードしたsetup.exe を実行してインストールを進めていきます。
インストール自体は全て次へで構いません。
インストール後、Excel を起動してみます。
CData というリボンが表示され、HubSpot のアイコンが表示されればインストールが完了です!
HubSpot の接続情報を設定
ここではExcel からHubSpot への接続設定を行っていきますので、編集ボタンをクリックします。
カスタムオブジェクトを作成する場合は、今のところAPIトークンでの認証でしか作成できないようです。
Solved: HubSpot Community - Re: Custom Objects with OAuth2 - HubSpot Community
ということで、今回はAPIKey をつかって認証方法で接続設定を行います。
それでは以下赤枠の内容で設定でしてください。
※APIKey はHubSpot の以下の画面から取得することができます。
カスタムオブジェクトの作成
Excel Add-In をはじめ、CData ドライバーではストアドプロシージャでカスタムオブジェクトを作成するようになっています。
最新のCData HubSpot ドライバーなどのヘルプにも記載がありますが、ストアドプロシージャで設定する必須パラメータは以下の6つです。
パラメータ名 | 内容 |
---|---|
ObjectName | スキーマのオブジェクトタイプの一意の名前 |
ObjectLabelSingular | オブジェクトの単数ラベル。CRM表示で使用 |
ObjectLabelPlural | オブジェクトの複数形ラベル。CRM表示で使用 |
PropertyName | API からプロパティを参照する際に使用する内部プロパティ名 |
PropertyLabel | HubSpotで表示されるプロパティラベル |
PrimaryDisplayProperty | HubSpotレコードページでプライマリとして表示 |
SQL をすぐに実行できるようなツール(DBVisualizer やA5MK2など)であれば、CData HubSpot JDBC ドライバーやODBC ドライバーのインストール後、以下の構文を実行するだけでカスタムオブジェクトを作成することができます。
※Excel だとVBA での実行になります。
少し長いので必須項目だけに絞ったサンプルのストアドプロシージャです。
execute CreateCustomObject /* 必須項目:スキーマのオブジェクトタイプの一意の名前*/ ObjectName='MachinesObject1106' /* 必須項目:オブジェクトの単数ラベル。CRM表示で使用*/ ,ObjectLabelSingular='Machine1106' /* 必須項目:オブジェクトの複数形ラベル。CRM表示で使用*/ ,ObjectLabelPlural='Machines1106' /* 必須項目:API からプロパティを参照する際に使用する内部プロパティ名*/ ,PropertyName#1='NameInternal' ,PropertyName#2='ModelInternal' ,PropertyName#3='OrderDateInternal' ,PropertyName#4='StockInternal' /* 必須項目:HubSpotで表示されるプロパティラベル。*/ ,PropertyLabel#1='Name' ,PropertyLabel#2='Model' ,PropertyLabel#3='OrderDate' ,PropertyLabel#4='Stock' /* 必須項目:このオブジェクトのプライマリプロパティの名前。これは、このオブジェクトタイプのHubSpotレコードページでプライマリとして表示*/ ,PrimaryDisplayProperty='NameInternal'
必須項目以外については、ヘルプドキュメントに記載していますので参照ください。 (インストールディレクトリにあります)
実行後、このようにカスタムオブジェクトが作成されます。
また、前回ご紹介しましたが、Postman でHubSpot のカスタムオブジェクトを作成する場合はこちらをご参照ください。
Postman でHubSpot のカスタムオブジェクトを作成してみた! - CData Software Blog
レコードの取得・追加
ではここからは実際にExcel を使って、カスタムオブジェクトとの双方向でのデータ連携を行ていきます。
Excel のCDATAタブからHubSpot と進んでいき、テーブル一覧から先ほど作成したカスタムオブジェクト名がついたテーブルを選択します。
選択後、自動的にクエリがセットされますので、今回はそのままOK ボタンをクリックしてカスタムオブジェクトのレコードを取得します。
(今回は未登録なので0件ですが)
クエリを実行すると登録件数が0件なので項目名だけが表示されていると思います。
では、カスタムオブジェクトで管理する項目にそれぞれ直接入力します。今回は2件分入力しました。
※先頭のIDと読み取り専用項目はそのまま未入力でOKです。
追加対象の行を選択して行の挿入ボタンをクリックすることでカスタムオブジェクトにレコードが追加されます。
HubSpot をみにいくと、ちゃんとExcel で追加したレコードが入っています。
レコードの更新・削除
更新の場合は追加時と同じように、対象の項目に直接変更内容を入力します。
今回はStock の数をそれぞれ変更しました。
更新方法は、「行の更新」→「すべて更新」or 「行の更新」になりますが、件数も少ないのでそのまますべて更新を行います。
更新後、HubSpot を参照してみると、
それぞれ在庫が更新されているのが確認できました。
レコードの削除
では最後にレコードの削除を行います。
対象の行を選択後、行の削除ボタンをクリックするだけとなります。
HubSpot のほうでもレコードがなくなりました。
おわりに
いかがでしたでしょうか。皆様おなじみのExcel を使いながらも、HubSpot のカスタムオブジェクトと双方向でデータのやりとりを行うことができます。
次回はArcESB というMFT ツールを使った内容でご紹介したいと思っています。