Triage support tickets with OpenAI, HubSpot, Slack, Linear, and Google Sheets
Ready for 3.0What this workflow does
This workflow has 20 nodes and runs when an HTTP POST request hits its webhook URL. Along the way it connects Slack, Google Sheets and Gmail. It also calls api.hubapi.com, api.openai.com and api.linear.app over HTTP.
How it runs
Trigger: When an HTTP POST request hits its webhook URL.
- Normalize Ticket + SLA Profile (Code): runs custom JavaScript code
- Missing Required Fields? (If): checks a condition and branches into true / false
- Slack: uses Slack
- Lookup Dedupe in Audit Sheet (Google Sheets): lookup
- Respond Missing Fields (Respond to Webhook): sends the response back to the webhook caller
- Duplicate Ticket? (If): checks a condition and branches into true / false
- Slack: uses Slack
- Enrich Contact in HubSpot (HTTP Request): calls api.hubapi.com (POST)
- Respond Duplicate (Respond to Webhook): sends the response back to the webhook caller
- OpenAI Triage + Reply Draft (HTTP Request): calls api.openai.com (POST)
…plus 9 more steps. See the full node list below.
Services it uses
HTTP calls to: api.hubapi.com, api.openai.com, api.linear.app
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (8)
- Webhook
n8n-nodes-base.webhook - Code
n8n-nodes-base.code - If
n8n-nodes-base.if - Slack
n8n-nodes-base.slack - Respond to Webhook
n8n-nodes-base.respondToWebhook - Google Sheets
n8n-nodes-base.googleSheets - HTTP Request
n8n-nodes-base.httpRequest - Gmail
n8n-nodes-base.gmail
From the author
Quick overview This workflow receives support tickets via a webhook, normalizes and validates the payload, deduplicates against a Google Sheets audit log, enriches the requester in HubSpot, and uses OpenAI to classify and draft replies, then routes…