Work with HubSpot CRM using best-practice patterns for contacts, deals, companies, pipelines, custom objects, and marketing automation. Use when managing CRM data, building HubSpot workflows, syncing contacts, tracking deals, creating email campaigns, or integrating HubSpot with other systems. Triggers: "hubspot", "CRM", "contacts", "deals", "pipeline", "marketing automation".
How this skill is triggered — by the user, by Claude, or both
Slash command
/business-integrations:hubspot-integrationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interact with HubSpot CRM using modern API patterns. Covers contact management, deal pipelines, companies, email campaigns, custom objects, and webhook automation.
Interact with HubSpot CRM using modern API patterns. Covers contact management, deal pipelines, companies, email campaigns, custom objects, and webhook automation.
Private App Token (recommended):
export HUBSPOT_ACCESS_TOKEN="pat-na1-xxxxx"
OAuth 2.0 (for user-facing apps):
https://app.hubspot.com/oauth/authorizehttps://api.hubapi.com/oauth/v1/tokencrm.objects.contacts.read crm.objects.contacts.writehttps://api.hubapi.com
Search contacts:
curl -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", "phone", "lifecyclestage"]
}'
Create contact:
curl -X POST https://api.hubapi.com/crm/v3/objects/contacts \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"firstname": "Jane",
"lastname": "Doe",
"email": "[email protected]",
"phone": "+1-555-0100",
"lifecyclestage": "lead"
}
}'
Update contact:
curl -X PATCH https://api.hubapi.com/crm/v3/objects/contacts/{contactId} \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"properties": {"lifecyclestage": "customer"}}'
Batch create contacts:
curl -X POST https://api.hubapi.com/crm/v3/objects/contacts/batch/create \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"inputs": [
{"properties": {"email": "[email protected]", "firstname": "Alice"}},
{"properties": {"email": "[email protected]", "firstname": "Bob"}}
]
}'
Create deal:
curl -X POST https://api.hubapi.com/crm/v3/objects/deals \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"dealname": "Hair Solutions Package - Jane Doe",
"amount": "1200",
"dealstage": "appointmentscheduled",
"pipeline": "default",
"closedate": "2026-03-31"
}
}'
Associate deal with contact:
curl -X PUT https://api.hubapi.com/crm/v3/objects/deals/{dealId}/associations/contacts/{contactId}/3 \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN"
Create company:
curl -X POST https://api.hubapi.com/crm/v3/objects/companies \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"properties": {
"name": "ACME Corp",
"domain": "acmecorp.com",
"industry": "HEALTH_BEAUTY_FITNESS",
"numberofemployees": "50"
}
}'
List deal pipelines:
curl https://api.hubapi.com/crm/v3/pipelines/deals \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN"
Send transactional email:
curl -X POST https://api.hubapi.com/marketing/v3/transactional/single-email/send \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"emailId": 12345,
"message": {"to": "[email protected]"},
"contactProperties": {"firstname": "Jane"}
}'
Register webhook to receive real-time events:
curl -X POST https://api.hubapi.com/webhooks/v3/{appId}/subscriptions \
-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"eventType": "contact.creation",
"propertyName": "email",
"active": true
}'
npx claudepluginhub vincent-laroche/hairsolutionsco-ai-toolkit --plugin business-integrationsCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.