Loading...
Loading...
Create, triage, advance, and close HubSpot support tickets — pipeline discovery, contact/company association, priority queues, bulk stage moves, resolution close-out.
npx skill4agent add hubspot/agent-cli-skills ticket-resolutionbulk-operations/SKILL.mdhubspot historyhubspot <command> --helpticketstickets:45123hubspot pipelines list --type tickets --format table
hubspot pipelines stages --type tickets --pipeline <pipeline_id> --format tableIDLabelhs_ticket_priorityhs_ticket_categoryhs_resolutionenumerationhubspot properties get# Probe: send an invalid value; the 400 error lists the allowed options.
hubspot objects update --type tickets <some_ticket_id> --property hs_resolution=__probe__
# error: "was not one of the allowed options: [ISSUE_FIXED, FEATURE_REQUEST_TRACKED, ...]"
# Or read values already in use:
hubspot objects list --type tickets --limit 10 \
--properties hs_ticket_priority,hs_ticket_category,hs_resolutionsubjecths_pipelinehs_pipeline_stagehubspot objects create --type tickets \
--property subject="Login error on mobile app" \
--property content="User reports 401 since v3.2 release." \
--property hs_pipeline=<pipeline_id> \
--property hs_pipeline_stage=<new_stage_id> \
--property hs_ticket_priority=<value_from_step_2> \
--property hs_ticket_category=<value_from_step_2>
# Capture the "id" from the output JSON.
hubspot associations create --from tickets:<ticket_id> --to contacts:<contact_id>
hubspot associations create --from tickets:<ticket_id> --to companies:<company_id>bulk-operations/resources/json-patterns.mdcat support_requests.jsonl \
| jq -c '{properties:{subject:.subject, content:.description,
hs_pipeline:"<pipeline_id>", hs_pipeline_stage:"<new_stage_id>",
hs_ticket_priority:"<priority>", hs_ticket_category:"<category>"}}' \
| hubspot objects create --type tickets# Open tickets by priority
hubspot objects search --type tickets \
--filter "hs_pipeline_stage=<open_stage_id> AND hs_ticket_priority=HIGH" \
--properties subject,hubspot_owner_id,createdate
# Unassigned
hubspot objects search --type tickets \
--filter "!hubspot_owner_id AND hs_pipeline_stage=<open_stage_id>" \
--properties subject,hs_ticket_priority,createdatehubspot_owner_id=<id>hubspot owners list --format tablehubspot objects search --type tickets \
--filter "hs_ticket_category=BILLING_ISSUE AND hs_pipeline_stage=<new_stage_id>" \
| jq -c '{id, properties:{hs_pipeline_stage:"<waiting_stage_id>"}}' \
| hubspot objects update --type tickets --dry-run--dry-run--digest/--confirmbulk-operations/SKILL.md{hubspot_owner_id:"<new>"}sales-execution/SKILL.mdhubspot associations create --from notes:<note_id> --to tickets:<ticket_id>hs_resolutionhs_is_closed=trueclosed_datetime_to_closehubspot objects update --type tickets <ticket_id> \
--property hs_pipeline_stage=<closed_stage_id> \
--property hs_resolution=<allowed_resolution_value>properties getlist