Manage HubSpot CRM contacts, companies, deals, and CMS content via API.

MITAuto-check: notesSales & Support

Install Hubspot

skills CLI
$ npx skills add OpenClaudia/openclaudia-skills --skill hubspot -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenClaudia/openclaudia-skills hubspot --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenClaudia/openclaudia-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hubspot .claude/skills/hubspot && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
hubspot
GitHub stars
713
Token cost
~1.8k tokens
SKILL.md length
323 words
Files
1
Skills in repo
74
Repo updated
First seen
Licence
MIT

At a glance

Manage HubSpot CRM contacts, companies, deals, and CMS content via API.

  • Works in 4 steps: List all deals with dealstage, amount,… → Group by stage → Sum amounts per stage → …
  • The user says add contact to HubSpot
  • SKILL.md covers Prerequisites, API Reference, Common Workflows and Important Notes
  • Calls curl; reaches api.hubapi.com; needs HUBSPOT_ACCESS_TOKEN and CONTAINS_TOKEN

What it does

Hubspot is an agent skill from OpenClaudia/openclaudia-skills. Manage HubSpot CRM contacts, companies, deals, and CMS content via API. Use when the user says "add contact to HubSpot", "create deal", "search CRM", "HubSpot contacts", "update deal stage", "CRM report", "HubSpot pages", or asks about managing their sales pipeline, CRM data, or HubSpot content.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Sales & Support, covering CRM management. It works with HubSpot. The repository describes itself as: 77 open-source marketing skills for Claude Code, Codex, and other AI coding agents. SEO, content, email, ads, analytics, and growth. The licence is MIT.

When your agent uses it

  • The user says add contact to HubSpot
  • HubSpot contacts
  • Update deal stage
  • Asks about managing their sales pipeline

Example prompts

  • “add contact to HubSpot”
  • “create deal”
  • “search CRM”
  • “/hubspot”

Requirements

  • A credential in HUBSPOT_ACCESS_TOKEN
  • A credential in CONTAINS_TOKEN

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. List all deals with dealstage, amount, closedate
  2. Group by stage
  3. Sum amounts per stage
  4. Present as pipeline summary table

What it can do on your machine

Read from SKILL.md and the folder at commit 28bf209. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.hubapi.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • HUBSPOT_ACCESS_TOKEN
    • CONTAINS_TOKEN
    • NOT_CONTAINS_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Hubspot loads about 1.8k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 323 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:12
    t in environment variables or `~/.claude/.env.global`. If not found, inform the user:
  • NoteMentions a .env fileSKILL.md:17
    Or add it to ~/.claude/.env.global

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from OpenClaudia/openclaudia-skills at commit 28bf209, republished under its MIT licence (© OpenClaudia). 323 words, ~1,849 tokens.

Download SKILL.mdSave it as .claude/skills/hubspot/SKILL.md (or your agent's skills folder).
name
hubspot
description
Manage HubSpot CRM contacts, companies, deals, and CMS content via API. Use when the user says "add contact to HubSpot", "create deal", "search CRM", "HubSpot contacts", "update deal stage", "CRM report", "HubSpot pages", or asks about managing their sales pipeline, CRM data, or HubSpot content.

HubSpot CRM & CMS Skill

You are a HubSpot CRM and CMS automation expert. Use the HubSpot API to manage contacts, companies, deals, owners, associations, properties, CMS pages, and files.

Prerequisites

This skill requires HUBSPOT_ACCESS_TOKEN (Private App token). Check for it in environment variables or ~/.claude/.env.global. If not found, inform the user:

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 Reference

Base URL: https://api.hubapi.com Auth header: Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN} Rate limit: 100 requests per 10 seconds for private apps.

Contacts

List contacts:

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

Search contacts:

bash
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
  }'

Create contact:

bash
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": "john@example.com",
      "company": "Acme Inc",
      "phone": "+1234567890"
    }
  }'

Get contact by email:

bash
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": "john@example.com"
      }]
    }],
    "properties": ["firstname", "lastname", "email", "company", "phone", "lifecyclestage"]
  }'
Companies

List companies:

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

Search companies by domain:

bash
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"]
  }'
Deals

Create deal:

bash
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"
    }
  }'

List deals:

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

Update deal stage:

bash
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"}}'
Owners

List owners (sales reps):

bash
curl -s "https://api.hubapi.com/crm/v3/owners/" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
Associations

Associate contacts with companies or deals:

bash
# 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}"

Get associated contacts for a deal:

bash
curl -s "https://api.hubapi.com/crm/v3/objects/deals/{dealId}/associations/contacts" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
Properties

List all contact properties:

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

List site pages:

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

List landing pages:

bash
curl -s "https://api.hubapi.com/cms/v3/pages/landing-pages?limit=10" \
  -H "Authorization: Bearer ${HUBSPOT_ACCESS_TOKEN}"
Search Operators
OperatorDescription
EQEqual to
NEQNot equal to
LT / LTELess than / Less than or equal
GT / GTEGreater than / Greater than or equal
CONTAINS_TOKENContains word
NOT_CONTAINS_TOKENDoes not contain word
HAS_PROPERTYProperty exists
NOT_HAS_PROPERTYProperty does not exist
Pagination

All list endpoints support pagination via the after parameter:

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

The after value comes from paging.next.after in the response.

Common Workflows

Pipeline Report
  1. List all deals with dealstage, amount, closedate
  2. Group by stage
  3. Sum amounts per stage
  4. Present as pipeline summary table
Contact Enrichment
  1. Search contacts missing key properties (NOT_HAS_PROPERTY)
  2. For each, check if company domain exists
  3. Pull company data and update contact
Deal Health Check
  1. List deals in active stages
  2. Flag deals with no activity in 14+ days
  3. Flag deals past expected close date
  4. Present prioritized action list

Important Notes

  • Always use pagination for large datasets. Default limit is 10, max is 100.
  • HubSpot property names are lowercase with no spaces (e.g., firstname, dealstage, closedate).
  • Deal stages vary by pipeline. List pipeline stages via the Pipelines API if needed.
  • Rate limit: 100 requests per 10 seconds. Batch operations when possible.

© OpenClaudia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/hubspot of OpenClaudia/openclaudia-skills.

Open the folder on GitHubat commit 28bf209

Compare with similar skills

Hubspot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Hubspot compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Hubspot this skillOpenClaudia/openclaudia-skills713—~1.8kAutomated safety check: NotesMIT
Google Maps Exportgmapsscraper/google-maps-agent-skills132—~1.2kAutomated safety check: PassMIT
Lost Deal Revival AgentOthmane-Khadri/YALC-the-GTM-operating-system317—~3kAutomated safety check: PassMIT
Aai Hubspotaai-labs/agent-barn109—~223Automated safety check: PassApache-2.0
Hubspotrefly-ai/refly-skills204—~491Automated safety check: PassNone
Attribution Modelindranilbanerjee/digital-marketing-pro8591 repos~2.4kAutomated safety check: PassMIT

Similar skills

  • Google Maps Export

    gmapsscraper/google-maps-agent-skills

    Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).

    132 GitHub stars~1.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed
  • Lost Deal Revival Agent

    Othmane-Khadri/YALC-the-GTM-operating-system

    Drafts revival messages for closed-lost deals when a public company signal contradicts the original objection.

    317 GitHub stars~3k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Aai Hubspot

    aai-labs/agent-barn

    Use aai-cli to inspect HubSpot CRM records, files, events, conversations, visitor identification, and custom channels.

    109 GitHub stars~223 tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • Hubspot

    refly-ai/refly-skills

    Integrate with HubSpot for CRM management. An agent skill from refly-ai/refly-skills.

    204 GitHub stars~491 tokensUpdated 2 mo ago
    Sales & SupportAuto-check passed
  • Attribution Model

    indranilbanerjee/digital-marketing-pro

    Design a multi-touch attribution strategy — recommends the best-fit model for the business's sales cycle and data maturity, defines credit-distribution rules and lookback windows, maps…

    859 GitHub starsUsed in 1 repo~2.4k tokens
    Sales & SupportAuto-check passed
  • Churn Risk

    indranilbanerjee/digital-marketing-pro

    Score customer segments for churn risk from behavioral signals — email engagement decline, purchase recency, usage drops, support sentiment — producing a 0-100 risk scorecard with four tiers…

    859 GitHub starsUsed in 1 repo~2.4k tokens
    Sales & SupportAuto-check passed

More from OpenClaudia/openclaudia-skills

All 74 skills in this repo
  • Competitor Traffic Report

    OpenClaudia/openclaudia-skills

    Build an interactive competitive-traffic report for any company and its rivals — monthly visits (SimilarWeb), organic search traffic and Domain Rating (Ahrefs) — as one self-contained HTML page with…

    713 GitHub stars~1.2k tokensUpdated 21 days ago
    Auto-check passed
  • Geo Difficulty

    OpenClaudia/openclaudia-skills

    Score how hard a keyword is to rank for in the AI-search era — page-level URL Rating of real competitors (not just domain DR), Ahrefs keyword difficulty, and whether a given site already ranks or is…

    713 GitHub stars~694 tokensUpdated 21 days ago
    Auto-check passed
  • Gsc Portfolio Audit

    OpenClaudia/openclaudia-skills

    Audit EVERY Google Search Console property at once — rank all sites by clicks and impressions with period-over-period deltas, then diff keywords per site to surface what is newly ranking, rising…

    713 GitHub stars~1k tokensUpdated 21 days ago
    Auto-check passed
  • Similarweb Traffic

    OpenClaudia/openclaudia-skills

    Fetch website traffic estimates (monthly visits, traffic sources, top countries, keywords, engagement, ranks) for any domain from SimilarWeb.

    713 GitHub stars~882 tokensUpdated 21 days ago
    Auto-check passed
  • Ahrefs Python

    OpenClaudia/openclaudia-skills

    Manages Ahrefs API usage in Python using ahrefs-python library.

    713 GitHub stars~1.9k tokensUpdated 21 days ago
    Auto-check passed
  • Ab Test Setup

    OpenClaudia/openclaudia-skills

    Design, plan, and analyze A/B tests with statistical rigor. An agent skill from OpenClaudia/openclaudia-skills.

    713 GitHub stars~1.7k tokensUpdated 21 days ago
    Auto-check passed

Works with

Categories

Questions about Hubspot

What does Hubspot do?

Manage HubSpot CRM contacts, companies, deals, and CMS content via API. Hubspot is an agent skill from OpenClaudia/openclaudia-skills. Manage HubSpot CRM contacts, companies, deals, and CMS content via API.

When should I use Hubspot?

Hubspot fits situations like: the user says add contact to HubSpot; hubSpot contacts; update deal stage; asks about managing their sales pipeline.

How do I install Hubspot in Claude Code?

Run `npx skills add OpenClaudia/openclaudia-skills --skill hubspot -a claude-code`. Or copy the skill folder (skills/hubspot in OpenClaudia/openclaudia-skills) into .claude/skills/hubspot in your project. Claude Code loads it when a task matches its description.

How do I install Hubspot in Codex?

Run `npx skills add OpenClaudia/openclaudia-skills --skill hubspot -a codex`. Or copy the skill folder (skills/hubspot in OpenClaudia/openclaudia-skills) into .agents/skills/hubspot in your project. Codex loads it when a task matches its description.

Can I use Hubspot in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenClaudia/openclaudia-skills --skill hubspot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hubspot, .gemini/skills/hubspot, .github/skills/hubspot and .opencode/skills/hubspot in your project.

What does Hubspot need to run?

Going by SKILL.md and its folder, Hubspot needs the command-line tools its instructions call (curl) and credentials named HUBSPOT_ACCESS_TOKEN, CONTAINS_TOKEN and NOT_CONTAINS_TOKEN. Our summary lists: A credential in HUBSPOT_ACCESS_TOKEN; A credential in CONTAINS_TOKEN.

Does Hubspot access the network?

SKILL.md names 1 domain. In commands or code: api.hubapi.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Hubspot safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Hubspot use?

Hubspot is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Hubspot use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Hubspot?

Skills that share tags, products or a category with Hubspot: Google Maps Export (gmapsscraper/google-maps-agent-skills, 132 stars), Lost Deal Revival Agent (Othmane-Khadri/YALC-the-GTM-operating-system, 317 stars), Aai Hubspot (aai-labs/agent-barn, 109 stars) and Hubspot (refly-ai/refly-skills, 204 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Hubspot?

OpenClaudia (a GitHub organization) maintains it in OpenClaudia/openclaudia-skills, which has 713 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on September 18, 2026.

Source: OpenClaudia/openclaudia-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.