<!-- Generated from Cogny's tool registry. Canonical page: https://cogny.com/integrations/hubspot-crm/tools -->

# HubSpot Email & CRM tools in Cogny

Cogny's HubSpot Email & CRM integration exposes 15 tools (11 read, 4 write) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

- **Read** (11): only reads data.
- **Write** (4): creates or changes something.
- **Destructive** (0): deletes, removes or replaces something.

Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations.

HubSpot Email & CRM connects with a HubSpot service key (Development → Keys → Service keys, created by a Super Admin or a user with Developer Tools access). It is a separate connection from the main HubSpot connection, which runs on HubSpot's own MCP server and reads CRM records only. Each tool needs only its own scope; a call without it fails and names the scope HubSpot asked for.

| Tools | Scopes |
|---|---|
| Contacts, companies, deals | `crm.objects.contacts.read`, `crm.objects.companies.read`, `crm.objects.deals.read` |
| Tickets | `tickets` |
| Leads | `crm.objects.leads.read` |
| Custom objects | `crm.objects.custom.read`, `crm.schemas.custom.read` |
| Owners | `crm.objects.owners.read` |
| `list_properties` | `crm.schemas.<object>.read` for that object, e.g. `crm.schemas.contacts.read` |
| Marketing emails and their statistics | `marketing.email.read` or `content` |
| `list_email_events` | `content` |
| `create_contact`, `update_contact` | `crm.objects.contacts.write` |
| `update_deal_stage` | `crm.objects.deals.write` |
| `create_note` | `crm.objects.contacts.write`; a refused call names any other scope HubSpot asks for |

Search pages are up to 200 records, list pages up to 100, email events up to 1,000. HubSpot allows 100 requests per 10 seconds on Free and Starter accounts and 190 on Professional and Enterprise, plus a daily cap per account; search is limited to 5 requests per second.

## Known gaps

- **Forms and form submissions are in HubSpot Forms**, a separate connection. One service key with both scope sets can back both.
- **A search query stops at 10,000 results.** Narrow by date, or use `list_records`, which pages through everything without filters.
- **No email can be sent, scheduled or edited**, and no list or workflow can be changed. The writes are: create and update a contact, move a deal to a stage, log a note. Nothing is deleted.
- **Email event `email_campaign_id` is not the marketing email's id.** Match it against a marketing email's `email_campaign_ids`.
- **Custom objects need HubSpot Enterprise**; on other plans `list_custom_object_schemas` is empty.
- **Long text is cut at 2,000 characters** (note, call and email bodies) to keep answers small.

## All tools

| Tool | Kind | What it does |
|---|---|---|
| `search_records` | Read | Search contacts, companies, deals, tickets, leads, activities or custom object records with filters. |
| `list_records` | Read | List records of one object type page by page, with no 10,000-result ceiling. |
| `get_record` | Read | Get one CRM record with its properties and the ids of associated records. |
| `list_properties` | Read | List the properties (fields) of a HubSpot object, with their types and picklist values. |
| `list_pipelines` | Read | List the pipelines and their stages for deals, tickets, leads or a custom object. |
| `list_owners` | Read | List the account's record owners (users), to turn hubspot_owner_id into a name and team. |
| `list_custom_object_schemas` | Read | List the account's custom objects with their ids, labels and properties. |
| `list_marketing_emails` | Read | List marketing emails with their send performance: sent, delivered, opens, clicks, bounces and unsubscribes. |
| `get_marketing_email` | Read | Get one marketing email's details and performance counters. |
| `get_marketing_email_statistics` | Read | Get marketing email totals for a date window, or a time series by day, week or month. |
| `list_email_events` | Read | List email events — sends, deliveries, opens, clicks, bounces, spam reports, unsubscribes — per recipient. |
| `create_contact` | Write | Create a contact in HubSpot. |
| `update_contact` | Write | Update properties on an existing HubSpot contact. |
| `update_deal_stage` | Write | Move a deal to another pipeline stage, such as closed won or closed lost. |
| `create_note` | Write | Log a note on HubSpot contacts, companies, deals or tickets. |

Exact input schemas come from `tools/list` once HubSpot Email & CRM is connected; the free plan is enough to check.

Missing something? Your agent can ask for it with `request_feature`.

---

All integrations: https://cogny.com/integrations/tools/index.md
Plans, approvals, limits and data protection: https://cogny.com/buying-guide.md
What Cogny is: https://cogny.com/llms.txt
