mcpField
H
hubspot

hubspot

github.com/openclaudiaマーケティング・グロース722443 回インストール1 日前に更新
リポジトリ

hubspot について

HubSpot API を使って CRM と CMS の作業を自動化する Claude スキルです。連絡先、会社、取引、CMS ページの管理に加え、営業ワークフローの実行を支援します。

主な機能

  1. 01連絡先の管理と検索
  2. 02会社と取引の管理
  3. 03CRM レコードの関連付け
  4. 04担当者とプロパティの確認
  5. 05CMS ページの一覧表示
  6. 06パイプラインと取引の確認

活用シーン

  1. 01CRM レコードの検索や更新
  2. 02連絡先、会社、取引の関連付け
  3. 03取引ステージとパイプライン金額の確認
  4. 04HubSpot のサイトページとランディングページの一覧表示

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openclaudia/openclaudia-skills --skill hubspot

インストール後、Claude Code で/hubspotを入力して読み込まれたか確認します。

詳細

HubSpot CRM および CMS スキル

HubSpot CRM と CMS の自動化エキスパートです。HubSpot API を使用して、コンタクト、会社、取引、担当者、関連付け、プロパティ、CMS ページ、ファイルを管理します。

前提条件

このスキルには HUBSPOT_ACCESS_TOKEN(Private App トークン)が必要です。環境変数または ~/.claude/.env.global を確認してください。見つからない場合は、ユーザーに次のように伝えてください。

This skill requires a HubSpot Private App access token. Set it via:
  export HUBSPOT_ACCESS_TOKEN=your_token_here
Or add it to ~/.claude/.env.global

Create a Private App at: Settings > Integrations > Private Apps
Required scopes: crm.objects.contacts, crm.objects.companies, crm.objects.deals, content

API リファレンス

ベース URL:https://api.hubapi.com 認証ヘッダー:Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN} レート制限:プライベートアプリの場合、10 秒あたり 100 リクエストです。

コンタクト

コンタクトの一覧表示:

curl -s "https://api.hubapi.com/crm/v3/objects/contacts?limit=10&properties=firstname,lastname,email,company,phone" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

コンタクトの検索:

curl -s -X POST "https://api.hubapi.com/crm/v3/objects/contacts/search" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "filterGroups": [{
      "filters": [{
        "propertyName": "email",
        "operator": "CONTAINS_TOKEN",
        "value": "example.com"
      }]
    }],
    "properties": ["firstname", "lastname", "email", "company"],
    "limit": 10
  }'

コンタクトの作成:

curl -s -X POST "https://api.hubapi.com/crm/v3/objects/contacts" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "firstname": "John",
      "lastname": "Doe",
      "email": "[email protected]",
      "company": "Acme Inc",
      "phone": "+1234567890"
    }
  }'

メールアドレスからコンタクトを取得:

curl -s -X POST "https://api.hubapi.com/crm/v3/objects/contacts/search" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "filterGroups": [{
      "filters": [{
        "propertyName": "email",
        "operator": "EQ",
        "value": "[email protected]"
      }]
    }],
    "properties": ["firstname", "lastname", "email", "company", "phone", "lifecyclestage"]
  }'
会社

会社の一覧表示:

curl -s "https://api.hubapi.com/crm/v3/objects/companies?limit=10&properties=name,domain,industry,numberofemployees" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

ドメインで会社を検索:

curl -s -X POST "https://api.hubapi.com/crm/v3/objects/companies/search" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "filterGroups": [{
      "filters": [{
        "propertyName": "domain",
        "operator": "EQ",
        "value": "example.com"
      }]
    }],
    "properties": ["name", "domain", "industry", "numberofemployees", "annualrevenue"]
  }'
取引

取引の作成:

curl -s -X POST "https://api.hubapi.com/crm/v3/objects/deals" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "dealname": "New Enterprise Deal",
      "dealstage": "appointmentscheduled",
      "pipeline": "default",
      "amount": "50000",
      "closedate": "2026-06-30"
    }
  }'

取引の一覧表示:

curl -s "https://api.hubapi.com/crm/v3/objects/deals?limit=10&properties=dealname,dealstage,amount,closedate,pipeline" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

取引ステージの更新:

curl -s -X PATCH "https://api.hubapi.com/crm/v3/objects/deals/{dealId}" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"properties": {"dealstage": "closedwon"}}'
担当者

担当者(営業担当者)の一覧表示:

curl -s "https://api.hubapi.com/crm/v3/owners/" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
関連付け

コンタクトを会社または取引に関連付けます。

# Associate deal with contact (type 3)
curl -s -X PUT "https://api.hubapi.com/crm/v3/objects/deals/{dealId}/associations/contacts/{contactId}/3" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

# Associate deal with company (type 5)
curl -s -X PUT "https://api.hubapi.com/crm/v3/objects/deals/{dealId}/associations/companies/{companyId}/5" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

# Associate contact with company (type 1)
curl -s -X PUT "https://api.hubapi.com/crm/v3/objects/contacts/{contactId}/associations/companies/{companyId}/1" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

取引に関連付けられたコンタクトを取得:

curl -s "https://api.hubapi.com/crm/v3/objects/deals/{dealId}/associations/contacts" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
プロパティ

すべてのコンタクトプロパティを一覧表示:

curl -s "https://api.hubapi.com/crm/v3/properties/contacts" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
CMS ページ

サイトページの一覧表示:

curl -s "https://api.hubapi.com/cms/v3/pages/site-pages?limit=10" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

ランディングページの一覧表示:

curl -s "https://api.hubapi.com/cms/v3/pages/landing-pages?limit=10" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
検索演算子
演算子説明
EQ等しい
NEQ等しくない
LT / LTEより小さい/以下
GT / GTEより大きい/以上
CONTAINS_TOKEN単語を含む
NOT_CONTAINS_TOKEN単語を含まない
HAS_PROPERTYプロパティが存在する
NOT_HAS_PROPERTYプロパティが存在しない
ページネーション

すべての一覧取得エンドポイントは、after パラメーターによるページネーションに対応しています。

curl -s "https://api.hubapi.com/crm/v3/objects/contacts?limit=100&after={next_cursor}" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"

after の値は、レスポンス内の paging.next.after から取得します。

一般的なワークフロー

パイプラインレポート
  1. dealstage、amount、closedate を指定して、すべての取引を一覧表示します
  2. ステージごとにグループ化します
  3. ステージごとに金額を合計します
  4. パイプラインの概要を表にまとめて提示します
コンタクト情報の補完
  1. 重要なプロパティが設定されていないコンタクト(NOT_HAS_PROPERTY)を検索します
  2. 各コンタクトについて、会社のドメインが存在するか確認します
  3. 会社のデータを取得し、コンタクトを更新します
取引の健全性チェック
  1. アクティブなステージにある取引を一覧表示します
  2. 14 日以上アクティビティのない取引にフラグを付けます
  3. 予定されたクローズ日を過ぎた取引にフラグを付けます
  4. 優先順位を付けたアクションリストを提示します

重要な注意事項

  • 大規模なデータセットでは、必ずページネーションを使用してください。デフォルトの上限は 10、最大は 100 です。
  • HubSpot のプロパティ名は小文字で、スペースは使用しません(例:firstname、dealstage、closedate)。
  • 取引ステージはパイプラインによって異なります。必要に応じて、Pipelines API でパイプラインのステージを一覧表示してください。
  • レート制限は 10 秒あたり 100 リクエストです。可能な場合は、バッチ操作を使用してください。

コメント