This workflow corresponds to n8n.io template #4665 — we link there as the canonical source.
This workflow follows the Agent → OpenAI Chat recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "YMlKRgPrCs1HCvXm",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Service Ticket Triage Helper",
"tags": [],
"nodes": [
{
"id": "588eb65e-0053-432f-a11e-2bb690674a35",
"name": "Service Ticket Created",
"type": "n8n-nodes-base.taigaTrigger",
"position": [
-880,
780
],
"parameters": {
"projectId": 1694047,
"resources": [
"issue"
],
"operations": [
"create"
]
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b16043dc-50b9-4645-85c9-ca5ee0570c13",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-920,
360
],
"parameters": {
"width": 680,
"height": 340,
"content": "## Service Ticket Triage Helper\nUsecase: When a service ticket comes in, it's possible that it may not have enough information to act on. So we use AI to help classify the information to determine if there's enough information. \n \nNeed to determine the following fields from the initial ticket:\n\n1. Can the 'Type' be determined?\n2. Can the 'Priority' be determined?\n3. Can the 'Recipient' be determined?\n4. Can the 'Status' be determined?\n5. 'Missing' will have what is missing in the ticket. \n\nIf all of these can be determined, then we can set the status accordingly. If not, then we set the status to \"Needs More Info\" and populate the \"Missing\" parameter with the issue. The ticket also is set to 'Blocker' so it cannot move forward until the issue is resolved. "
},
"typeVersion": 1
},
{
"id": "b938cc45-66d8-4ddf-9e47-a9859d4de23f",
"name": "More Info Needed?",
"type": "n8n-nodes-base.if",
"position": [
1036,
780
],
"parameters": {
"options": {
"ignoreCase": "={{ true }}"
},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "d5dcb6ce-fc47-4519-9403-cbc1e581cf4f",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Status }}",
"rightValue": "=Needs More Info"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "d770d99b-aa29-4730-873f-e1a0f89f1d8b",
"name": "Set Type to Question",
"type": "n8n-nodes-base.taiga",
"position": [
-64,
480
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"type": 5097140
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f1819ad7-3c53-4791-b419-f42264a65214",
"name": "Define Type",
"type": "n8n-nodes-base.switch",
"position": [
-284,
759
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Question",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c7b02551-5aa0-41e4-a99a-ca58987e0ccb",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.Type }}",
"rightValue": "Question"
}
]
},
"renameOutput": true
},
{
"outputKey": "Enhancement",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "28b9e2a1-ccc3-45c3-81e3-96fa08340f63",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.Type }}",
"rightValue": "Enhancement"
}
]
},
"renameOutput": true
},
{
"outputKey": "Bug",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "974e3244-80b3-481d-9ae2-bf01e337b3a6",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.Type }}",
"rightValue": "Bug"
}
]
},
"renameOutput": true
},
{
"outputKey": "Onboarding",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4321a8f3-ecc4-483f-b598-bc13d094a95a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.output.Type }}",
"rightValue": "Onboarding"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "ff5cb1d2-b375-4446-b0ea-93765aef6873",
"name": "Set Type to Enhancement",
"type": "n8n-nodes-base.taiga",
"position": [
-64,
680
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"type": 5097141
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b192a22d-05ed-4f32-bb38-fa116e5fb964",
"name": "Set Type to Bug",
"type": "n8n-nodes-base.taiga",
"position": [
-64,
880
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"type": 5097139
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "9a8f5eb9-90b6-499a-86a3-1fb49a08e198",
"name": "Set to Needs Info & Block",
"type": "n8n-nodes-base.taiga",
"position": [
1260,
760
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"status": 11860979,
"is_blocked": true,
"description": "=We need more information to forward this ticket: \n{{ $('AI Agent').item.json.output.Missing }}\n\nExisting information: \n{{ $('Service Ticket Created').item.json.data.description }}"
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "68929c1a-a3eb-42d3-9ce5-e4c925fa12a6",
"name": "Set Type to Onboarding",
"type": "n8n-nodes-base.taiga",
"position": [
-64,
1080
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"type": 5099270
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "9ab8069b-c4c1-41cf-a44d-876283374fa7",
"name": "Define Severity",
"type": "n8n-nodes-base.switch",
"position": [
156,
738
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Wishlist",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4321a8f3-ecc4-483f-b598-bc13d094a95a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Severity }}",
"rightValue": "Wishlist"
}
]
},
"renameOutput": true
},
{
"outputKey": "Minor",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c7b02551-5aa0-41e4-a99a-ca58987e0ccb",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Severity }}",
"rightValue": "Minor"
}
]
},
"renameOutput": true
},
{
"outputKey": "Normal",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "28b9e2a1-ccc3-45c3-81e3-96fa08340f63",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Severity }}",
"rightValue": "Normal"
}
]
},
"renameOutput": true
},
{
"outputKey": "Critical",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "974e3244-80b3-481d-9ae2-bf01e337b3a6",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Severity }}",
"rightValue": "Critical"
}
]
},
"renameOutput": true
},
{
"outputKey": "Important",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ffa060f2-d701-4ee3-8ebf-9cd43070cb26",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Severity }}",
"rightValue": "Important"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "28960c04-ec26-4815-b046-ff40a278b91c",
"name": "Set Severity to Wishlist",
"type": "n8n-nodes-base.taiga",
"position": [
376,
380
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"severity": 8467039
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "6645c07e-269a-490a-a734-225ea344831b",
"name": "Set Severity to Minor",
"type": "n8n-nodes-base.taiga",
"position": [
376,
580
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"severity": 8467040
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "05ec7c2a-4390-464c-b3c2-4ba792018e87",
"name": "Set Severity to Normal",
"type": "n8n-nodes-base.taiga",
"position": [
376,
780
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"severity": 8467041
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "b3710431-d5d2-47d2-8c04-764370aceb74",
"name": "Set Severity to Critical",
"type": "n8n-nodes-base.taiga",
"position": [
376,
980
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"severity": 8467043
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f5b69f61-b6cb-4698-840e-85ee66a953ac",
"name": "Set Severity to Important",
"type": "n8n-nodes-base.taiga",
"position": [
376,
1180
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"severity": 8467042
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d1fe2173-51d0-4d37-bcaf-0b556c0966cc",
"name": "Define Priority",
"type": "n8n-nodes-base.switch",
"position": [
596,
780
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Low",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "4321a8f3-ecc4-483f-b598-bc13d094a95a",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Priority }}",
"rightValue": "Low"
}
]
},
"renameOutput": true
},
{
"outputKey": "Normal",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c7b02551-5aa0-41e4-a99a-ca58987e0ccb",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Priority }}",
"rightValue": "Normal"
}
]
},
"renameOutput": true
},
{
"outputKey": "High",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "28b9e2a1-ccc3-45c3-81e3-96fa08340f63",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('AI Agent').item.json.output.Priority }}",
"rightValue": "High"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "04621fab-ad8c-4ac1-a34b-7b0ffdd8f0ed",
"name": "Set Priority To Low",
"type": "n8n-nodes-base.taiga",
"position": [
816,
580
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"priority": 5086090
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "9d44c422-7ddc-4c03-93bd-78ba0f0d6cc0",
"name": "Set Priority To High",
"type": "n8n-nodes-base.taiga",
"position": [
816,
980
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"priority": 5086092
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "67ae7694-b345-4a96-8749-7f036d071f8b",
"name": "Set Priority To Normal",
"type": "n8n-nodes-base.taiga",
"position": [
816,
780
],
"parameters": {
"issueId": "={{ $('Service Ticket Created').item.json.data.id }}",
"operation": "update",
"projectId": "={{ $('Service Ticket Created').item.json.data.project.id }}",
"updateFields": {
"priority": 5086091
}
},
"credentials": {
"taigaApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "5728f70b-7787-41b7-8271-6b89ae17a142",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-660,
780
],
"parameters": {
"text": "={{ $json.data.subject }}",
"options": {
"systemMessage": "You are a helpful AI assistant designed to analyze Taiga service ticket descriptions and extract these 4 fields and their values from the description:\n\nType: [Bug, Question, Enhancement, Onboarding]\nSeverity: [Wishlist, Minor, Normal, Important, Critical]\nPriority: [Low, Normal, High]\nStatus: [New, Rejected, Needs More Info]\nMissing: Blank if all the info is in the ticket\n\nEach parameter will return one of these options each. \nIf the status is \"Needs More Info\" then, it should say what's missing in the 'Missing' Parameter. "
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "0c281d01-dfab-4d91-8838-23446d269f67",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-512,
1000
],
"parameters": {
"jsonSchemaExample": "{\n \"Type\": \"Bug\",\n \"Severity\": \"Important\",\n \"Priority\": \"Medium\",\n \"Status\": \"New\",\n \"Missing\": \"Need more information about the fix. Where is it and what's the problem that is happening?\" \n \n}"
},
"typeVersion": 1.2
},
{
"id": "c00a96ca-4c20-44c0-91d3-2b9586008368",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-632,
1000
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "db6d4091-3c3f-4ba8-8e86-bd130ff06b74",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "Define Type",
"type": "main",
"index": 0
}
]
]
},
"Define Type": {
"main": [
[
{
"node": "Set Type to Question",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Type to Enhancement",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Type to Bug",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Type to Onboarding",
"type": "main",
"index": 0
}
]
]
},
"Define Priority": {
"main": [
[
{
"node": "Set Priority To Low",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Priority To Normal",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Priority To High",
"type": "main",
"index": 0
}
]
]
},
"Define Severity": {
"main": [
[
{
"node": "Set Severity to Wishlist",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Severity to Minor",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Severity to Normal",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Severity to Critical",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Severity to Important",
"type": "main",
"index": 0
}
]
]
},
"Set Type to Bug": {
"main": [
[
{
"node": "Define Severity",
"type": "main",
"index": 0
}
]
]
},
"More Info Needed?": {
"main": [
[
{
"node": "Set to Needs Info & Block",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set Priority To Low": {
"main": [
[
{
"node": "More Info Needed?",
"type": "main",
"index": 0
}
]
]
},
"Set Priority To High": {
"main": [
[
{
"node": "More Info Needed?",
"type": "main",
"index": 0
}
]
]
},
"Set Type to Question": {
"main": [
[
{
"node": "Define Severity",
"type": "main",
"index": 0
}
]
]
},
"Set Severity to Minor": {
"main": [
[
{
"node": "Define Priority",
"type": "main",
"index": 0
}
]
]
},
"Service Ticket Created": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Set Priority To Normal": {
"main": [
[
{
"node": "More Info Needed?",
"type": "main",
"index": 0
}
]
]
},
"Set Severity to Normal": {
"main": [
[
{
"node": "Define Priority",
"type": "main",
"index": 0
}
]
]
},
"Set Type to Onboarding": {
"main": [
[
{
"node": "Define Severity",
"type": "main",
"index": 0
}
]
]
},
"Set Type to Enhancement": {
"main": [
[
{
"node": "Define Severity",
"type": "main",
"index": 0
}
]
]
},
"Set Severity to Critical": {
"main": [
[
{
"node": "Define Priority",
"type": "main",
"index": 0
}
]
]
},
"Set Severity to Wishlist": {
"main": [
[
{
"node": "Define Priority",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Set Severity to Important": {
"main": [
[
{
"node": "Define Priority",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
openAiApitaigaApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Usecase: When a new service ticket is created in Taiga, it's often unclear whether it contains sufficient details to begin work. This workflow automates the triage process by: Using an AI model to extract key information from the ticket description. Automatically assigning…
Source: https://n8n.io/workflows/4665/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.
Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.
RAG CHATBOT Main. Uses telegram, telegramTrigger, lmChatOpenAi, n8n-nodes-mcp. Event-driven trigger; 87 nodes.
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
Digital marketers, content creators, social media managers, and businesses who want to use AI marketing automation for YouTube Shorts without spending hours on production. This AI workflow helps anyon