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

# HubSpot

> Integration details and setup guide for the HubSpot connector in Alloy Automation.

## Pre-Built Tooling

| Category                            | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Authentication**                  | OAuth 2.0 (Authorization Code with refresh tokens)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Two-Way Sync**                    | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Events Supported**                | No                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **Realtime**                        | No (Polling)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Supports Rate Limiting**          | Yes (HubSpot API rate limits & 429 handling)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **Authentication Scopes Supported** | `oauth`, `crm.objects.companies.read`, `crm.objects.contacts.read`, `crm.objects.deals.read`, `crm.objects.companies.write`, `crm.objects.contacts.write`, `crm.objects.deals.write`, `crm.lists.read`, `crm.lists.write`, `crm.objects.line_items.read`, `crm.objects.line_items.write`, `crm.objects.marketing_events.read`, `crm.objects.marketing_events.write`, `crm.objects.owners.read`, `crm.objects.quotes.read`, `crm.objects.quotes.write`, `crm.schemas.companies.read`, `crm.schemas.companies.write`, `crm.schemas.contacts.read`, `crm.schemas.contacts.write`, `crm.schemas.deals.read`, `crm.schemas.deals.write`, `settings.users.write`, `settings.users.read`, `settings.users.teams.write`, `settings.users.teams.read` |

***

## Objects Supported

Alloy Automation supports syncing the following objects from **HubSpot**:

* **Companies**
* **Contacts**
* **Deals**
* **Emails**
* **Tickets**
* **Tasks**

***

## Set Up Guide

### Trial Access

| Question                                           | Answer                                                                                                                                                                                  |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Offers free trial?**                             | Yes. HubSpot offers a free CRM tier with core features available indefinitely. Sign up at [https://www.hubspot.com/products/get-started](https://www.hubspot.com/products/get-started). |
| **Requires paid sandbox?**                         | No. The free tier can be used for development and testing.                                                                                                                              |
| **Requires partnership to obtain authentication?** | No. OAuth apps can be created by any HubSpot user. However, public apps require app review for marketplace listing.                                                                     |

***

### Authentication (OAuth 2.0)

For customers who want to completely whitelabel their OAuth experience, you can provide your own developer keys instead of using Alloy Automation's.

#### Create your OAuth app (HubSpot Developer Portal)

1. Go to **HubSpot Developer Portal** at [https://developers.hubspot.com/](https://developers.hubspot.com/)
2. Sign in with your HubSpot account (or create a free developer account)
3. Navigate to **Apps** from the top menu
4. Click **Create app** button
5. Fill in your app details:
   * App name
   * Description
   * Logo (optional)
6. Go to the **Auth** tab
7. Add the redirect URI: `https://api.runalloy.com/api/strategy/connector/hubspot/callback`
8. Select the scopes you need under **Scopes**:
   * Required: `oauth` (base OAuth scope)
   * `crm.objects.contacts.read` / `crm.objects.contacts.write` (for contacts)
   * `crm.objects.companies.read` / `crm.objects.companies.write` (for companies)
   * `crm.objects.deals.read` / `crm.objects.deals.write` (for deals)
   * Additional scopes as needed for your integration
9. Copy your **Client ID** and **Client Secret** from the Auth tab
10. Save your changes

#### OAuth Configuration

* Authorization URL: `https://app.hubspot.com/oauth/authorize`
* Token URL: `https://api.hubapi.com/oauth/v1/token`
* Refresh URL: `https://api.hubapi.com/oauth/v1/token`
* Client Authentication Method: `client_secret_post`

#### Getting Started

* **Sign up for HubSpot**: [https://www.hubspot.com/products/get-started](https://www.hubspot.com/products/get-started)
* **Developer Portal**: [https://developers.hubspot.com/](https://developers.hubspot.com/)
* **API Documentation**: [https://developers.hubspot.com/docs/api/overview](https://developers.hubspot.com/docs/api/overview)
* **OAuth Guide**: [https://developers.hubspot.com/docs/api/working-with-oauth](https://developers.hubspot.com/docs/api/working-with-oauth)
* **CRM API Guide**: [https://developers.hubspot.com/docs/guides/api/crm/objects/contacts](https://developers.hubspot.com/docs/guides/api/crm/objects/contacts)

***

## Use Cases

### 1) Bidirectional CRM synchronization

Keep contact, company, and deal records synchronized between HubSpot and other business systems, ensuring sales teams have up-to-date information regardless of which platform they use.

### 2) Lead enrichment and scoring

Automatically enrich HubSpot contacts with data from third-party sources and sync lead scores from external scoring models back to HubSpot for better segmentation and prioritization.

### 3) Multi-channel engagement tracking

Create email and task records in HubSpot from interactions that occur in other channels (support tickets, in-app messages, etc.) to maintain a complete engagement history on the timeline.

### 4) Custom workflow automation

Trigger complex workflows in external systems based on HubSpot deal stage changes, contact property updates, or other CRM events that go beyond HubSpot's native workflow capabilities.

### 5) Reporting and analytics consolidation

Extract HubSpot CRM data into your data warehouse or BI tool to combine sales metrics with data from other platforms for comprehensive revenue analytics and forecasting.

***

## API Gotchas

* **Property pagination**: When requesting properties in GET requests, HubSpot limits which properties are returned by default. Always specify the `properties` parameter to explicitly request the fields you need rather than relying on defaults.

* **Association type IDs**: When creating associations between objects (e.g., linking a contact to a company), you need to specify the correct `associationTypeId`. Common types include: contact-to-company (1), company-to-contact (2), deal-to-contact (3). Refer to HubSpot's documentation for the complete list.

* **Rate limits vary by subscription**: API rate limits depend on your HubSpot subscription tier. Free and Starter plans have lower limits than Professional and Enterprise. Monitor the `X-HubSpot-RateLimit-*` headers in responses to track usage.

* **Archived objects**: Deleted objects in HubSpot are archived, not permanently deleted. They can be restored within 90 days. Use the `archived=true` parameter to include or exclude archived objects in your queries.

* **Custom properties**: HubSpot allows extensive property customization. When integrating, be prepared to handle custom properties dynamically rather than hardcoding expected fields, as each HubSpot portal may have different custom properties defined.

> For questions or troubleshooting, contact **[support@runalloy.com](mailto:support@runalloy.com)**.
