HubSpot
Interact with HubSpot CRM directly via the HubSpot API (api.hubapi.com).
Setup (one-time)
- In HubSpot: Settings → Integrations → Private Apps → Create a private app
- Give it scopes:
crm.objects.contacts.read,crm.objects.contacts.write,crm.objects.companies.read,crm.objects.companies.write,crm.objects.deals.read,crm.objects.deals.write,tickets - Copy the access token
- Set environment variable:
HUBSPOT_TOKEN=pat-na1-...
Queries
Search contacts
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py search contacts --query "john"
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py search contacts --email "john@example.com"
List contacts
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py list contacts --limit 20
Get a specific object
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py get contacts 12345
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py get companies 67890
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py get deals 11111
List companies
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py list companies --limit 20
Search companies
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py search companies --query "Acme"
List deals
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py list deals --limit 20
Search deals
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py search deals --query "enterprise"
List tickets
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py list tickets --limit 20
Create a contact
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py create contacts --email "new@example.com" --firstname "Jane" --lastname "Doe"
Create a company
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py create companies --name "Acme Corp" --domain "acme.com"
Create a deal
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py create deals --dealname "Enterprise Plan" --amount 50000 --pipeline default --dealstage appointmentscheduled
Update an object
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py update contacts 12345 --email "new@example.com" --phone "+1234567890"
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py update deals 11111 --dealstage closedwon --amount 75000
Associate objects
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py associate contacts 12345 companies 67890
List pipelines
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py pipelines deals
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py pipelines tickets
List owners
python3 /mnt/skills/user/hubspot/scripts/hubspot_query.py owners