質問&ディスカッション

zenichiro
メンバー

APIを使った外部ツールとの連携について

解決

HubSpot初心者です。初投稿になりますが宜しくお願い致します。

 

現在弊社ではHubSpotを用いて以下の2つを検討しております。

 

①kintone上にある議事録情報をHubspotのミーティングログへ移行(非同期・1回のみ)させる機能開発

【やりたいこと】
kintone上にある議事録情報をHubspotのミーティングログへ移行
【背景】
kintoneから本ツールへの移行に際し、顧客の定性情報はCSVで移管させていただきました。しかし、議事録に当たるミーティングログはAPIのみで移管可能ということで該当のHubSupot APIがないか探しておりました。
<現在で来ていること>
・kintoneの議事録情報をjson形式でデータ抽出する
・OAuthを用いてHubSpotのAPI認証は取れている

【調査したこと】

こちらのAPIdocsを拝見させていただく限り 

 

/crm/v3/objects/meetings/{meetingId}/associations/{toObjectType}/{toObjectId}/{associationType}

 

を用いれば出来そうと思ったのですが、meetingId及びassociationTypeの特定方法が不明でした。
【知りたいこと】

・meetingId及びassociationTypeの特定方法 or

・やりたいことに対する実現可能手段

【その他】

このミーティングログは「会社」に対してリレーションをもたせようとしております。

 

②Hubspotでミーティングログをcreate→Slackの特定チャンネルに自動投稿される機能開発
【やりたいこと】

HubSpotでミーティングログを追加→Slackの特定チャンネルに自動投稿される
【調査したこと】

過去スレにもあるワークフローを用いたやり方だと「投稿がありました」という通知が飛ぶだけで投稿内容そのものはslackに展開されないようでした。
【知りたいこと】

webhookを用いたやりたいことの実現方法

 

 

雑多な質問となってしまいますが、ご回答お願いできれば幸いです。どうぞ宜しくお願い致します。

0 いいね!
1件の承認済みベストアンサー
KMurota
解決策
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

APIを使った外部ツールとの連携について

解決

@zenichiro 

①について

  1. POST/crm/v3/objects/meetings
    こちらでミーティングオブジェクトをCreateします。
    MeetingオブジェクトとそのIDが生成されます。
  2. 会社オブジェクトに関連付けさせます

 

/crm/v3/objects/meetings/{meetingId}/associations/{toObjectType}/{toObjectId}/{associationType}​

こちらか、古いバージョンの
https://legacydocs.hubspot.com/docs/methods/engagements/associate_engagement
またはより新しいバージョンのこちら
https://developers.hubspot.com/docs/api/crm/associations
でも可能です。より簡単に感じる方でよいと思います。
この際、meetingIdはできたてほやほやのものを使用し、toObjectTypeとそのidはcompany及びそのidになります。なので関連付けさせたい会社のIDを事前に議事録と同行データに持っておくことをお勧めします。いちいちSearchをすると、4秒に1回の検索APIレートリミットに引っかかるかもしれません。
ちなみにコンタクトはメアドが被り判定ですが、会社はドメイン被りで重複判定になります。

associationTypeはmeeting_to_companyになると思います。sは要らなかったと思います。
_to_で繋げます。

 

②について

Engagement群のイベントに対してのサブスクリプションは残念ながら用意されていません。
やり方としては、

  1. 定期的にmeetingのリストをfetchして、前回読み込んだよりも新しいものがないかの確認
    ちなみにAPI連携プラットフォームのMake(Integromat)にちょうどそういったモジュールがあります。
    KMurota_0-1661432664325.png

     

  2. Opsの上位プランであればワークフローからWebhookを飛ばしたり、JSまたはPythonコードが実行できますので、カスタマイズされたSlackメッセージが送れます。
  3. Zoomリンクが生成されるのであれば、そちらでWebhookを設定するのも一手なので下記の流れはいかがでしょうか?
    1. Meeting終了イベント from Zoom
    2. ホストにJotFormを送信(コンタクトや会社のIDはprefillテクで隠しフィールドに埋めておく)
    3. 議事録を提出
    4. フォーム送信をトリガーにMeetingオブジェクト作成&Slack通知

つまり、直接議事録の書き込みをさせないことになりますが、フォームで書き込み意思を検知することによって、それと同時にあれこれやりたいことをやる、という作戦になります。

ご参考になれば幸いです。

元の投稿で解決策を見る

3件の返信
KMurota
解決策
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

APIを使った外部ツールとの連携について

解決

@zenichiro 

①について

  1. POST/crm/v3/objects/meetings
    こちらでミーティングオブジェクトをCreateします。
    MeetingオブジェクトとそのIDが生成されます。
  2. 会社オブジェクトに関連付けさせます

 

/crm/v3/objects/meetings/{meetingId}/associations/{toObjectType}/{toObjectId}/{associationType}​

こちらか、古いバージョンの
https://legacydocs.hubspot.com/docs/methods/engagements/associate_engagement
またはより新しいバージョンのこちら
https://developers.hubspot.com/docs/api/crm/associations
でも可能です。より簡単に感じる方でよいと思います。
この際、meetingIdはできたてほやほやのものを使用し、toObjectTypeとそのidはcompany及びそのidになります。なので関連付けさせたい会社のIDを事前に議事録と同行データに持っておくことをお勧めします。いちいちSearchをすると、4秒に1回の検索APIレートリミットに引っかかるかもしれません。
ちなみにコンタクトはメアドが被り判定ですが、会社はドメイン被りで重複判定になります。

associationTypeはmeeting_to_companyになると思います。sは要らなかったと思います。
_to_で繋げます。

 

②について

Engagement群のイベントに対してのサブスクリプションは残念ながら用意されていません。
やり方としては、

  1. 定期的にmeetingのリストをfetchして、前回読み込んだよりも新しいものがないかの確認
    ちなみにAPI連携プラットフォームのMake(Integromat)にちょうどそういったモジュールがあります。
    KMurota_0-1661432664325.png

     

  2. Opsの上位プランであればワークフローからWebhookを飛ばしたり、JSまたはPythonコードが実行できますので、カスタマイズされたSlackメッセージが送れます。
  3. Zoomリンクが生成されるのであれば、そちらでWebhookを設定するのも一手なので下記の流れはいかがでしょうか?
    1. Meeting終了イベント from Zoom
    2. ホストにJotFormを送信(コンタクトや会社のIDはprefillテクで隠しフィールドに埋めておく)
    3. 議事録を提出
    4. フォーム送信をトリガーにMeetingオブジェクト作成&Slack通知

つまり、直接議事録の書き込みをさせないことになりますが、フォームで書き込み意思を検知することによって、それと同時にあれこれやりたいことをやる、という作戦になります。

ご参考になれば幸いです。

zenichiro
メンバー

APIを使った外部ツールとの連携について

解決

@KMurota さま

ご丁寧にレスいただき深謝致します。大変わかりやすくて助かりました。


①について

APIの不明点だった部分が明らかになりました。
kintoneの議事録を格納しているテーブルにHubSpotのcompanyIdを手動で突っ込んでおく必要がありそうですが、なんとか実装に進めそうです。

②について

複数の手段提示ありがとうございます。プラン的に2.以外の手段を取りたいと思っています。開発コストと相談しながら実装を試みます。

 

HubSpotに移管してから間もないため不慣れな点も多いですが、引き続きどうぞ宜しくお願い致します。

0 いいね!
KMurota
トップ投稿者 | Solutions Partner
トップ投稿者 | Solutions Partner

APIを使った外部ツールとの連携について

解決

@zenichiro 
もしかして
engagement_to_companyかもしれません。
2、3パターン試していただいて、上手くいかなければ問い合わせてみるとよいと思います。サポートさん素晴らしく、テクニカルな点についても回答いただけます。

Make(Integromat)については弊社で有料プランが一ヶ月無料になるリファラルコードを持っていますので、ご興味ございましたらお声がけください。

0 いいね!