> For the complete documentation index, see [llms.txt](https://docs.riff.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.riff.ai/archive/integrations-legacy-saas-connectors/native-integrations/hubspot.md).

# HubSpot

Connect your HubSpot account once and let Riff read the CRM objects you already use - contacts, companies, deals, tickets, quotes, line items, lists, and (if enabled) e-commerce orders - so you can build dashboards, automations, and agents on top of real data.

Riff uses HubSpot OAuth scopes to request “read” access only.

<figure><img src="https://images.gitbook.com/__img/dpr=2,width=371,onerror=redirect,fit=contain,format=auto,signature=1493262511/https%3A%2F%2Flogos-world.net%2Fwp-content%2Fuploads%2F2022%2F01%2FHubSpot-Emblem.png" alt="" width="375"><figcaption></figcaption></figure>

<details>

<summary>HubSpot Scopes</summary>

* **Contacts & People** - Contacts and related activities
* **Deals & Sales** -Deals (+ associations to contacts/companies, line items)
* **Companies & Organizations** *-* Company records & properties.
* **Appointments & Scheduling** *-*&#x4D;eetings/appointments objects & activities.
* **E-commerce & Orders** *-*&#x4F;rders & line items for commerce reporting.
* **Education & Training** *-*&#x43;ourses (if enabled in your portal).
* **Real Estate** - Listings (if enabled).
* **Goals & Performance** *-* Sales goals/performance objects.
* **Quotes & Proposals** - Quotes and associated line items.
* **Lists & Organization** *-* Lists API for segmentation.
* **Marketing** *-* Campaigns/UTMs, attribution fields via contacts/deals.
* **Communication** *-* Engagements (emails/calls/meetings/notes) tied to CRM objects.

</details>

{% hint style="danger" %}
HubSpot OAuth asks users to approve specific “resources” (scopes). Apps get tokens with only those permissions
{% endhint %}

{% embed url="<https://youtu.be/3RVR9EdQ_tg>" %}

## Explore HubSpot Use Cases

### Dashboards

<table data-view="cards"><thead><tr><th align="center"></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center"><strong>Lifecycle &#x26; Stage Conversion Dashboard</strong></td><td>Build a dashboard that takes HubSpot deals and contacts as inputs, calculates stage conversion rates, cycle time and win rate by pipeline and owner, and outputs charts and a downloadable CSV. Trigger daily at 08:00 and on button.</td><td></td></tr><tr><td align="center"><strong>Campaign Attribution Dashboard</strong></td><td>Build a dashboard that uses HubSpot contacts, deals and UTMs to show campaign-to-revenue attribution (CPA, ROAS, funnel conversion). Trigger daily at 09:00 and via a Refresh button.</td><td></td></tr><tr><td align="center"><strong>Revenue &#x26; churn Dashboard</strong></td><td>See marketing performance in real time. Track spend, conversions, and ROAS across channels in one dashboard.</td><td></td></tr></tbody></table>

{% columns %}
{% column valign="middle" %}

<p align="center"><a href="https://riff.new/home?prompt-template=Build%20a%20dashboard%20that%20takes%20HubSpot%20deals%20and%20contacts%20as%20inputs%2C%20calculates%20stage%20conversion%20rates%2C%20cycle%20time%20and%20win%20rate%20by%20pipeline%20and%20owner%2C%20and%20outputs%20charts%20and%20a%20downloadable%20CSV.%20Trigger%20daily%20at%2008%3A00%20and%20on%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=Build%20a%20dashboard%20that%20uses%20HubSpot%20contacts%2C%20deals%20and%20UTMs%20to%20show%20campaign-to-revenue%20attribution%20%28CPA%2C%20ROAS%2C%20funnel%20conversion%29.%20Trigger%20daily%20at%2009%3A00%20and%20via%20a%20Refresh%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=Use%20HubSpot%20deals%20%28closed-won%2Flost%29%20and%20line%20items%20as%20inputs%20to%20calculate%20MRR%2FARR%2C%20expansion%2Fcontraction%2C%20and%20churn%20cohorts%2C%20and%20output%20a%20board-ready%20dashboard.%20Trigger%20monthly%20on%20the%201st%20at%2007%3A00" class="button primary">Riff this App</a></p>
{% endcolumn %}
{% endcolumns %}

### Automations

<table data-view="cards"><thead><tr><th align="center"></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center"><p><strong>Deal stage</strong></p><p><strong>(alerts → Slack)</strong></p></td><td>An automation that listens for HubSpot deal stage changes, summarizes context (amount, owner, days in stage), and posts a Slack alert with next-step suggestions. Trigger on the HubSpot webhook.</td><td></td></tr><tr><td align="center"><p><strong>Contact hygiene</strong></p><p><strong>(dedupe + completeness)</strong></p></td><td>An app to find and merge duplicate HubSpot contacts by email/domain, flag missing key fields, and export a cleaned CSV for review. Trigger on button and weekly at 07:00.</td><td></td></tr><tr><td align="center"><p><strong>Ticket triage</strong></p><p><strong>(AI classify + priority)</strong></p></td><td>An app that reads HubSpot tickets, uses AI to classify and set priority, and posts a Slack summary for high-priority issues with links back to the ticket. Trigger on new ticket webhook.</td><td></td></tr></tbody></table>

{% columns %}
{% column valign="middle" %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20automation%20that%20listens%20for%20HubSpot%20deal%20stage%20changes%2C%20summarizes%20context%20%28amount%2C%20owner%2C%20days%20in%20stage%29%2C%20and%20posts%20a%20Slack%20alert%20with%20next-step%20suggestions.%20Trigger%20on%20the%20HubSpot%20webhook" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20app%20to%20find%20and%20merge%20duplicate%20HubSpot%20contacts%20by%20email%2Fdomain%2C%20flag%20missing%20key%20fields%2C%20and%20export%20a%20cleaned%20CSV%20for%20review.%20Trigger%20on%20button%20and%20weekly%20at%2007%3A00" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20app%20that%20reads%20HubSpot%20tickets%2C%20uses%20AI%20to%20classify%20and%20set%20priority%2C%20and%20posts%20a%20Slack%20summary%20for%20high-priority%20issues%20with%20links%20back%20to%20the%20ticket.%20Trigger%20on%20new%20ticket%20webhook" class="button primary">Riff this App</a></p>
{% endcolumn %}
{% endcolumns %}

### AI Agents

<table data-view="cards"><thead><tr><th align="center"></th><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td align="center"><p><strong>Follow-up Email</strong></p><p><strong>(from deal activity)</strong></p></td><td>An agent that reads the last HubSpot activity on a deal, drafts a tailored follow-up email with next steps, and logs the draft as a note. Trigger on button from the deal view.</td><td></td></tr><tr><td align="center"><p><strong>List Segmentation</strong></p><p><strong>Agent</strong></p></td><td>An AI agent that reads HubSpot lists and contact properties, proposes improved segments with plain-language rules, previews member counts, and exports a CSV of members per segment. Trigger on button.</td><td></td></tr><tr><td align="center"><p><strong>Deal Risk &#x26;</strong></p><p><strong>Next-best-action</strong></p></td><td>See marketing performance in real time. Track spend, conversions, and ROAS across channels in one dashboard.</td><td></td></tr></tbody></table>

{% columns %}
{% column valign="middle" %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20agent%20that%20reads%20the%20last%20HubSpot%20activity%20on%20a%20deal%2C%20drafts%20a%20tailored%20follow-up%20email%20with%20next%20steps%2C%20and%20logs%20the%20draft%20as%20a%20note.%20Trigger%20on%20button%20from%20the%20deal%20view" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20AI%20agent%20that%20reads%20HubSpot%20lists%20and%20contact%20properties%2C%20proposes%20improved%20segments%20with%20plain-language%20rules%2C%20previews%20member%20counts%2C%20and%20exports%20a%20CSV%20of%20members%20per%20segment.%20Trigger%20on%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}

{% column %}

<p align="center"><a href="https://riff.new/home?prompt-template=An%20AI%20agent%20that%20reads%20active%20HubSpot%20deals%2C%20flags%20at-risk%20ones%20based%20on%20days%20in%20stage%2C%20last%20activity%2C%20and%20amount%2C%20and%20generates%20next-best-action%20suggestions%20plus%20short%20email%2Fcall%20drafts.%20Output%20a%20Slack%20summary%20to%20%23sales-leads%20with%20links.%20Trigger%20daily%20at%2008%3A00%20and%20on%20button" class="button primary">Riff this App</a></p>
{% endcolumn %}
{% endcolumns %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.riff.ai/archive/integrations-legacy-saas-connectors/native-integrations/hubspot.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
