HubSpot Integration

Pro v1.0.0

Access HubSpot CRM data including contacts, companies, deals, and custom objects via the official Python SDK

Requires Claude Code CLI

This skill integrates with HubSpot through Claude Code. Install Claude Code and add this skill to use it.

Available Actions

List Contacts

Retrieve a paginated list of contacts from HubSpot CRM

Parameters

Name Type Required Description
limit integer Optional Maximum number of contacts to return (default: 10)

Returns

array Array of contact objects with id, email, firstname, lastname, created_at

Try saying...

  • "Show me my HubSpot contacts"
  • "List the first 20 contacts from HubSpot"
  • "Get all contacts in my CRM"

Get Contact

Retrieve detailed information about a specific contact by ID

Parameters

Name Type Required Description
contact_id string Required The unique identifier of the contact

Returns

object Contact object with all properties, creation and update timestamps

Try saying...

  • "Get details for HubSpot contact 12345"
  • "Show me contact information for ID 67890"
  • "Fetch contact 12345 from HubSpot"

Create Contact

Create a new contact in HubSpot CRM with email, name, and optional company

Parameters

Name Type Required Description
email string Required Contact's email address
firstname string Required Contact's first name
lastname string Required Contact's last name
company string Optional Company name associated with contact

Returns

object Created contact object with id and properties

Try saying...

  • "Create a HubSpot contact for john.doe@example.com named John Doe"
  • "Add Jane Smith (jane@example.com) to HubSpot"
  • "Create contact john@acme.com at company Acme Corp"

Search Contacts

Search for contacts by name, email, or other text query

Parameters

Name Type Required Description
query string Required Search query (name, email, etc.)

Returns

array Array of matching contacts with id, email, firstname, lastname, phone

Try saying...

  • "Search HubSpot for contacts named Smith"
  • "Find contacts with email containing @acme.com"
  • "Search for John in my contacts"

List Companies

Retrieve a paginated list of companies from HubSpot CRM

Parameters

Name Type Required Description
limit integer Optional Maximum number of companies to return (default: 10)

Returns

array Array of company objects with id, name, domain, created_at

Try saying...

  • "Show me companies in HubSpot"
  • "List all companies in my CRM"
  • "Get the first 50 companies"

Get Company

Retrieve detailed information about a specific company by ID

Parameters

Name Type Required Description
company_id string Required The unique identifier of the company

Returns

object Company object with all properties, creation and update timestamps

Try saying...

  • "Get details for HubSpot company 67890"
  • "Show me company information for ID 11111"
  • "Fetch company 67890 from HubSpot"

Create Company

Create a new company in HubSpot CRM with name and optional domain

Parameters

Name Type Required Description
name string Required Company name
domain string Optional Company website domain

Returns

object Created company object with id and properties

Try saying...

  • "Create a HubSpot company named Acme Corp with domain acme.com"
  • "Add TechStart Inc to HubSpot companies"
  • "Create company Global Industries"

List Deals

Retrieve a paginated list of deals from HubSpot CRM

Parameters

Name Type Required Description
limit integer Optional Maximum number of deals to return (default: 10)

Returns

array Array of deal objects with id, dealname, amount, dealstage, created_at

Try saying...

  • "Show me active deals in HubSpot"
  • "List all deals in my pipeline"
  • "Get the first 25 deals"

Get Deal

Retrieve detailed information about a specific deal by ID

Parameters

Name Type Required Description
deal_id string Required The unique identifier of the deal

Returns

object Deal object with all properties, creation and update timestamps

Try saying...

  • "Get details for HubSpot deal 11111"
  • "Show me deal information for ID 22222"
  • "Fetch deal 11111 from HubSpot"

Getting Started

API Key Easy Setup
  1. 1 Go to HubSpot Settings > Integrations > Private Apps
  2. 2 Click 'Create a private app'
  3. 3 Configure basic info (name, description)
  4. 4 Select required scopes on the Scopes tab
  5. 5 Click 'Create app' and confirm
  6. 6 Click 'Show token' then 'Copy'
  7. 7 Add to shell config: echo 'export HUBSPOT_ACCESS_TOKEN="YOUR_TOKEN"' >> ~/.zshrc
  8. 8 Restart terminal or run: source ~/.zshrc

Verify Setup

python scripts/client.py list-contacts --limit 1

Success: Returns JSON array with contact data

Security & Access

Access Scope

Full access to all HubSpot data based on granted scopes (CRM objects, marketing, sales, service hub)

  • Private app tokens have full access to configured scopes - treat them like passwords
  • Never commit tokens to version control or share them publicly
  • Review and minimize scopes - only grant permissions your integration needs
  • HubSpot sends rotation reminders after 180 days - rotate tokens regularly
  • Tokens are account-specific - each HubSpot account needs its own token
  • If a token is compromised, immediately rotate it in HubSpot settings

Limitations

  • Must be a super admin to create private apps
  • Private apps not available on developer test accounts (use OAuth instead)
  • Access token should be rotated every 180 days
  • Some endpoints may require specific scopes not covered by basic permissions

Get This Skill

Requires Pro subscription ($9/month)

Quick Reference

Type
PYTHON_SDK
Auth
API Key
Setup
Easy Setup
Tools Required
Bash
Python Dependencies
hubspot-api-client

Have Feedback?

Help us improve this skill by sharing your ideas and suggestions.

Request Improvements