ticket-resolution

Create, triage, advance, and close HubSpot support tickets — pipeline discovery, contact/company association, priority queues, bulk stage moves, resolution close-out.

By hubspot · 1,611 installs

npx skills add hubspot/agent-cli-skills --skill ticket-resolution

Source repository · Upstream listing

Read bulk operations/SKILL.md first — JSONL piping, batch read, pagination, dry run/digest/confirm, and hubspot history recovery live there. hubspot <command help is authoritative. Tickets use the tickets object type (plural, e.g. tickets:45123 ). 1. Discover pipeline + stages (portal specific, run every session) Stage IDs differ in every portal — never hard code them. The stage table prints each stage's ID and Label ("New", "Waiting on contact", "Closed", etc.). 2. Verify enum option values for THIS portal hs ticket priority , hs ticket category , and hs resolution are all enumeration properties — option values are portal configurable and hubspot properties get does NOT return them. Discover by probing or by reading live records: Do NOT assume HubSpot defaults — read the portal. 3. Create a ticket and associate it subject is the only practically required property. Skipping hs pipeline / hs pipeline stage lands the ticket in the default pipeline's first stage. Bulk intake from a JSONL queue (see bulk operations/resources/json patterns.md for reshape patterns): 4. Triage queries Filter by owner with hubspot owner id=<id (find IDs via hubspot owners list format table ). 5. Advance tickets through stages (bulk update from search) Re pipe the same search without dry run to execute. For 100 rows, follow the digest/ confirm flow in bulk operations/SKILL.md ("Safe destructive workflow"). Reassign in bulk works identically with {hubspot owner id:"<new "} . 6. Log a resolution note Activity creation lives in sales execution/SKILL.md (notes/calls/meetings/tasks). After creating the note there, link it: hubspot associations create from notes:<note id to tickets:<ticket id . 7. Close the ticket hs resolution is an enumeration — pass an allowed option value from Step 2, not free text. HubSpot then computes hs is closed=true , closed date , and time to close . Known limitations properties get / list do not return enum options — probe via update error or read live records (CLI ask logged). No Conversations/Inbox API surface — chat threads and inbox emails are not CLI accessible.