C
Cody
CRM & Sales

Connecting OpenClaw with HubSpot: A Practical Guide

·4 min read

HubSpot is where pipeline movement, account context, contacts, emails, and deal history often already live. A HubSpot AI assistant is most useful when it helps sales and revenue teams query that CRM context from Slack, surface stalled deals or missing follow-ups, and turn recent activity into clearer next steps and updates. If you are running OpenClaw yourself, HubSpot is still one of the more approachable CRM integrations to build, but Cody is the faster path if you want the assistant experience instead of the API glue.

How OpenClaw Integrations Work

OpenClaw is a self-hosted AI assistant that runs on your own server — typically an EC2 instance — and connects to Slack. It uses Claude under the hood to process requests. Out of the box, OpenClaw doesn't ship with pre-built connections to third-party tools. Instead, integrations are built using the skills system: markdown files in ~/.openclaw/skills/ that give Claude instructions for a particular domain, combined with HTTP tool calls to any API you expose to it.

In practice, adding a real integration means: getting API credentials from the third-party service, building or configuring a small proxy/endpoint that OpenClaw can call, and writing a skill file that tells Claude how to use it. For some tools this is an afternoon of work. For others — like HubSpot — it's considerably more involved.

Connecting OpenClaw with HubSpot: Step by Step

Step 1: Create a HubSpot Private App

Go to HubSpot → Settings → Integrations → Private Apps and create a new app. Select the scopes you need — crm.objects.contacts.read, crm.objects.deals.read, crm.schemas.contacts.read for basic CRM data. You'll get a Private App token (similar to an API key) to use in your proxy.

Step 2: Explore the CRM API

HubSpot's v3 CRM API has consistent endpoints for objects: /crm/v3/objects/{objectType} for contacts, deals, companies, etc. Use the search endpoint (/crm/v3/objects/{objectType}/search) with filters to find records by email, name, or other properties. The API explorer in HubSpot's developer docs is useful for prototyping queries.

Step 3: Build the Proxy and Skill File

Build your proxy around the search and retrieve endpoints for the objects your team cares about. Write ~/.openclaw/skills/hubspot.md with your pipeline stage names and common query patterns (e.g., how a rep would ask about a deal's status).

Challenges and Caveats

Associations Between Objects Are Separate Calls

To get a deal's associated contacts, or a contact's associated company, you need additional API calls to the associations endpoints. A single 'tell me about this deal' query might require 3–4 API calls. Build your proxy to handle these efficiently.

Rate Limits Vary by Plan

HubSpot's API rate limits depend on your subscription. Free/Starter plans get 100 API calls per 10 seconds. Professional and Enterprise get more. If your team is using OpenClaw heavily, you may need to cache responses to avoid hitting limits.

Custom Properties Need Explicit Handling

If your team has created custom properties on CRM objects, they won't appear in default API responses. You need to specify them in your requests. Document your most important custom properties in the skill file.


Skip All of This — Use Cody Instead

Cody gives your team a HubSpot AI assistant in Slack, so reps and leaders can review deals, companies, contacts, emails, and pipeline risk, then draft follow-ups and updates without digging through records or building the integration themselves.

Get started with Cody →


Related Guides


Need the model-flexible version? See: How to Connect HubSpot to OpenClaw: Setup, Models, and Workflow Guide.