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

# HubSpot

> Connect HubSpot with Callers to sync contacts, log activities, and automate follow‑ups in your CRM.

<Note>
  All HubSpot integration actions are sent from the following IP addresses:

  ```copy theme={null}
  35.245.204.86
  35.221.61.75
  ```

  If your systems are behind a firewall, whitelist these IP addresses to ensure action requests are delivered.
</Note>

### Connecting HubSpot to Callers

<Steps>
  <Step title="Open App Center and select HubSpot">
    * Click **Connect**

    <Frame caption="Select HubSpot and click Connect">
      <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-appcenter.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=d55d06aae7876582e3455d12e1383e87" alt="hubspot connect" style={{borderRadius: '10px'}} width="896" height="598" data-path="images/documentation/integrations/hubspot-appcenter.png" />
    </Frame>
  </Step>

  <Step title="Authorize in HubSpot">
    * Sign in to your HubSpot account and grant access

    <Frame caption="Authorize Callers in HubSpot">
      <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-account.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=64b24c3d16b00e3644a73a19910cfa02" alt="hubspot authorize" style={{borderRadius: '10px'}} width="1224" height="1797" data-path="images/documentation/integrations/hubspot-account.png" />
    </Frame>
  </Step>

  <Step title="Select your HubSpot account">
    * Choose the account to connect

    <Frame caption="Choose HubSpot account">
      <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-choose-acc.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=6f99a7c52f0d99dc2b0a65ebb0666c8c" alt="hubspot choose account" style={{borderRadius: '10px'}} width="1221" height="1795" data-path="images/documentation/integrations/hubspot-choose-acc.png" />
    </Frame>
  </Step>

  <Step title="Finish and verify">
    * Return to Callers and ensure the connection shows as **Connected**
  </Step>
</Steps>

***

## Available Actions

<br />

<AccordionGroup>
  <Accordion title="Core CRM (Contacts, Companies)" icon="address-book">
    * Create Contact
    * Update Contact
    * Create or Update Contact (Upsert)
    * Get Contact
    * Find Contact
    * Create Company
    * Update Company
    * Get Company
    * Find Company
  </Accordion>

  <Accordion title="Sales (Deals, Line Items, Products)" icon="handshake">
    * Create Deal
    * Update Deal
    * Get Deal
    * Find Deal
    * Create Line Item
    * Update Line Item
    * Get Line Item
    * Find Line Item
    * Create Product
    * Update Product
    * Get Product
    * Find Product
  </Accordion>

  <Accordion title="Service (Tickets)" icon="ticket-simple">
    * Create Ticket
    * Update Ticket
    * Get Ticket
    * Find Ticket
  </Accordion>

  <Accordion title="Lists & Workflows" icon="list">
    * Add Contact to List
    * Remove Contact from List
    * Remove Email Subscription
    * Add Contact to Workflow
  </Accordion>

  <Accordion title="Objects & Associations" icon="diagram-project">
    * Create Associations
    * Remove Associations
    * Find Associations
    * Create Custom Object
    * Update Custom Object
    * Get Custom Object
    * Find Custom Object
  </Accordion>

  <Accordion title="CMS / Marketing" icon="pen-to-square">
    * Create COS Blog Post
    * Create Page
    * Get Page
    * Delete Page
  </Accordion>

  <Accordion title="Owners & Pipelines" icon="users">
    * Get Owner by ID
    * Get Owner by Email
    * Get Pipeline Stage Details
  </Accordion>

  <Accordion title="Files" icon="file">
    * Upload File
  </Accordion>

  <Accordion title="Custom API Call" icon="globe">
    Use this when a specific HubSpot REST endpoint isn’t listed above. Provide Method, Endpoint, Headers, and Body (JSON).
  </Accordion>
</AccordionGroup>

<Tip>
  This catalog groups all available actions. Detailed examples below focus on key operations (Create/Upsert Contact and Custom API). For any other action, follow the same field‑mapping approach or use "Custom API Call".
</Tip>

***

### Create Contact

* **When to use**: creating a new contact in HubSpot.
* **Required fields**: map HubSpot properties directly in the form.
* **Field mapping example**:
  * First name → `{{ firstName }}`
  * Last name → `{{ lastName }}`
  * Email → `{{ email }}`
  * Phone → `{{ phone }}`
  * Company → `{{ company }}`
  * City → `{{ city }}` (optional)
  * Street address → `{{ streetAddress }}` (optional)
  * Country/Region → `{{ country }}` (optional)

<Frame caption="Create Contact — example configuration">
  <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-create-contact.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=2f18720bc498ddf243b4aa399df8b347" alt="hubspot create contact" style={{borderRadius: '10px'}} width="3297" height="1491" data-path="images/documentation/integrations/hubspot-create-contact.png" />
</Frame>

***

### Upsert Contact

* **When to use**: idempotent create/update by a unique key (commonly email).
* **Required fields**:
  * Unique Key — select `email` (or another unique property)
  * Contact properties — map fields like in Create Contact
* **Field mapping example**:
  * Unique key → Email
  * Email → `{{ email }}`
  * First name → `{{ firstName }}`
  * Last name → `{{ lastName }}`
  * Phone → `{{ phone }}`

<Frame caption="Upsert Contact — example configuration">
  <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-upsert-contact.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=61d60831ddd416ebffaad355e56382db" alt="hubspot upsert contact" style={{borderRadius: '10px'}} width="3301" height="1482" data-path="images/documentation/integrations/hubspot-upsert-contact.png" />
</Frame>

***

### Custom API Call

* **When to use**: you need an endpoint not covered by built‑in actions.
* **Parameters**: Method, Endpoint, Headers, Body (JSON)
* **Sample Body (JSON)**: set properties or payload required by the endpoint.

<Frame caption="Custom API Call — example configuration">
  <img src="https://mintcdn.com/voxiaai/luq4ferUKXjoXX5g/images/documentation/integrations/hubspot-custom-api-call.png?fit=max&auto=format&n=luq4ferUKXjoXX5g&q=85&s=495c307591f40d6fe21e1eb5912170c7" alt="hubspot custom api call" style={{borderRadius: '10px'}} width="3312" height="1493" data-path="images/documentation/integrations/hubspot-custom-api-call.png" />
</Frame>

***

## Using Variables

You can inject scenario/transcript variables into action fields. Make sure:

* Variables are defined in previous steps
* Value types match HubSpot properties (Email, Phone, Date/Time, etc.)
* Numeric/boolean fields receive properly typed values

***
