skills/hubspot/SKILL.md
Manage HubSpot contacts, companies, deals and pipelines via CRM API
npx skillsauth add alanalvestech/hitank hubspotInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Connect to HubSpot CRM to manage contacts, companies, deals, pipelines and more. Pure Ruby, zero gems — stdlib only.
scripts/
├── auth.rb # Bearer token auth + hubspot_request helper (required by all scripts)
├── check_setup.rb # Check if token exists (outputs OK or SETUP_NEEDED)
├── save_token.rb # Save and validate a private app token
├── contacts.rb # List contacts
├── contact.rb # Get contact details
├── create_contact.rb # Create a contact
├── update_contact.rb # Update a contact
├── companies.rb # List companies
├── company.rb # Get company details
├── deals.rb # List deals
├── deal.rb # Get deal details
├── create_deal.rb # Create a deal
├── search.rb # Search CRM objects (contacts, companies, deals, tickets)
├── pipelines.rb # List pipelines and stages
├── owners.rb # List owners
└── notes.rb # List notes for a contact, company or deal
ruby ~/.claude/skills/hubspot/scripts/check_setup.rb
If the output is OK, proceed to the Flow section.
If the output is SETUP_NEEDED, guide the user step by step. Present ONE step at a time, wait for the user to confirm before moving to the next.
Step 1 — Ask the user to create a private app token:
You need a HubSpot private app access token.
- Go to Settings > Integrations > Private Apps in your HubSpot account
- Or open: https://app.hubspot.com/private-apps/
- Click Create a private app, give it a name (e.g. "hitank")
- Under Scopes, select:
crm.objects.contacts.read,crm.objects.contacts.write,crm.objects.companies.read,crm.objects.companies.write,crm.objects.deals.read,crm.objects.deals.write,crm.objects.owners.read- Click Create app and copy the access token
Paste the token here.
Step 2 — When the user pastes the token, save it:
ruby ~/.claude/skills/hubspot/scripts/save_token.rb 'PASTED_TOKEN'
If the script outputs an error, the token is invalid. Ask the user to double-check and try again.
If setup is not complete, DO NOT proceed to the Flow. Complete all steps first.
The argument $ARGUMENTS may contain a contact name, company or deal reference.
Start by listing contacts, companies or deals based on what the user needs:
ruby ~/.claude/skills/hubspot/scripts/contacts.rb
ruby ~/.claude/skills/hubspot/scripts/companies.rb
ruby ~/.claude/skills/hubspot/scripts/deals.rb
If $ARGUMENTS contains a name or keyword, search for it:
ruby ~/.claude/skills/hubspot/scripts/search.rb contacts "search query"
ruby ~/.claude/skills/hubspot/scripts/contact.rb CONTACT_ID
ruby ~/.claude/skills/hubspot/scripts/company.rb COMPANY_ID
ruby ~/.claude/skills/hubspot/scripts/deal.rb DEAL_ID
Search CRM objects:
ruby ~/.claude/skills/hubspot/scripts/search.rb contacts "john"
ruby ~/.claude/skills/hubspot/scripts/search.rb companies "acme"
ruby ~/.claude/skills/hubspot/scripts/search.rb deals "enterprise"
Create a contact (requires user confirmation):
ruby ~/.claude/skills/hubspot/scripts/create_contact.rb "[email protected]" --firstname John --lastname Doe --company "Acme"
Update a contact (requires user confirmation):
ruby ~/.claude/skills/hubspot/scripts/update_contact.rb CONTACT_ID '{"phone":"+5511999999999","company":"Acme"}'
Create a deal (requires user confirmation):
ruby ~/.claude/skills/hubspot/scripts/create_deal.rb "Deal Name" --stage appointmentscheduled --amount 5000 --closedate 2026-12-31
List pipelines and stages:
ruby ~/.claude/skills/hubspot/scripts/pipelines.rb
ruby ~/.claude/skills/hubspot/scripts/pipelines.rb tickets
List owners:
ruby ~/.claude/skills/hubspot/scripts/owners.rb
List notes:
ruby ~/.claude/skills/hubspot/scripts/notes.rb contacts CONTACT_ID
ruby ~/.claude/skills/hubspot/scripts/notes.rb deals DEAL_ID
Pagination — use --after CURSOR to paginate through results:
ruby ~/.claude/skills/hubspot/scripts/contacts.rb --limit 20 --after CURSOR_VALUE
~/.config/hubspot/token (outside the repo, never commit)https://api.hubapi.comdevelopment
Manage Zendesk tickets, users, organizations and knowledge base via REST API
development
Post and manage tweets on X (formerly Twitter) via API v2
development
Manage Vercel projects, deployments, domains and environment variables via API
development
Manage Twilio SMS, calls, phone numbers and usage via REST API