Checking authentication...

Tickets

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

6 tools

Create Ticket

Write

POST /v1/tools/hubspot/createTicket

Create a new ticket in HubSpot. Returns the ticket ID. PREREQUISITE: Call hubspot_getProperties(object_type: "tickets") first to get available property names and types — do NOT guess. Call hubspot_getTicketPipelines to get pipeline and stage IDs before setting hs_pipeline and hs_pipeline_stage. Properties are passed as a flat object keyed by property name. All values must be strings. Common properties: subject, content, hs_pipeline, hs_pipeline_stage, hs_ticket_priority, hs_ticket_category. For enumeration properties, use the internal value (not label) — check getProperties for valid options. For multi-select, separate values with semicolons: "value1;value2".

Parameters

NameTypeRequiredDescription
valuesobjectrequiredTicket properties keyed by property name. All values as strings. E.g., {"subject": "Login issue", "content": "User cannot log in", "hs_pipeline": "0", "hs_pipeline_stage": "1", "hs_ticket_priority": "HIGH"}
id_onlybooleanoptionalReturn only the ticket ID (default: true). Set to false for full response.

Flags

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

Request

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

Response

{
  "id": "812300140004"
}

Try It

Try it

Sign in to execute this tool

Get Ticket

Read Idempotent

POST /v1/tools/hubspot/getTicket

Get a HubSpot ticket by ID. Returns ticket properties. By default returns common properties (subject, content, hs_pipeline, hs_pipeline_stage, hs_ticket_priority, createdate). Use the "properties" parameter to request specific properties. Use hubspot_getProperties(object_type: "tickets") to see all available property names.

Parameters

NameTypeRequiredDescription
ticket_idstringrequiredThe HubSpot ticket ID
return_propertiesarrayoptionalSpecific property names to return. If omitted, returns default properties.

Request

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

Response

{
  "id": "812300140004",
  "properties": {
    "content": "Login page returns a 500 for SSO users.",
    "createdate": "2026-07-01T18:34:04.400Z",
    "hs_lastmodifieddate": "2026-07-01T18:34:07.427Z",
    "hs_object_id": "812300140004",
    "hs_pipeline": "0",
    "hs_pipeline_stage": "1",
    "hs_ticket_priority": "HIGH",
    "subject": "SSO login returns 500"
  },
  "createdAt": "2026-07-01T18:34:04.400Z",
  "updatedAt": "2026-07-01T18:34:07.427Z",
  "archived": false,
  "url": "https://app.hubspot.com/contacts/12345678/record/0-5/812300140004"
}

Try It

Try it

Sign in to execute this tool

Update Ticket

Write

POST /v1/tools/hubspot/updateTicket

Update an existing HubSpot ticket. Pass only the properties you want to change — other properties remain unchanged. All values must be strings. PREREQUISITE: Call hubspot_getProperties(object_type: "tickets") to check property names and types before updating. Call hubspot_getTicketPipelines to get valid pipeline stage IDs if changing hs_pipeline_stage.

Parameters

NameTypeRequiredDescription
ticket_idstringrequiredThe HubSpot ticket ID to update
valuesobjectrequiredProperties to update, keyed by property name. All values as strings.

Request

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

Response

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

Try It

Try it

Sign in to execute this tool

Delete Ticket

Destructive

POST /v1/tools/hubspot/deleteTicket

Delete a HubSpot ticket by ID. This moves the ticket to the recycling bin (recoverable for a limited time). This action cannot be easily undone.

Parameters

NameTypeRequiredDescription
ticket_idstringrequiredThe HubSpot ticket ID to delete

Request

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

Response

{
  "deleted": true,
  "ticketId": "812300140004"
}

Try It

Try it

Sign in to execute this tool

Search Tickets

Read Idempotent

POST /v1/tools/hubspot/searchTickets

Search HubSpot tickets using filters and sorting. Supports filtering by any property. Filter operators: EQ (equals), NEQ, LT, LTE, GT, GTE, CONTAINS_TOKEN (word search), NOT_CONTAINS_TOKEN, IN (array), NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, BETWEEN. Multiple filters in the same group are ANDed. Multiple filter groups are ORed. Returns up to 100 results per page with paging cursor.

Parameters

NameTypeRequiredDescription
filter_groupsarrayoptionalArray of filter groups (ORed together). Each group has a "filters" array (ANDed together). Each filter: { propertyName: string, operator: string, value: string }. Example: [{ "filters": [{ "propertyName": "hs_ticket_priority", "operator": "EQ", "value": "HIGH" }] }]
sortsarrayoptionalSort by property. E.g., [{ "propertyName": "createdate", "direction": "DESCENDING" }]
return_propertiesarrayoptionalProperties to include in results. Defaults to subject, hs_pipeline_stage, hs_ticket_priority, createdate.
limitnumberoptionalMax results to return (1-100, default 10)
afterstringoptionalPaging cursor from previous search result for next page
querystringoptionalSimple text search query (searches across default searchable properties)

Request

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

Response

{
  "total": 1,
  "count": 1,
  "results": [
    {
      "id": "812300140004",
      "properties": {
        "content": "Login page returns a 500 for SSO users.",
        "createdate": "2026-07-01T18:34:04.400Z",
        "hs_lastmodifieddate": "2026-07-01T18:34:55.848Z",
        "hs_object_id": "812300140004",
        "hs_pipeline": "0",
        "hs_pipeline_stage": "2",
        "hs_ticket_priority": "MEDIUM",
        "subject": "SSO login returns 500"
      }
    }
  ]
}

Try It

Try it

Sign in to execute this tool

Get Ticket Pipelines

Read Idempotent

POST /v1/tools/hubspot/getTicketPipelines

List all ticket pipelines and their stages. Use this BEFORE creating or updating tickets to get the correct pipeline ID and stage IDs. The hs_pipeline property requires the pipeline ID and hs_pipeline_stage requires the internal stage ID (not the label). Returns pipelines with their stages in display order.

Request

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

Response

{
  "pipelines": [
    {
      "id": "0",
      "label": "Support Pipeline",
      "displayOrder": 0,
      "stages": [
        {
          "id": "1",
          "label": "New",
          "displayOrder": 0,
          "metadata": {
            "ticketState": "OPEN",
            "isClosed": "false"
          }
        },
        {
          "id": "4",
          "label": "Closed",
          "displayOrder": 3,
          "metadata": {
            "ticketState": "CLOSED",
            "isClosed": "true"
          }
        }
      ]
    }
  ]
}

Try It

Try it

Sign in to execute this tool