C
Cody
CRM & Sales

Connecting OpenClaw with HubSpot: A Practical Guide

·3 min read

HubSpot's API is relatively developer-friendly, making it one of the more achievable CRM integrations for OpenClaw. You can get read access to contacts, deals, and pipelines with a Private App and a few hours of setup.

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 has HubSpot integration built in. Query deals, contacts, and pipeline health from Slack without any API configuration.

Get started with Cody →


Related Guides


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