> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocket.new/llms.txt
> Use this file to discover all available pages before exploring further.

# HubSpot

> Connect HubSpot to your Rocket.new app and sync contacts, manage deals, track leads, and automate CRM workflows with a single prompt.

export const LlmsDirective = () => <blockquote className="llms-directive">
    For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
    For a lightweight markdown version of this page, append .md to the URL.
  </blockquote>;

<LlmsDirective />

Connect HubSpot and describe the CRM flow you want in chat. Rocket generates the complete integration: contact creation, deal pipeline management, email event tracking, and marketing automation triggers, all grounded in your actual HubSpot configuration.

<Note>
  This connector is only available for **Next.js TypeScript** web build tasks.
</Note>

<Divider />

## What you can do

<CardGroup cols={2}>
  <Card title="Contact management" icon="address-book">
    Create, read, update, and delete contacts from your app. Sync lead forms directly into your HubSpot CRM.
  </Card>

  <Card title="Deal pipeline" icon="filter">
    Build pipeline views, move deals between stages, and manage your sales funnel from within your app.
  </Card>

  <Card title="Email event tracking" icon="envelope-open">
    Track email opens, clicks, and bounces from your app and surface that data in dashboards or contact timelines.
  </Card>

  <Card title="Marketing automation" icon="bolt">
    Trigger HubSpot workflows and sequences from user actions in your app, such as form submissions or sign-ups.
  </Card>
</CardGroup>

<Divider />

## Before you connect

You need a **Private App access token** from HubSpot. Private App tokens are scoped to the specific permissions you grant and do not expire unless rotated or revoked.

<Card icon="link" horizontal href="https://app.hubspot.com/private-apps" arrow="true">
  **Create or manage Private Apps in your HubSpot account**
</Card>

**How to create a Private App token:**

<Steps>
  <Step title="Open Private Apps settings">
    In HubSpot, go to **Settings → Integrations → Private Apps**.
  </Step>

  <Step title="Create a private app">
    Click **Create a private app**.
  </Step>

  <Step title="Name your app">
    Give it a name (e.g., "Rocket Integration").
  </Step>

  <Step title="Grant scopes">
    Under **Scopes**, grant the permissions your app needs. Common scopes:

    | Scope                        | Purpose                    |
    | :--------------------------- | :------------------------- |
    | `crm.objects.contacts.read`  | Read contacts              |
    | `crm.objects.contacts.write` | Create and update contacts |
    | `crm.objects.deals.read`     | Read deals                 |
    | `crm.objects.deals.write`    | Create and update deals    |
    | `crm.objects.companies.read` | Read companies             |
  </Step>

  <Step title="Create and copy token">
    Click **Create app** and copy the generated token. Tokens start with `pat-`.
  </Step>
</Steps>

<Warning>
  Never paste your HubSpot token directly into chat. Always use the secure connection popup. If your token has been exposed, rotate it immediately from **Settings → Private Apps**.
</Warning>

<Divider />

## Connect HubSpot

<Tabs>
  <Tab title="Web Browser">
    You can connect from two places - both open the same popup.

    **Option 1: From chat**

    Type a prompt that mentions HubSpot - for example, `Connect HubSpot and add a contact form that syncs leads`. Rocket detects the intent and shows a **Connect** button inline. Click it and the popup opens.

    <Frame caption="HubSpot connection prompt in chat">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-chat-light.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=c896069a9be6bf33736767c8adf2ec80" alt="HubSpot connection prompt in the Rocket chat panel." className="theme-image light-image" width="2880" height="1800" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-chat-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-chat-dark.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=7917aba6166c80d0dee81f2a1d8bc46b" alt="HubSpot connection prompt in the Rocket chat panel." className="theme-image dark-image" width="2880" height="1800" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-chat-dark.webp" />
    </Frame>

    **Option 2: From the Connectors tab**

    Click the **`...`** button in the preview toolbar, then select **Connectors**.

    <Frame caption="Open Connectors from the toolbar">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/Pv1xS2a1Y3tpMudK/images/build-docs/connectors/shared/connectors-tab-open-light.webp?fit=max&auto=format&n=Pv1xS2a1Y3tpMudK&q=85&s=70d644dfa794512e73aaf96a8bacd4d2" alt="Toolbar dropdown with Connectors option highlighted." className="theme-image light-image" width="2880" height="1624" data-path="images/build-docs/connectors/shared/connectors-tab-open-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/Pv1xS2a1Y3tpMudK/images/build-docs/connectors/shared/connectors-tab-open-dark.webp?fit=max&auto=format&n=Pv1xS2a1Y3tpMudK&q=85&s=e52b6a00d3e5fac491555adefaa3fc74" alt="Toolbar dropdown with Connectors option highlighted." className="theme-image dark-image" width="2880" height="1624" data-path="images/build-docs/connectors/shared/connectors-tab-open-dark.webp" />
    </Frame>

    Click the **HubSpot** card, then click **Connect**.

    <Frame caption="HubSpot card in the Connectors panel">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-connectors-tab-light.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=1d647af5a56f8fb6fb6865c91027cf28" alt="Connectors tab showing the HubSpot card with a Connect button." className="theme-image light-image" width="1650" height="446" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-connectors-tab-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-connectors-tab-dark.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=0de04277234f5392a0483805ea74f9b5" alt="Connectors tab showing the HubSpot card with a Connect button." className="theme-image dark-image" width="1652" height="442" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-connectors-tab-dark.webp" />
    </Frame>

    **After clicking Connect**

    A popup opens. Paste your **Private App access token** (starts with `pat-`), then click **Save**. A green dot appears next to HubSpot when the connection is active.

    <Frame caption="Paste your HubSpot token in the popup">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-popup-light.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=615b9fd39e35d6f4cecc8a19d2749f77" alt="HubSpot access token input popup." className="theme-image light-image" width="844" height="510" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-popup-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-popup-dark.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=e5ae48f0ee6bc284432a8060f7d5298e" alt="HubSpot access token input popup." className="theme-image dark-image" width="844" height="510" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-popup-dark.webp" />
    </Frame>

    **Update or disconnect**

    Go to [**Connectors > HubSpot**](#connect-hubspot). Update your token or click **Disconnect** to remove the integration.

    <Frame caption="Disconnect HubSpot">
      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-disconnect-light.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=83318917f94bd28592e1c8460662e977" alt="HubSpot integration showing connected state with a Disconnect button." className="theme-image light-image" width="1652" height="439" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-disconnect-light.webp" />

      <img src="https://mintcdn.com/dhiwisepvtltd-5e04e6a4/UF1KhjE6bKw7FYCQ/images/build-docs/connectors/hubspot/web-browser/hubspot-disconnect-dark.webp?fit=max&auto=format&n=UF1KhjE6bKw7FYCQ&q=85&s=3e943907d2d2e653636f32b38e46df31" alt="HubSpot integration showing connected state with a Disconnect button." className="theme-image dark-image" width="1655" height="439" data-path="images/build-docs/connectors/hubspot/web-browser/hubspot-disconnect-dark.webp" />
    </Frame>
  </Tab>

  <Tab title="Mobile App">
    You can connect from two places - both open the same popup.

    **Option 1: From chat**

    Type a prompt that mentions HubSpot. Rocket detects the intent, shows a **Connect** button, and the popup opens when you tap it.

    **Option 2: From the Connectors tab**

    <Steps>
      <Step title="Open More menu">
        Tap the **More** button in the header.
      </Step>

      <Step title="Open Integrations">
        Tap **Integrations**.
      </Step>

      <Step title="Connect HubSpot">
        Tap the **HubSpot** card, then tap **Connect**.
      </Step>
    </Steps>

    **After tapping Connect**

    A popup opens. Paste your **Private App access token**, then tap **Done**. A green dot appears next to HubSpot when the connection is active.

    **Update or disconnect**

    Go to **Integrations > HubSpot**. Update your token or tap **Disconnect** to remove the integration.
  </Tab>
</Tabs>

<Divider />

## Example prompts

| Use case           | Prompt                                                                                                           |
| ------------------ | ---------------------------------------------------------------------------------------------------------------- |
| Lead capture form  | `Add a contact form that creates a new HubSpot contact on submission with name, email, and company fields.`      |
| Deal pipeline view | `Build a Kanban board showing my HubSpot deals grouped by pipeline stage with drag-to-move functionality.`       |
| Contact list       | `Add a Contacts page that lists all HubSpot contacts with search, filter by lifecycle stage, and a detail view.` |
| CRM dashboard      | `Create a CRM dashboard showing total contacts, open deals, deals by stage, and recent activity from HubSpot.`   |
| Signup → CRM sync  | `When a user signs up, automatically create a HubSpot contact and set their lifecycle stage to Lead.`            |
| Deal creation      | `Add a Create Deal form that pushes a new deal to HubSpot with name, amount, stage, and associated contact.`     |

<Divider />

## Tips

* **Grant only the scopes you need.** Overly broad HubSpot Private App tokens are a security risk. Scope tokens to the specific objects your app reads and writes.
* **Tokens do not expire automatically.** Rotate your token periodically from **Settings → Private Apps** as a security best practice.
* **HubSpot tools are powered by Composio MCP.** Rocket uses Composio under the hood to execute HubSpot API calls. You do not need to configure Composio separately.
* **Test with a sandbox.** Use a HubSpot sandbox or developer account during development to avoid polluting production CRM data.
* **One token per task.** Each Rocket task connects to a single HubSpot Private App token. Use the same token across tasks if they target the same HubSpot account.

<Divider />

## What's next?

<CardGroup cols={2}>
  <Card title="Supabase" icon="database" href="./supabase">
    Store user sessions and app data alongside your HubSpot CRM data.
  </Card>

  <Card title="Resend" icon="envelope" href="./resend">
    Send transactional emails to contacts after CRM events like deal closes or form submissions.
  </Card>

  <Card title="Typeform" icon="square-check" href="./typeform">
    Capture leads with Typeform and sync them directly to HubSpot contacts.
  </Card>

  <Card title="Google Analytics" icon="chart-line" href="./google-analytics">
    Track funnel conversion alongside CRM data for full-funnel attribution.
  </Card>
</CardGroup>
