---
name: hubspot-crm-ops
description: Operate HubSpot CRM from the agent through the GTM MCP Server's hubspot_* tools with a review-before-write guardrail — create and update contacts and deals, log activities, dedupe, enrich, move stages, and run bulk updates safely. Use when the user asks to change, clean, log to, or bulk-edit HubSpot records. Not for pipeline analysis without writes (see pipeline-inspector), for Salesforce, or for marketing email sends.
version: 1.0.0
license: Licensed per buyer — https://gtm-skills.com/terms
source: https://gtm-skills.com/skills/hubspot-crm-ops
---
# HubSpot CRM Ops
A CRM write is cheap to make and expensive to undo. This skill lets an agent operate HubSpot through the `hubspot_*` tools exposed by `gtm-mcp-server`, but every write goes through the same gate: read the current state, show the diff, get a yes, write, verify. One record or four hundred, same gate. The output is a HubSpot that matches reality and a log of what changed, by whom, and why. Winging it means an agent "cleans up" six hundred contacts on a Friday and nobody knows what the data looked like on Thursday.
## When to use / When not to
**Use when**
- A rep or RevOps lead asks to create, update, merge, or enrich contacts, companies, or deals.
- Activities (calls, emails, meetings, notes) need to be logged against a contact or deal.
- A list of deals needs stage, amount, or close-date changes.
- Duplicate contacts need to be found and merged.
- MEDDPICC or signal properties need to be created and populated.
**Not for**
- Reading the pipeline and reporting on it. Use pipeline-inspector; bring its fix list here.
- Salesforce, Pipedrive, Attio.
- Sending marketing emails or editing workflows that send to customers.
- Deleting records. This skill never deletes. It archives by property or asks a human to delete in the UI.
## Tools available
From `gtm-mcp-server` when `HUBSPOT_API_KEY` is set. Parameter names are exact.
| Tool | Purpose | Required params | Optional params |
|---|---|---|---|
| `hubspot_get_contact` | Read one contact | `contactId` or `email` | — |
| `hubspot_search_contacts` | Find contacts | `query` | `limit` (default 10) |
| `hubspot_create_contact` | New contact | `email` | `firstName`, `lastName`, `phone`, `company`, `jobTitle`, `linkedinUrl`, `notes` |
| `hubspot_update_contact` | Change a contact | `contactId` | `email`, `firstName`, `lastName`, `phone`, `company`, `jobTitle`, `notes` |
| `hubspot_get_pipelines` | Read pipelines and stage IDs | — | `pipelineId` |
| `hubspot_create_deal` | New deal | `dealName` | `pipeline`, `stage`, `amount`, `closeDate` (YYYY-MM-DD), `contactId`, `companyId`, `notes` |
| `hubspot_update_deal` | Change a deal | `dealId` | `dealName`, `stage`, `amount`, `closeDate`, `notes` |
HubSpot CRM Ops is in the RevOps Kit.
$79 once for the kit, or $19/mo for everything in Pro. 14-day refund.