KI-gestützte Automatisierung basierend auf Outlook, OpenAI und JIRA

Experte

Dies ist ein Ticket Management, Multimodal AI-Bereich Automatisierungsworkflow mit 18 Nodes. Hauptsächlich werden If, Jira, Gmail, Webhook, Function und andere Nodes verwendet. KI-gestütztes Automatisierungssystem, das Outlook-, OpenAI- und JIRA-Tickets integriert

Voraussetzungen
  • Google-Konto + Gmail API-Anmeldedaten
  • HTTP Webhook-Endpunkt (wird von n8n automatisch generiert)
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "meta": {
    "instanceId": "54727bff0f5eeffb7bf9295509a4e3003a61b32ef52459f329ae99e7b5243230"
  },
  "nodes": [
    {
      "id": "b28b477c-281c-4371-9bc6-e9cdff0623cb",
      "name": "Outlook Trigger1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        -48,
        1344
      ],
      "webhookId": "d22fa384-f0e1-411f-bb06-867458d1a22c",
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": {
            "filters": {
              "receivedAfter": "={{ $now.minus({ minutes: 30 }).toISO() }}"
            }
          }
        },
        "operation": "getAll"
      },
      "typeVersion": 2
    },
    {
      "id": "51e582d1-d8ea-43f1-8db8-d8af869b41fe",
      "name": "Webhook-Trigger Trigger1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -48,
        1104
      ],
      "webhookId": "f319cf3f-aad0-487d-b4a1-897ac7545efe",
      "parameters": {
        "path": "support",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 1.1
    },
    {
      "id": "96a9a667-47e9-4103-b3ff-239a2fe0b888",
      "name": "Normalize Data1",
      "type": "n8n-nodes-base.function",
      "position": [
        160,
        1232
      ],
      "parameters": {
        "functionCode": "const data = $input.all();\nconst result = [];\n\nfor (const item of data) {\n  let normalized = {\n    source: item.json.from ? 'email' : 'webhook',\n    email: item.json.from?.emailAddress?.address || item.json.email,\n    name: item.json.from?.emailAddress?.name || item.json.name,\n    subject: item.json.subject || 'Web Request',\n    message: item.json.body?.content || item.json.message,\n    timestamp: new Date().toISOString()\n  };\n  result.push({ json: normalized });\n}\n\nreturn result;"
      },
      "typeVersion": 1
    },
    {
      "id": "b6447498-d7ad-4733-bcd7-bbf0bae1cb1e",
      "name": "Duplikate entfernen1",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        368,
        1232
      ],
      "parameters": {
        "options": {},
        "operation": "removeItemsSeenInPreviousExecutions",
        "dedupeValue": "={{ $json.email + $json.subject }}"
      },
      "typeVersion": 2
    },
    {
      "id": "37505804-f4a2-445f-b751-bd4b5aa98062",
      "name": "OpenAI Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        576,
        1424
      ],
      "parameters": {
        "model": {
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "typeVersion": 1.2
    },
    {
      "id": "d8a47dc8-7baa-414f-9ffb-c36f1ee87294",
      "name": "JSON Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        768,
        1424
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"category\": {\"type\": \"string\"},\n    \"urgency\": {\"type\": \"string\"},\n    \"expertise\": {\"type\": \"string\"},\n    \"canAutoResolve\": {\"type\": \"boolean\"},\n    \"isVIP\": {\"type\": \"boolean\"}\n  }\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "8210bcfa-c0f1-4329-a7ba-8d3b0fa3e3ac",
      "name": "Route Decision1",
      "type": "n8n-nodes-base.if",
      "position": [
        928,
        1232
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ff7f1bf0-0ce3-4eb3-a9de-1675a785f2c2",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3ef69825-72c7-4d8c-9009-eba6a7591c19",
      "name": "Auto Response1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1184,
        1056
      ],
      "webhookId": "3d561e9a-2aaa-425b-8f3b-e0d9b51bed5f",
      "parameters": {
        "operation": "sendMessage"
      },
      "typeVersion": 2
    },
    {
      "id": "1bfa088a-9721-4975-a7b0-cea8d6225114",
      "name": "Assign Agent1",
      "type": "n8n-nodes-base.function",
      "position": [
        1184,
        1328
      ],
      "parameters": {
        "functionCode": "const request = $json;\nconst expertise = request.output.expertise;\nconst isVIP = request.output.isVIP;\nconst urgency = request.output.urgency;\n\n// Agent assignment logic\nconst agents = {\n  'frontend': 'john@company.com',\n  'backend': 'sarah@company.com',\n  'business': 'lisa@company.com',\n  'support': 'tom@company.com'\n};\n\nconst assignedAgent = agents[expertise] || agents['support'];\n\n// SLA calculation\nconst slaHours = {\n  'critical': isVIP ? 1 : 2,\n  'high': isVIP ? 4 : 8,\n  'medium': isVIP ? 8 : 24,\n  'low': 24\n};\n\nreturn [{\n  json: {\n    ...request,\n    assignedAgent,\n    slaHours: slaHours[urgency],\n    priority: urgency === 'critical' ? 1 : urgency === 'high' ? 2 : 3\n  }\n}];"
      },
      "typeVersion": 1
    },
    {
      "id": "53f8485b-5287-433a-b7b7-e2e6356fd7ed",
      "name": "Create JIRA Ticket1",
      "type": "n8n-nodes-base.jira",
      "position": [
        1360,
        1328
      ],
      "parameters": {
        "project": {
          "value": "SUP"
        },
        "summary": "{{ $json.subject }}",
        "issueType": {
          "value": "Task"
        },
        "additionalFields": {
          "labels": [
            "{{ $json.output.category }}",
            "{{ $json.source }}"
          ],
          "assignee": {
            "value": "{{ $json.assignedAgent }}"
          },
          "priority": {
            "value": "{{ $json.priority }}"
          },
          "description": "Customer: {{ $json.name }} ({{ $json.email }})\nSource: {{ $json.source }}\nCategory: {{ $json.output.category }}\nUrgency: {{ $json.output.urgency }}\n{{ $json.output.isVIP ? 'VIP CUSTOMER' : '' }}\n\nMessage:\n{{ $json.message }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6d76ea6d-050c-4e36-a217-f6efd492217b",
      "name": "Send Confirmation1",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1536,
        1328
      ],
      "webhookId": "909c81d1-fb58-4349-b978-0966e5d93e3b",
      "parameters": {
        "message": "Dear {{ $json.name }},\n\nYour support request has been received and assigned ticket #{{ $json.ticketKey }}.\n\nPriority: {{ $json.output.urgency }}{{ $json.output.isVIP ? ' (VIP)' : '' }}\nAssigned to: {{ $json.assignedAgent }}\nExpected response: {{ $json.slaHours }} hours\n\nWe'll update you as we work on your request.\n\nBest regards,\nSupport Team",
        "options": {},
        "subject": "Support Ticket Created - {{ $json.subject }}"
      },
      "typeVersion": 2.1
    },
    {
      "id": "9811b90f-39a8-4c9d-9472-5ae94c29aa97",
      "name": "Webhook-Trigger Response1",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1728,
        1056
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "{\n  \"status\": \"success\",\n  \"message\": \"Request processed\",\n  \"ticketId\": \"{{ $json.ticketKey || 'AUTO_RESOLVED' }}\"\n}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "2c96f390-163c-4b2a-8a69-ad53ffbfdd17",
      "name": "AI Classifier2",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        592,
        1232
      ],
      "parameters": {
        "text": "Subject: {{ $json.subject }}\nMessage: {{ $json.message }}\nFrom: {{ $json.name }} ({{ $json.email }})",
        "messages": {
          "messageValues": [
            {
              "message": "Classify this support request. Return JSON with:\n{\n  \"category\": \"technical|billing|account|feature\",\n  \"urgency\": \"critical|high|medium|low\",\n  \"expertise\": \"frontend|backend|support|business\",\n  \"canAutoResolve\": true|false,\n  \"isVIP\": true|false\n}\n\nVIP indicators: enterprise email domains, mentions of \"enterprise\", \"premium\", urgent language.\nAuto-resolve: simple how-to questions, password resets, basic billing questions."
            }
          ]
        },
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "ea4bb972-004b-4214-b9a7-4a0fe0ce014d",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        528
      ],
      "parameters": {
        "color": 3,
        "width": 464,
        "height": 336,
        "content": "## SMART SUPPORT AGENT\n\nThis workflow handles support requests from:\n- Outlook emails (shared inbox)\n- Web forms (webhook endpoint)\n\n### KEY FEATURES:\n✅ AI-powered classification\n✅ Auto-resolution for simple issues\n✅ Smart agent routing\n✅ SLA tracking\n"
      },
      "typeVersion": 1
    },
    {
      "id": "23bd9e14-7a5a-4ac0-82da-8c901f422557",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        880
      ],
      "parameters": {
        "color": 3,
        "width": 464,
        "height": 400,
        "content": "### CUSTOMIZE FOR YOUR TEAM\n\nSTEP 1: Update \"Assign Agent\" node\n→ Edit function code\n→ Replace email addresses with your team\n\nSTEP 2: Modify JIRA settings\n→ \"Create JIRA Ticket\" node\n→ Change project key from \"SUP\"\n→ Update issue types if needed\n\nSTEP 3: Adjust SLA times\n→ In \"Assign Agent\" function\n→ Modify slaHours object values\n\nSTEP 4: Test webhook endpoint\n→ https://your-n8n.com/webhook/support"
      },
      "typeVersion": 1
    },
    {
      "id": "40549f86-6fc2-427c-b382-944c5f321fb3",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        528
      ],
      "parameters": {
        "width": 352,
        "height": 1056,
        "content": "### AI CLASSIFICATION TIPS\n\nThe AI determines:\n- Category (technical/billing/account/feature)\n- Urgency (critical/high/medium/low) \n- Who should handle it\n- If it can be auto-resolved\n\nTO IMPROVE ACCURACY:\n→ Add examples to the prompt\n→ Include your product-specific terms\n→ Train with your actual tickets\n\nVIP DETECTION:\nCurrently looks for enterprise domains\n→ Customize in the prompt!"
      },
      "typeVersion": 1
    },
    {
      "id": "97a5075b-315d-406b-9e43-bf1f448eee67",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        528
      ],
      "parameters": {
        "width": 288,
        "height": 688,
        "content": "### AUTO-RESOLUTION WORKS FOR:\n\n✅ Password reset requests\n✅ \"Where is my invoice?\" \n✅ Basic how-to questions\n✅ Documentation requests\n✅ Simple account questions\n\n### NEVER AUTO-RESOLVES:\n- Billing disputes\n- Security issues  \n- Bug reports\n- VIP customer requests\n- Complex technical problems\n\nCUSTOMIZE: Edit the AI prompt to match your support patterns!"
      },
      "typeVersion": 1
    },
    {
      "id": "6919f336-fc6b-4c46-b1dd-222b426c23cb",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        528
      ],
      "parameters": {
        "width": 336,
        "height": 752,
        "content": "### WEBHOOK INTEGRATION\n\nENDPOINT: /webhook/support\nMETHOD: POST\n\nREQUIRED FIELDS:\n{\n  \"email\": \"customer@company.com\",\n  \"name\": \"Customer Name\", \n  \"message\": \"Support request text\"\n}\n\nOPTIONAL FIELDS:\n{\n  \"subject\": \"Custom subject\",\n  \"priority\": \"high\",\n  \"source\": \"website\"\n}\n\nINTEGRATE WITH:\n- Contact forms\n- Chat widgets\n- Mobile apps\n- Other systems\n\nReturns: {\"status\":\"success\", \"ticketId\":\"...\"}"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d8a47dc8-7baa-414f-9ffb-c36f1ee87294": {
      "ai_outputParser": [
        [
          {
            "node": "2c96f390-163c-4b2a-8a69-ad53ffbfdd17",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "1bfa088a-9721-4975-a7b0-cea8d6225114": {
      "main": [
        [
          {
            "node": "53f8485b-5287-433a-b7b7-e2e6356fd7ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37505804-f4a2-445f-b751-bd4b5aa98062": {
      "ai_languageModel": [
        [
          {
            "node": "2c96f390-163c-4b2a-8a69-ad53ffbfdd17",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "2c96f390-163c-4b2a-8a69-ad53ffbfdd17": {
      "main": [
        [
          {
            "node": "8210bcfa-c0f1-4329-a7ba-8d3b0fa3e3ac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3ef69825-72c7-4d8c-9009-eba6a7591c19": {
      "main": [
        [
          {
            "node": "Webhook Response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96a9a667-47e9-4103-b3ff-239a2fe0b888": {
      "main": [
        [
          {
            "node": "Remove Duplicates1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8210bcfa-c0f1-4329-a7ba-8d3b0fa3e3ac": {
      "main": [
        [
          {
            "node": "3ef69825-72c7-4d8c-9009-eba6a7591c19",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1bfa088a-9721-4975-a7b0-cea8d6225114",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b28b477c-281c-4371-9bc6-e9cdff0623cb": {
      "main": [
        [
          {
            "node": "96a9a667-47e9-4103-b3ff-239a2fe0b888",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Trigger1": {
      "main": [
        [
          {
            "node": "96a9a667-47e9-4103-b3ff-239a2fe0b888",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Remove Duplicates1": {
      "main": [
        [
          {
            "node": "2c96f390-163c-4b2a-8a69-ad53ffbfdd17",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6d76ea6d-050c-4e36-a217-f6efd492217b": {
      "main": [
        [
          {
            "node": "Webhook Response1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "53f8485b-5287-433a-b7b7-e2e6356fd7ed": {
      "main": [
        [
          {
            "node": "6d76ea6d-050c-4e36-a217-f6efd492217b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Ticketverwaltung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes18
Kategorie2
Node-Typen12
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34