HubSpot Service Hub automation: help desk, tickets, workflows and the API
By Roman Zakharenko · Facts checked
HubSpot Service Hub automation centres on the ticket: help desk channels create tickets, routing assigns them, pipelines and statuses track them, and ticket-based workflows act on them. Rule-based chatbots collect details before a ticket exists, and the workflow webhook action and the CRM API connect HubSpot to everything else. Below is what each piece does and where to start.
At a glance
- By default, help desk creates tickets automatically from every channel you connect to it.
- The default Support Pipeline has four ticket statuses: New, Waiting on contact, Waiting on us and Closed.
- Help desk SLA goals can track time to first reply, time to next reply and time to close.
- The workflow webhook action only accepts URLs that begin with HTTPS.
- Tickets are created through the API with a POST to /crm/v3/objects/tickets.
What you can automate in HubSpot Service Hub
Service Hub automation is spread across several tools that all act on the ticket record. Decide where a rule belongs before you build it; most problems come from the same logic living in two places.
| Tool | What it automates | Typical use |
|---|---|---|
| Help desk channels and routing | Creating tickets from connected channels and assigning them | Every support email or chat becomes a ticket and reaches the right team |
| Ticket pipelines and statuses | The stages a ticket moves through, and whether each counts as open or closed | Separate pipelines for different kinds of support work |
| SLA goals | Targets for first reply, next reply and close times | A faster response goal for chat than for email |
| Ticket-based workflows | Actions on tickets that meet enrollment triggers | Rotating owners, updating properties, delayed follow-ups |
| Rule-based chatbots | Questions, ticket creation and handoff in chat | Collecting order details before an agent joins |
| Webhooks and the API | Sending ticket data out, and creating or updating tickets from other systems | Syncing tickets with Jira or internal tools |
Help desk channels and routing
Help desk is HubSpot's workspace for ticket-based support. You can connect chat, email, form, calling and Facebook Messenger channels to it. By default, tickets are created automatically from every channel you connect, and HubSpot recommends connecting all of your support channels, because tickets from unconnected channels may be missing their subject and thread in help desk.
Routing is set per channel. When you connect a team email, for example, you choose the default pipeline, status and priority for new tickets, then pick a routing option:
- Specific users or teams.
- The contact owner.
- Skill-based routing, which matches tickets to agents' skills.
- An assignment workflow, when you need logic beyond the built-in options.
- No one, which leaves tickets in the Unassigned view for agents to pick up.
Automatic and skill-based routing depend on your seats and subscription. Check what your account includes before you design around a specific routing option.
Ticket pipelines, statuses and SLA goals
Tickets move through a pipeline, and for tickets the pipeline stages are called statuses. The default Support Pipeline has four: New, Waiting on contact, Waiting on us and Closed. You manage pipelines under Settings > Objects > Tickets > Pipelines, and every status you add must be marked as Open or Closed.
That choice drives automation. When a ticket moves to a closed status, its Close date is set to today; if it moves back to an open status, the Close date is cleared. You can adjust this behaviour per pipeline. Because workflows and reports filter on status, keep statuses few and unambiguous.
SLA goals in help desk set targets for time to first reply, time to next reply and time to close. A goal can apply to all tickets, to tickets with a specific property value, or to a combination of properties, and each rule can be limited to set hours and a time zone. HubSpot's own examples include a shorter reply goal for enterprise customers and a faster response goal for chat than for email. Snoozing a ticket does not affect its SLA.
Ticket-based workflows
A ticket-based workflow enrolls tickets that meet its enrollment triggers, then runs a sequence of actions. The actions most useful for support work:
- Delays: wait a set number of days, hours and minutes, or until a calendar date, a date property or an event.
- If/then branches: send tickets down different paths based on filter criteria combined with AND and OR.
- Edit record: set, copy or clear property values on the ticket or on an associated record.
- Create record: create a new record, which is associated with the enrolled ticket by default.
- Rotate record to owner: assign tickets in turn among the users you choose. Rotation counts are tracked per action and reset if you add or remove owners after the workflow is turned on.
- Send a webhook: call an external URL with ticket data, covered in the next section.
Good first candidates for HubSpot ticket workflows:
- Rotating new tickets in a pipeline among a group of agents.
- Copying a property from an associated record onto the ticket so routing and reports can use it.
- Sending a ticket to Jira or an internal tool through a webhook when its status changes.
- Waiting a set time after a ticket closes, then branching on a property to decide on a follow-up.
Chatbots, webhooks and the HubSpot API
Rule-based chatbots handle the first minutes of a chat. Three actions do most of the support work. Ask question stores the visitor's answer in a contact property and can offer quick replies. Submit a ticket creates a ticket with the name, pipeline and status you set, but is skipped if the visitor has no associated contact record. Send to team member hands the chat to a specific user or team after checking that they are available, and shows the away message if they aren't. If the bot has operating hours, chats are only routed to a team member during those hours.
The workflow webhook action sends data out. Choose POST or GET and enter a URL that begins with HTTPS. A POST body can include all of the record's properties or a customised set of keys, each mapped to a HubSpot property. You can authenticate with a request signature, which HubSpot adds as a header for your endpoint to verify, or with an API key stored as a secret and sent in a header or query parameter. You can test the action from its panel without affecting existing records. Whether this action is available depends on your subscription.
For the other direction, use the CRM API. A POST to /crm/v3/objects/tickets creates a ticket; include subject, hs_pipeline_stage (the status) and hs_pipeline, using internal IDs rather than labels. If no pipeline is given, the default pipeline is used. A GET to /crm/v3/properties/tickets lists your account's ticket properties. Apps can also subscribe to ticket events through the Webhooks API, including ticket.creation and ticket.propertyChange, which fires when a property you name changes on any ticket. These subscriptions are configured at the app level and need the tickets scope.
Getting this built
TascaLab builds on top of the tools you already use, with no platform switch, using APIs, webhooks and Make or n8n. HubSpot has a documented API and webhook support, so it can almost certainly be connected; the specific setup is confirmed on a free 30-minute Health Check call. Ticket Routing & Categorization is a one-time project at $775, Automated Reports by email or Slack are $700, and Custom Automation across several systems is from $1,200. Every project includes 30 days of post-launch support, basic documentation and no hidden fees, and most setups take 1–3 weeks.
Frequently asked questions
What are the default ticket statuses in HubSpot?
The default Support Pipeline has four statuses: New, Waiting on contact, Waiting on us and Closed. You can add your own and mark each one as Open or Closed.
Can HubSpot help desk track SLAs?
Yes. SLA goals in help desk track time to first reply, time to next reply and time to close, for all tickets or by ticket properties, and can be limited to set hours. Snoozing a ticket doesn't affect its SLA.
Can a HubSpot chatbot create tickets?
Yes. The Submit a ticket action creates a ticket with the name, pipeline and status you set. It is skipped if the visitor has no associated contact record.
How do I send HubSpot ticket data to another system?
Add a webhook action to a ticket-based workflow, which sends a POST or GET request to an HTTPS URL. Apps can also subscribe to ticket events such as ticket.creation and ticket.propertyChange through the Webhooks API.
What do I need to create a ticket through the HubSpot API?
Send a POST to /crm/v3/objects/tickets with subject, hs_pipeline_stage and hs_pipeline, using internal IDs. If you leave out the pipeline, the default one is used.
Want this set up for your team?
Book a free Health Check: a 30-minute call and a written report with 2–3 concrete recommendations, a fixed price and estimated running costs. No pitch.
Sources
- HubSpot Knowledge Base — Connect channels to help desk
- HubSpot Knowledge Base — Set up and manage object pipelines
- HubSpot Knowledge Base — Set SLA goals in help desk
- HubSpot Knowledge Base — Choose your workflow actions
- HubSpot Knowledge Base — Use webhooks with HubSpot workflows
- HubSpot Knowledge Base — Choose your rule-based chatbot actions
- HubSpot Developers — Tickets API
- HubSpot Developers — Webhooks API guide