HubSpot Ticket Management
Overview
Tickets in HubSpot represent support requests, service issues, or tasks that need resolution. For MSPs, tickets are the backbone of client service delivery -- tracking everything from break-fix requests and password resets to complex infrastructure projects. Tickets belong to a pipeline (e.g., "Support Pipeline") and progress through stages (e.g., "New", "In Progress", "Resolved"). They can be associated with contacts (the person who reported the issue), companies (the client organization), and deals (if the ticket relates to a service agreement).
Anti-triggers
- The MSP's service desk — HubSpot tickets are a CRM-side service
pipeline with no SLA clock, time entries, or billing; the PSA owns those, so
use the ConnectWise Manage, Autotask, HaloPSA, or Freshdesk ticket skills.
- A follow-up you are setting yourself rather than an issue the customer
raised — use
hubspot-activities.
- Revenue attached to the same account — use
hubspot-deals.
MCP Tools
Available Tools
| Tool |
Description |
Key Parameters |
hubspot_retrieve_ticket |
Get a single ticket by ID |
ticketId (required) |
hubspot_create_ticket |
Create a new ticket |
subject (required), content, hs_pipeline, hs_pipeline_stage |
hubspot_update_ticket |
Update an existing ticket |
ticketId (required), property fields to update |
Create a Ticket
Call hubspot_create_ticket with the ticket's properties:
Example: Create a support ticket:
subject: Email delivery issues - Acme Corp
content: Client reports intermittent email delivery failures since Monday morning. Affects 5 users on the acmecorp.com domain.
hs_pipeline: 0 (default support pipeline)
hs_pipeline_stage: 1 (New)
hs_ticket_priority: HIGH
hubspot_owner_id: 67890
Update a Ticket
Call hubspot_update_ticket with the ticketId and the properties to change:
Example: Move ticket to In Progress:
ticketId: 77777
hs_pipeline_stage: 2
Example: Resolve a ticket:
ticketId: 77777
hs_pipeline_stage: 4
hs_resolution: Reconfigured mail relay settings. Confirmed delivery restored for all 5 users.
Retrieve a Ticket
Call hubspot_retrieve_ticket with the ticketId:
Example:
hubspot_retrieve_ticket with ticketId=77777
Search Tickets
Tickets can be found via the associations API. To find tickets for a specific contact or company:
- Call
hubspot_access_associations with the contact or company ID and toObjectType=ticket
- Retrieve each ticket by ID using
hubspot_retrieve_ticket
Key Concepts
Default Ticket Pipeline Stages
HubSpot's default support pipeline includes these stages (your account may have custom stages):
| Stage ID |
Display Name |
Description |
1 |
New |
Ticket just created, not yet assigned |
2 |
Waiting on contact |
Awaiting response from the client |
3 |
Waiting on us |
MSP team needs to take action |
4 |
Closed |
Ticket resolved and closed |
Ticket Priority Levels
| Priority |
Description |
MSP Context |
LOW |
Low priority |
Non-urgent request, no business impact |
MEDIUM |
Medium priority |
Some business impact, can wait |
HIGH |
High priority |
Significant business impact, needs prompt attention |
Ticket Categories
MSPs commonly categorize tickets by type:
| Category |
Examples |
| Break-Fix |
Hardware failure, software crash |
| Service Request |
Password reset, new user setup |
| Project |
Network upgrade, server migration |
| Billing |
Invoice question, contract change |
| Monitoring Alert |
Automated alert from RMM/monitoring |
Field Reference
Core Fields
| Field |
Type |
Description |
subject |
string |
Ticket subject line |
content |
string |
Ticket description/body |
hs_pipeline |
enumeration |
Pipeline the ticket belongs to |
hs_pipeline_stage |
enumeration |
Current pipeline stage |
hs_ticket_priority |
enumeration |
Priority level (LOW, MEDIUM, HIGH) |
hs_ticket_category |
enumeration |
Ticket category |
hubspot_owner_id |
number |
Assigned owner (user ID) |
hs_resolution |
string |
Resolution description |
source_type |
enumeration |
How the ticket was created (EMAIL, CHAT, PHONE, FORM) |
createdate |
datetime |
Record creation date |
lastmodifieddate |
datetime |
Last modification date |
closed_date |
datetime |
When the ticket was closed |
hs_time_to_close_sla_due_date |
datetime |
SLA close deadline |
hs_time_to_first_response_sla_due_date |
datetime |
SLA first response deadline |
hs_last_message_received_at |
datetime |
Last client message timestamp |
hs_last_message_sent_at |
datetime |
Last agent message timestamp |
num_associated_contacts |
number |
Associated contacts count |
Common Workflows
Create a Support Ticket
- Find the contact - Call
hubspot_search_contacts to find the person reporting the issue
- Find the company - Call
hubspot_search_companies to find the client organization
- Create the ticket - Call
hubspot_create_ticket with subject, content, pipeline, stage, priority, and owner
- Associate with contact - Call
hubspot_create_association from ticket to contact
- Associate with company - Call
hubspot_create_association from ticket to company
- Log initial note - Call
hubspot_create_note to document initial triage findings
Search Tickets for a Client
- Find the company with
hubspot_search_companies
- Call
hubspot_access_associations with the company ID and toObjectType=ticket
- For each ticket ID, call
hubspot_retrieve_ticket to get full details
- Filter by pipeline stage to find open tickets
Update Ticket Status
- Call
hubspot_retrieve_ticket to confirm current state
- Call
hubspot_update_ticket with the new hs_pipeline_stage
- If closing, include
hs_resolution describing the fix
- Call
hubspot_create_note to log the status change details
Ticket Volume Report for a Client
- Find the company with
hubspot_search_companies
- Call
hubspot_access_associations to get all tickets
- Retrieve each ticket and categorize by:
- Status (open vs. closed)
- Priority (high, medium, low)
- Category (break-fix, service request, project)
- Time to resolution
- Calculate average resolution time and ticket volume trends
Escalation Workflow
- Call
hubspot_retrieve_ticket to review the current ticket
- Call
hubspot_update_ticket to set hs_ticket_priority to HIGH
- Call
hubspot_update_ticket to reassign hubspot_owner_id to the escalation engineer
- Call
hubspot_create_note to document the escalation reason
- Call
hubspot_create_task to create a follow-up task for the assigned engineer
Response Examples
Single Ticket:
{
"id": "77777",
"properties": {
"subject": "Email delivery issues - Acme Corp",
"content": "Client reports intermittent email delivery failures since Monday morning.",
"hs_pipeline": "0",
"hs_pipeline_stage": "2",
"hs_ticket_priority": "HIGH",
"hubspot_owner_id": "67890",
"source_type": "EMAIL",
"createdate": "2026-02-20T09:15:00.000Z",
"lastmodifieddate": "2026-02-21T14:30:00.000Z",
"closed_date": null,
"num_associated_contacts": "1"
},
"createdAt": "2026-02-20T09:15:00.000Z",
"updatedAt": "2026-02-21T14:30:00.000Z"
}
Error Handling
Common Errors
| Error |
Cause |
Resolution |
| Ticket not found |
Invalid ticket ID |
Verify the ID by checking associations or searching |
| Invalid pipeline |
Pipeline ID not recognized |
Check your HubSpot account for available pipelines |
| Invalid pipeline stage |
Stage ID not valid for the pipeline |
Use a valid stage ID for the selected pipeline |
| Invalid priority |
Priority value not recognized |
Use LOW, MEDIUM, or HIGH |
| Rate limited |
Too many requests |
Wait 10 seconds and retry |
Best Practices
- Write clear subjects - Include the client name and a brief issue description in the subject
- Set priority accurately - Use HIGH sparingly to maintain urgency signal integrity
- Associate with contact and company - Always link tickets to both for full context
- Update stages promptly - Move tickets through stages as work progresses
- Document resolutions - Always fill in
hs_resolution when closing tickets
- Track SLA deadlines - Monitor
hs_time_to_first_response_sla_due_date and hs_time_to_close_sla_due_date
- Assign owners - Every ticket should have a
hubspot_owner_id for accountability
- Log notes on progress - Create notes to document troubleshooting steps and findings
- Categorize consistently - Use standardized categories for accurate reporting
- Review open tickets regularly - Check for stale or forgotten tickets weekly
Related Skills
1---2name: hubspot-tickets3description: HubSpot support tickets: core fields, default pipeline stages, priority levels, MSP ticket categories, SLA timestamp properties, and associating tickets with contacts, companies, and deals.4---56# HubSpot Ticket Management78## Overview910Tickets in HubSpot represent support requests, service issues, or tasks that need resolution. For MSPs, tickets are the backbone of client service delivery -- tracking everything from break-fix requests and password resets to complex infrastructure projects. Tickets belong to a pipeline (e.g., "Support Pipeline") and progress through stages (e.g., "New", "In Progress", "Resolved"). They can be associated with contacts (the person who reported the issue), companies (the client organization), and deals (if the ticket relates to a service agreement).1112## Anti-triggers1314- **The MSP's service desk** — HubSpot tickets are a CRM-side service15 pipeline with no SLA clock, time entries, or billing; the PSA owns those, so16 use the ConnectWise Manage, Autotask, HaloPSA, or Freshdesk ticket skills.17- **A follow-up you are setting yourself rather than an issue the customer18 raised** — use `hubspot-activities`.19- **Revenue attached to the same account** — use `hubspot-deals`.2021## MCP Tools2223### Available Tools2425| Tool | Description | Key Parameters |26|------|-------------|----------------|27| `hubspot_retrieve_ticket` | Get a single ticket by ID | `ticketId` (required) |28| `hubspot_create_ticket` | Create a new ticket | `subject` (required), `content`, `hs_pipeline`, `hs_pipeline_stage` |29| `hubspot_update_ticket` | Update an existing ticket | `ticketId` (required), property fields to update |3031### Create a Ticket3233Call `hubspot_create_ticket` with the ticket's properties:3435**Example: Create a support ticket:**36- `subject`: `Email delivery issues - Acme Corp`37- `content`: `Client reports intermittent email delivery failures since Monday morning. Affects 5 users on the acmecorp.com domain.`38- `hs_pipeline`: `0` (default support pipeline)39- `hs_pipeline_stage`: `1` (New)40- `hs_ticket_priority`: `HIGH`41- `hubspot_owner_id`: `67890`4243### Update a Ticket4445Call `hubspot_update_ticket` with the `ticketId` and the properties to change:4647**Example: Move ticket to In Progress:**48- `ticketId`: `77777`49- `hs_pipeline_stage`: `2`5051**Example: Resolve a ticket:**52- `ticketId`: `77777`53- `hs_pipeline_stage`: `4`54- `hs_resolution`: `Reconfigured mail relay settings. Confirmed delivery restored for all 5 users.`5556### Retrieve a Ticket5758Call `hubspot_retrieve_ticket` with the `ticketId`:5960**Example:**61- `hubspot_retrieve_ticket` with `ticketId=77777`6263### Search Tickets6465Tickets can be found via the associations API. To find tickets for a specific contact or company:66671. Call `hubspot_access_associations` with the contact or company ID and `toObjectType=ticket`682. Retrieve each ticket by ID using `hubspot_retrieve_ticket`6970## Key Concepts7172### Default Ticket Pipeline Stages7374HubSpot's default support pipeline includes these stages (your account may have custom stages):7576| Stage ID | Display Name | Description |77|----------|-------------|-------------|78| `1` | New | Ticket just created, not yet assigned |79| `2` | Waiting on contact | Awaiting response from the client |80| `3` | Waiting on us | MSP team needs to take action |81| `4` | Closed | Ticket resolved and closed |8283### Ticket Priority Levels8485| Priority | Description | MSP Context |86|----------|-------------|-------------|87| `LOW` | Low priority | Non-urgent request, no business impact |88| `MEDIUM` | Medium priority | Some business impact, can wait |89| `HIGH` | High priority | Significant business impact, needs prompt attention |9091### Ticket Categories9293MSPs commonly categorize tickets by type:9495| Category | Examples |96|----------|---------|97| Break-Fix | Hardware failure, software crash |98| Service Request | Password reset, new user setup |99| Project | Network upgrade, server migration |100| Billing | Invoice question, contract change |101| Monitoring Alert | Automated alert from RMM/monitoring |102103## Field Reference104105### Core Fields106107| Field | Type | Description |108|-------|------|-------------|109| `subject` | string | Ticket subject line |110| `content` | string | Ticket description/body |111| `hs_pipeline` | enumeration | Pipeline the ticket belongs to |112| `hs_pipeline_stage` | enumeration | Current pipeline stage |113| `hs_ticket_priority` | enumeration | Priority level (LOW, MEDIUM, HIGH) |114| `hs_ticket_category` | enumeration | Ticket category |115| `hubspot_owner_id` | number | Assigned owner (user ID) |116| `hs_resolution` | string | Resolution description |117| `source_type` | enumeration | How the ticket was created (EMAIL, CHAT, PHONE, FORM) |118| `createdate` | datetime | Record creation date |119| `lastmodifieddate` | datetime | Last modification date |120| `closed_date` | datetime | When the ticket was closed |121| `hs_time_to_close_sla_due_date` | datetime | SLA close deadline |122| `hs_time_to_first_response_sla_due_date` | datetime | SLA first response deadline |123| `hs_last_message_received_at` | datetime | Last client message timestamp |124| `hs_last_message_sent_at` | datetime | Last agent message timestamp |125| `num_associated_contacts` | number | Associated contacts count |126127## Common Workflows128129### Create a Support Ticket1301311. **Find the contact** - Call `hubspot_search_contacts` to find the person reporting the issue1322. **Find the company** - Call `hubspot_search_companies` to find the client organization1333. **Create the ticket** - Call `hubspot_create_ticket` with subject, content, pipeline, stage, priority, and owner1344. **Associate with contact** - Call `hubspot_create_association` from ticket to contact1355. **Associate with company** - Call `hubspot_create_association` from ticket to company1366. **Log initial note** - Call `hubspot_create_note` to document initial triage findings137138### Search Tickets for a Client1391401. Find the company with `hubspot_search_companies`1412. Call `hubspot_access_associations` with the company ID and `toObjectType=ticket`1423. For each ticket ID, call `hubspot_retrieve_ticket` to get full details1434. Filter by pipeline stage to find open tickets144145### Update Ticket Status1461471. Call `hubspot_retrieve_ticket` to confirm current state1482. Call `hubspot_update_ticket` with the new `hs_pipeline_stage`1493. If closing, include `hs_resolution` describing the fix1504. Call `hubspot_create_note` to log the status change details151152### Ticket Volume Report for a Client1531541. Find the company with `hubspot_search_companies`1552. Call `hubspot_access_associations` to get all tickets1563. Retrieve each ticket and categorize by:157 - Status (open vs. closed)158 - Priority (high, medium, low)159 - Category (break-fix, service request, project)160 - Time to resolution1614. Calculate average resolution time and ticket volume trends162163### Escalation Workflow1641651. Call `hubspot_retrieve_ticket` to review the current ticket1662. Call `hubspot_update_ticket` to set `hs_ticket_priority` to `HIGH`1673. Call `hubspot_update_ticket` to reassign `hubspot_owner_id` to the escalation engineer1684. Call `hubspot_create_note` to document the escalation reason1695. Call `hubspot_create_task` to create a follow-up task for the assigned engineer170171## Response Examples172173**Single Ticket:**174175```json176{177 "id": "77777",178 "properties": {179 "subject": "Email delivery issues - Acme Corp",180 "content": "Client reports intermittent email delivery failures since Monday morning.",181 "hs_pipeline": "0",182 "hs_pipeline_stage": "2",183 "hs_ticket_priority": "HIGH",184 "hubspot_owner_id": "67890",185 "source_type": "EMAIL",186 "createdate": "2026-02-20T09:15:00.000Z",187 "lastmodifieddate": "2026-02-21T14:30:00.000Z",188 "closed_date": null,189 "num_associated_contacts": "1"190 },191 "createdAt": "2026-02-20T09:15:00.000Z",192 "updatedAt": "2026-02-21T14:30:00.000Z"193}194```195196## Error Handling197198### Common Errors199200| Error | Cause | Resolution |201|-------|-------|------------|202| Ticket not found | Invalid ticket ID | Verify the ID by checking associations or searching |203| Invalid pipeline | Pipeline ID not recognized | Check your HubSpot account for available pipelines |204| Invalid pipeline stage | Stage ID not valid for the pipeline | Use a valid stage ID for the selected pipeline |205| Invalid priority | Priority value not recognized | Use `LOW`, `MEDIUM`, or `HIGH` |206| Rate limited | Too many requests | Wait 10 seconds and retry |207208## Best Practices2092101. **Write clear subjects** - Include the client name and a brief issue description in the subject2112. **Set priority accurately** - Use HIGH sparingly to maintain urgency signal integrity2123. **Associate with contact and company** - Always link tickets to both for full context2134. **Update stages promptly** - Move tickets through stages as work progresses2145. **Document resolutions** - Always fill in `hs_resolution` when closing tickets2156. **Track SLA deadlines** - Monitor `hs_time_to_first_response_sla_due_date` and `hs_time_to_close_sla_due_date`2167. **Assign owners** - Every ticket should have a `hubspot_owner_id` for accountability2178. **Log notes on progress** - Create notes to document troubleshooting steps and findings2189. **Categorize consistently** - Use standardized categories for accurate reporting21910. **Review open tickets regularly** - Check for stale or forgotten tickets weekly220221## Related Skills222223- [HubSpot API Patterns](../api-patterns/SKILL.md) - MCP tools reference and connection info224- [HubSpot Contacts](../contacts/SKILL.md) - Contacts who submitted tickets225- [HubSpot Companies](../companies/SKILL.md) - Companies associated with tickets226- [HubSpot Deals](../deals/SKILL.md) - Deals that may relate to service delivery227- [HubSpot Activities](../activities/SKILL.md) - Notes and tasks on tickets