---
name: "hubspot_create"
area: "hubspot"
title: "Create a HubSpot record"
price: "$0.001"
method: "POST"
url: "https://api.conecto.chat/v1/tools/hubspot_create"
mcp_server: "https://api.conecto.chat/mcp/hubspot"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/hubspot/hubspot_create"
---

# Create a HubSpot record (`hubspot_create`)

Makes a contact, company, deal or ticket in HubSpot.

Make a contact, company, deal or ticket in the company's HubSpot with the properties given. HubSpot refuses a second contact with the same email. $0.001.

Price: $0.001 a call. A call that fails costs nothing.

## Use it when

A new customer or deal comes up and the sales team works in HubSpot.

## Say this to your agent

> Add Petra Lindqvist from Hotel Seeblick to HubSpot.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `object` | string | yes | contacts, companies, deals or tickets. | `"contacts"`, `"companies"`, `"deals"`, `"tickets"` |  |
| `properties` | object | yes | HubSpot property names and values, like {"dealstage": "closedwon", "amount": 18400}. |  |  |

## Example

Written for Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff.

MCP: call `hubspot_create` on the MCP server `https://api.conecto.chat/mcp/hubspot` with these arguments:

```json
{
  "object": "contacts",
  "properties": {
    "email": "einkauf@hotel-seeblick.example",
    "firstname": "Petra",
    "lastname": "Lindqvist",
    "company": "Hotel Seeblick"
  }
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/hubspot_create \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object": "contacts", "properties": {"email": "einkauf@hotel-seeblick.example", "firstname": "Petra", "lastname": "Lindqvist", "company": "Hotel Seeblick"}}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "hubspot_create",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.001",
  "balance_usd": "$19.75",
  "result": {
    "record": {
      "id": "6001",
      "object": "contacts",
      "properties": {
        "email": "einkauf@hotel-seeblick.example",
        "firstname": "Petra",
        "lastname": "Lindqvist",
        "company": "Hotel Seeblick"
      },
      "created_at": "2026-10-14T08:00:00Z",
      "updated_at": "2026-10-14T08:00:00Z"
    }
  }
}
```

`result`: record: the new record's id, object and the properties given.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_connected` | 409 | HubSpot isn't connected yet. | Connect it with hubspot_connect. |
| `vendor_rejected` | 502 | HubSpot refused: the token is wrong, or the private app lacks the scope. | Add the scope the message names to the private app. |
| `conflict` | 409 | HubSpot has a contact with that email already. | Search for it and change it. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [hubspot_connect](https://conecto.chat/tools/hubspot/hubspot_connect.md): Connects the company's HubSpot through its own private app's token. Free.
- [hubspot_search](https://conecto.chat/tools/hubspot/hubspot_search.md): Contacts, companies, deals or tickets in HubSpot matching words. Free up to 1,000,000 reads a month.
- [hubspot_get](https://conecto.chat/tools/hubspot/hubspot_get.md): One HubSpot record by its id, with its usual properties or the ones named. Free up to 1,000,000 reads a month.
- [hubspot_update](https://conecto.chat/tools/hubspot/hubspot_update.md): Changes a HubSpot record's properties; waits for the owner by default. $0.001 a call.
- [hubspot_add_note](https://conecto.chat/tools/hubspot/hubspot_add_note.md): Adds a note to a HubSpot record's timeline, where the team sees it. $0.001 a call.
- [hubspot_disconnect](https://conecto.chat/tools/hubspot/hubspot_disconnect.md): Forgets the private app's token; nothing in HubSpot changes. Free.
