All data sources

HubSpot CRM

API keyhubspot

HubSpot CRM v3 API — contacts, companies, deals, tickets, associations, and pipelines. CRITICAL USAGE RULES: 1. Use searchContacts/searchCompanies/searchDeals for discovery — pass query for text search or use filters for specific fields 2. Use getContact/getCompany/getDeal by ID for full details 3. Use createContact/createDeal/updateDeal for writes (properties object required) 4. Use getAssociations to link objects (contact → company, deal → contact) 5. Use getDealPipelines to discover stage names before filtering by dealstage 6. Use getProperties to discover available fields for any object type 7. Search limit max is 200 per page, use "after" cursor for pagination

Provenance

PublisherHubSpot CRM

Freshness & coverage

FreshnessFreshness not declared
GeographicNot declared
TemporalNot declared
AuthenticationCredentials required (API key)

Methods (16)

  • getContact

    read

    Retrieve a CRM contact record by id and selected properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    }
  • getCompany

    read

    Retrieve a CRM company record by id and selected properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    }
  • getDeal

    read

    Retrieve a CRM deal record by id and selected properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    }
  • getTicket

    read

    Retrieve a single service ticket by id and selected properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "id"
      ]
    }
  • createContact

    write

    Create a new CRM contact record from the given properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "properties": {
          "type": "object",
          "properties": {},
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "required": [
        "properties"
      ]
    }
  • createCompany

    write

    Create a new CRM company record from the given properties.

    Input schema
    {
      "type": "object",
      "properties": {
        "properties": {
          "type": "object",
          "properties": {},
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "required": [
        "properties"
      ]
    }
  • updateDeal

    write

    Update an existing CRM deal by id with new property values.

    Input schema
    {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "properties": {
          "type": "object",
          "properties": {},
          "additionalProperties": true
        }
      },
      "additionalProperties": false,
      "required": [
        "id",
        "properties"
      ]
    }
  • searchTickets

    read

    Search service tickets by query text, pipeline, stage, and priority.

    Input schema
    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string"
        },
        "pipeline": {
          "type": "string"
        },
        "stage": {
          "type": "string"
        },
        "priority": {
          "type": "string"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "limit": {
          "type": "number"
        },
        "after": {
          "type": "string"
        },
        "PageSize": {
          "type": "number"
        }
      },
      "additionalProperties": false
    }
  • searchContacts

    read

    Search HubSpot contacts by name, email, company, or free-text query.

    Input schema
    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Free-text search across contact fields"
        },
        "email": {
          "type": "string",
          "description": "Exact email match"
        },
        "name": {
          "type": "string",
          "description": "First name contains (partial match)"
        },
        "company": {
          "type": "string",
          "description": "Company name contains (partial match)"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Property names to return (default: email, firstname, lastname, phone, company, jobtitle)"
        },
        "limit": {
          "type": "number",
          "description": "Max results (default 100, max 200)"
        },
        "after": {
          "type": "string",
          "description": "Pagination cursor from previous response"
        }
      },
      "additionalProperties": false
    }
  • searchCompanies

    read

    Search HubSpot companies by name, domain, industry, or free-text query.

    Input schema
    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Free-text search"
        },
        "name": {
          "type": "string",
          "description": "Company name contains (partial match)"
        },
        "domain": {
          "type": "string",
          "description": "Exact domain match (e.g., \"formentera.com\")"
        },
        "industry": {
          "type": "string",
          "description": "Exact industry match"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Property names to return"
        },
        "limit": {
          "type": "number",
          "description": "Max results (default 100, max 200)"
        },
        "after": {
          "type": "string",
          "description": "Pagination cursor"
        }
      },
      "additionalProperties": false
    }
  • searchDeals

    read

    Search HubSpot deals by stage, pipeline, owner, or free-text query.

    Input schema
    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Free-text search across deal fields"
        },
        "dealstage": {
          "type": "string",
          "description": "Deal stage ID (use getDealPipelines to discover stage IDs)"
        },
        "pipeline": {
          "type": "string",
          "description": "Pipeline ID"
        },
        "owner": {
          "type": "string",
          "description": "HubSpot owner ID"
        },
        "properties": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Property names to return"
        },
        "limit": {
          "type": "number",
          "description": "Max results (default 100, max 200)"
        },
        "after": {
          "type": "string",
          "description": "Pagination cursor"
        }
      },
      "additionalProperties": false
    }
  • getAssociations

    read

    Get associations between CRM objects (e.g., contact → companies, deal → contacts).

    Required paramsfromObjectTypeobjectIdtoObjectType
    Input schema
    {
      "type": "object",
      "properties": {
        "fromObjectType": {
          "type": "string",
          "description": "Source object type (contacts, companies, deals, tickets)"
        },
        "objectId": {
          "type": "string",
          "description": "Source object ID"
        },
        "toObjectType": {
          "type": "string",
          "description": "Target object type"
        }
      },
      "additionalProperties": false,
      "required": [
        "fromObjectType",
        "objectId",
        "toObjectType"
      ]
    }
  • createDeal

    write

    Create a new deal. Requires dealname and dealstage properties.

    Required paramsproperties
    Input schema
    {
      "type": "object",
      "properties": {
        "properties": {
          "type": "object",
          "properties": {},
          "additionalProperties": true,
          "description": "Deal properties. Required: dealname, dealstage. Optional: pipeline, amount, closedate, hubspot_owner_id."
        }
      },
      "additionalProperties": false,
      "required": [
        "properties"
      ]
    }
  • getDealPipelines

    read

    List all deal pipelines and their stages. Use this to discover stage IDs before filtering deals.

    Input schema
    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
  • getProperties

    read

    List all available properties for a CRM object type. Use this to discover field names before searching.

    Required paramsobjectType
    Input schema
    {
      "type": "object",
      "properties": {
        "objectType": {
          "type": "string",
          "description": "Object type: contacts, companies, deals, tickets"
        }
      },
      "additionalProperties": false,
      "required": [
        "objectType"
      ]
    }