---
title: "How do I connect HubSpot?"
description: "TL;DR: Connect HubSpot to Ballet primarily via the MCP / OAuth connector so playbooks can read and write CRM records. Use webhooks when HubSpot events should start a playbook."
canonical_url: "https://docs.ballet.dev/articles/how-do-i-connect-hubspot-4m9cExv8K8"
md_url: "https://docs.ballet.dev/articles/how-do-i-connect-hubspot-4m9cExv8K8.md"
---
# How do I connect HubSpot?

TL;DR: Connect HubSpot to Ballet primarily via the MCP / OAuth connector so playbooks can read and write CRM records. Use webhooks when HubSpot events should start a playbook.

Back to: [How do I connect CRM and support tools?](/articles/how-do-i-connect-crm-and-support-tools-5h3LJzY5x8)

> **Status:** Draft outline for customer handoff. HubSpot is primarily an MCP/OAuth connector in Ballet (not a built-in inbound webhook provider like Zendesk).

## Patterns

## Outline: MCP / OAuth connector

1. In Ballet, open **Connectors → Browse registry** and select **HubSpot**.
2. Complete OAuth sign-in (create a HubSpot private app / OAuth app if your org requires Client ID and Client Secret before provider sign-in).
3. Confirm scopes cover the CRM objects your playbook needs (contacts, companies, deals, etc.).
4. Store any extra tokens in [Secrets](/articles/how-do-i-store-credentials-with-secrets-1D8OUcCo0n) if used by custom HTTP steps.

See: [How do I connect an MCP server?](/articles/how-do-i-connect-an-mcp-server-RtBQhNBIoy) and [What is a connector and how do I browse the registry?](/articles/what-is-a-connector-and-how-do-i-browse-the-registry-6PxIdsLTWe)

## Outline: starting a playbook from HubSpot

1. Prefer a Ballet Webhook trigger with a generic/custom provider if HubSpot posts outbound webhooks to your playbook URL.
2. Or start from a RevOps recipe that expects a CRM webhook payload.

See: [How do I trigger and react to playbooks with webhooks?](/articles/how-do-i-trigger-and-react-to-playbooks-with-webhooks-DYv9XyeU51)
