Checking authentication...

Deals

Create, read, update, delete, and search HubSpot deals with pipeline management

6 tools

Create Deal

Write

POST /v1/tools/hubspot/createDeal

Create a new deal in HubSpot CRM. PREREQUISITE: Call hubspot_getProperties(object_type="deals") first to get valid property names, types, and enum options — do NOT guess property names. Call hubspot_getPipelines() to get valid pipeline and dealstage values. All property values must be strings (numbers and booleans are coerced automatically). Enumeration properties use internal value strings (not labels). Returns the created deal ID. Set id_only=false for the full deal object.

Parameters

NameTypeRequiredDescription
valuesobjectrequiredDeal properties as key-value pairs. Keys are internal property names (from getProperties). All values are strings. Common properties: dealname (required), amount, dealstage (from getPipelines), pipeline (pipeline ID from getPipelines), closedate (YYYY-MM-DD or Unix ms), hubspot_owner_id.
id_onlybooleanoptionalReturn only the deal ID (default: true). Set to false for full response.

Flags

NameTypeDescription
id_onlybooleanReturn only the deal ID (default: true). Set to false for full response.

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/createDeal \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "values": "..."
}'

Response

{
  "id": "712300140003"
}

Try It

Try it

Sign in to execute this tool

Get Deal

Read Idempotent

POST /v1/tools/hubspot/getDeal

Retrieve a HubSpot deal by its ID. Returns default properties: dealname, amount, dealstage, pipeline, closedate, hs_lastmodifieddate. Pass additional property names in the "properties" array to include more fields. Use hubspot_getProperties(object_type="deals") to discover available properties.

Parameters

NameTypeRequiredDescription
deal_idstringrequiredThe HubSpot deal ID (from searchDeals, createDeal, or known ID).
return_propertiesarrayoptionalAdditional property names to include beyond the defaults. Use hubspot_getProperties to discover available properties.

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/getDeal \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "deal_id": "example"
}'

Response

{
  "id": "712300140003",
  "properties": {
    "amount": "15000",
    "closedate": "2026-09-30T00:00:00Z",
    "createdate": "2026-07-01T18:34:03.005Z",
    "dealname": "Website Redesign Project",
    "dealstage": "appointmentscheduled",
    "hs_lastmodifieddate": "2026-07-01T18:34:05.707Z",
    "hs_object_id": "712300140003",
    "pipeline": "default"
  },
  "createdAt": "2026-07-01T18:34:03.005Z",
  "updatedAt": "2026-07-01T18:34:05.707Z",
  "archived": false
}

Try It

Try it

Sign in to execute this tool

Update Deal

Write

POST /v1/tools/hubspot/updateDeal

Update properties on an existing HubSpot deal. Only specified properties are changed — omitted properties remain unchanged. PREREQUISITE: Call hubspot_getProperties(object_type="deals") to get valid property names, types, and enum options. Call hubspot_getPipelines() for valid dealstage values. All property values must be strings (numbers and booleans are coerced automatically). Returns { id, updated: true } on success — call hubspot_getDeal to read back the updated values.

Parameters

NameTypeRequiredDescription
deal_idstringrequiredThe HubSpot deal ID to update.
valuesobjectrequiredProperties to update as key-value pairs. Keys are internal property names (from getProperties). Only specified properties are changed. Common: dealname, amount, dealstage, pipeline, closedate, hubspot_owner_id.

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/updateDeal \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "deal_id": "example",
  "values": "..."
}'

Response

{
  "id": "712300140003",
  "updated": true
}

Try It

Try it

Sign in to execute this tool

Delete Deal

Destructive

POST /v1/tools/hubspot/deleteDeal

Delete a HubSpot deal by its ID. This moves the deal to the recycling bin (soft delete). Use hubspot_getDeal first to verify you have the correct deal. Returns confirmation with the deleted deal ID.

Parameters

NameTypeRequiredDescription
deal_idstringrequiredThe HubSpot deal ID to delete (from searchDeals, getDeal, or known ID).

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/deleteDeal \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "deal_id": "example"
}'

Response

{
  "deleted": true,
  "dealId": "712300140003"
}

Try It

Try it

Sign in to execute this tool

Search Deals

Read Idempotent

POST /v1/tools/hubspot/searchDeals

Search HubSpot deals using filters, query text, or both. Supports property-based filtering with operators: EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN, NOT_CONTAINS_TOKEN. Multiple filters in the same group are AND-combined. Multiple filterGroups are OR-combined. Use a simple "query" string for full-text search across default searchable properties. Returns up to 100 results per page with paging cursor. PREREQUISITE: Call hubspot_getProperties(object_type="deals") to get property names for filters.

Parameters

NameTypeRequiredDescription
querystringoptionalFull-text search query. Searches across default searchable deal properties (dealname, etc.).
filter_groupsarrayoptionalArray of filter groups (OR-combined). Each group has a "filters" array (AND-combined). Each filter: {propertyName: "dealstage", operator: "EQ", value: "closedwon"}. For BETWEEN: use highValue too. For IN/NOT_IN: use values array.
sortsarrayoptionalArray of sort objects: {propertyName: "amount", direction: "DESCENDING"}. Default direction: ASCENDING.
return_propertiesarrayoptionalAdditional property names to include beyond the defaults (dealname, amount, dealstage, pipeline, closedate, hs_lastmodifieddate).
limitnumberoptionalMax results to return (default: 20, max: 100).
afterstringoptionalPagination cursor from previous response for next page.

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/searchDeals \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

{
  "total": 1,
  "count": 1,
  "results": [
    {
      "id": "712300140003",
      "properties": {
        "amount": "18000",
        "closedate": "2026-09-30T00:00:00Z",
        "createdate": "2026-07-01T18:34:03.005Z",
        "dealname": "Website Redesign Project",
        "dealstage": "qualifiedtobuy",
        "hs_lastmodifieddate": "2026-07-01T18:34:55.122Z",
        "hs_object_id": "712300140003",
        "pipeline": "default"
      }
    }
  ]
}

Try It

Try it

Sign in to execute this tool

Get Pipelines

Read Idempotent

POST /v1/tools/hubspot/getPipelines

Get all deal pipelines and their stages from HubSpot. Returns pipeline IDs, labels, and stages sorted by display order. Use this to get valid "pipeline" and "dealstage" values before creating or updating deals. Each stage has an id (used as dealstage value), label, and displayOrder.

Request

curl -X POST https://api.syncello.io/v1/tools/hubspot/getPipelines \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

{
  "pipelines": [
    {
      "id": "default",
      "label": "Sales Pipeline",
      "displayOrder": 0,
      "stages": [
        {
          "id": "appointmentscheduled",
          "label": "Appointment Scheduled",
          "displayOrder": 0
        },
        {
          "id": "qualifiedtobuy",
          "label": "Qualified To Buy",
          "displayOrder": 1
        },
        {
          "id": "closedwon",
          "label": "Closed Won",
          "displayOrder": 5
        }
      ]
    }
  ]
}

Try It

Try it

Sign in to execute this tool