2026-03-16 17:10:41 +01:00
{
"name" : "Workflow A – Mail Processing & KI Analysis" ,
"description" : "Automated workflow to process support tickets, analyze them with AI, search knowledge base, and provide intelligent suggestions." ,
"nodes" : [
{
"id" : "uuid-trigger-1" ,
"name" : "Cron Trigger" ,
"type" : "n8n-nodes-base.cron" ,
"typeVersion" : 1 ,
"position" : [
250 ,
200
] ,
"parameters" : {
"cronExpression" : "*/5 * * * *" ,
"timezone" : "Europe/Berlin"
}
} ,
{
"id" : "uuid-freescout-1" ,
"name" : "Freescout Get Conversations" ,
"type" : "n8n-nodes-base.httpRequest" ,
"typeVersion" : 4 ,
"position" : [
450 ,
200
] ,
"parameters" : {
"authentication" : "predefinedCredentialType" ,
"url" : "https://ekshelpdesk.fft-it.de/api/v1/mailboxes/1/conversations" ,
"method" : "GET" ,
"options" : { } ,
"sendQuery" : true ,
"queryParameters" : {
"parameters" : [
{
"name" : "status" ,
"value" : "active"
} ,
{
"name" : "limit" ,
"value" : "20"
} ,
{
"name" : "processed_by_ai" ,
"value" : "false"
}
]
}
} ,
"credentials" : {
"httpBasicAuth" : "Freescout API"
}
} ,
{
"id" : "uuid-loop-1" ,
"name" : "Loop Through Conversations" ,
"type" : "n8n-nodes-base.loop" ,
"typeVersion" : 1 ,
"position" : [
650 ,
200
] ,
"parameters" : {
"iterations" : "={{ $json.body._embedded.conversations.length }}" ,
"dataPropertyName" : "body._embedded.conversations"
}
} ,
{
"id" : "uuid-set-extract-1" ,
"name" : "Extract Conversation Data" ,
"type" : "n8n-nodes-base.set" ,
"typeVersion" : 3 ,
"position" : [
850 ,
200
] ,
"parameters" : {
"options" : { } ,
"assignments" : {
"assignments" : [
{
"name" : "ticket_id" ,
"value" : "={{ $json.id }}" ,
"type" : "string"
} ,
{
"name" : "subject" ,
"value" : "={{ $json.subject }}" ,
"type" : "string"
} ,
{
"name" : "problem_text" ,
"value" : "={{ $json.threads[0].body || 'No description' }}" ,
"type" : "string"
} ,
{
"name" : "customer_name" ,
"value" : "={{ $json.customer_name }}" ,
"type" : "string"
} ,
{
"name" : "status" ,
"value" : "={{ $json.status }}" ,
"type" : "string"
} ,
{
"name" : "mailbox_id" ,
"value" : 1 ,
"type" : "number"
}
]
}
}
} ,
{
"id" : "uuid-milvus-query-1" ,
"name" : "Milvus Query KB" ,
"type" : "n8n-nodes-base.httpRequest" ,
"typeVersion" : 4 ,
"position" : [
1050 ,
200
] ,
"parameters" : {
"authentication" : "none" ,
"url" : "http://milvus:9091/api/v1/search" ,
"method" : "POST" ,
"headers" : {
"Content-Type" : "application/json"
} ,
2026-03-16 17:13:26 +01:00
"sendBody" : true ,
"specifyBody" : "json" ,
"jsonBody" : "={\"collection_name\":\"knowledge_base_embeddings\",\"search_params\":{\"metric_type\":\"L2\",\"params\":{\"nprobe\":10}},\"annnSearch\":{\"field\":\"embedding\",\"limit\":3,\"metric_type\":\"L2\"},\"output_fields\":[\"title\",\"content\",\"category\",\"solution_type\",\"created_at\"]}"
2026-03-16 17:10:41 +01:00
}
} ,
{
"id" : "uuid-llm-call-1" ,
"name" : "LiteLLM AI Analysis" ,
"type" : "n8n-nodes-base.httpRequest" ,
"typeVersion" : 4 ,
"position" : [
1250 ,
200
] ,
"parameters" : {
"authentication" : "none" ,
"url" : "http://llm:8000/v1/chat/completions" ,
"method" : "POST" ,
"headers" : {
"Content-Type" : "application/json"
} ,
2026-03-16 17:13:26 +01:00
"sendBody" : true ,
"specifyBody" : "json" ,
"jsonBody" : "={\"model\":\"gpt-3.5-turbo\",\"messages\":[{\"role\":\"system\",\"content\":\"Du bist ein IT-Support-Assistent. Analysiere das folgende Support-Ticket und: 1. Verstehe das Problem 2. Schaue in der Wissensdatenbank nach ähnlichen Problemen 3. Gib einen strukturierten Vorschlag zurück als JSON. Die Lösung kann sein: BARAMUNDI_JOB (Ein automatisierter Job im Baramundi System), AUTOMATISCHE_ANTWORT (Eine automatische Antwort an den Kunden), ESKALATION (Manuelle Eskalation erforderlich)\"},{\"role\":\"user\",\"content\":\"Ticket ID: ={{$json.ticket_id}} Subjekt: ={{$json.subject}} Problem: ={{$json.problem_text}} Gib deine Analyse als JSON zurück mit kategorie, problem_verstanden, lösung_typ, baramundi_job, antwort_text, vertrauen (0.0-1.0), und begründung.\"}],\"temperature\":0.7,\"max_tokens\":1000}"
2026-03-16 17:10:41 +01:00
}
} ,
{
"id" : "uuid-parse-response-1" ,
"name" : "Parse AI Response" ,
"type" : "n8n-nodes-base.set" ,
"typeVersion" : 3 ,
"position" : [
1450 ,
200
] ,
"parameters" : {
"options" : { } ,
"assignments" : {
"assignments" : [
{
"name" : "ai_response_raw" ,
"value" : "={{ $json.choices[0].message.content }}" ,
"type" : "string"
} ,
{
"name" : "ai_response" ,
2026-03-16 17:13:26 +01:00
"value" : "={{ JSON.parse($json.ai_response_raw) }}" ,
2026-03-16 17:10:41 +01:00
"type" : "object"
}
]
}
}
} ,
{
"id" : "uuid-filter-confidence-1" ,
"name" : "Filter by Confidence" ,
"type" : "n8n-nodes-base.if" ,
"typeVersion" : 2 ,
"position" : [
1650 ,
200
] ,
"parameters" : {
"conditions" : {
"options" : {
"caseSensitive" : true ,
"extractValue" : false
} ,
"combinator" : "and" ,
"conditions" : [
{
"id" : "condition_1" ,
"leftValue" : "={{ $json.ai_response.vertrauen }}" ,
"rightValue" : 0.6 ,
"operator" : {
"name" : "filter.operator.gte" ,
"value" : ">="
}
}
]
}
}
} ,
{
"id" : "uuid-freescout-update-1" ,
"name" : "Freescout Save Suggestion" ,
"type" : "n8n-nodes-base.httpRequest" ,
"typeVersion" : 4 ,
"position" : [
1850 ,
100
] ,
"parameters" : {
"authentication" : "predefinedCredentialType" ,
2026-03-16 17:13:26 +01:00
"url" : "=https://ekshelpdesk.fft-it.de/api/v1/conversations/{{ $json.ticket_id }}" ,
2026-03-16 17:10:41 +01:00
"method" : "PUT" ,
"headers" : {
"Content-Type" : "application/json"
} ,
2026-03-16 17:13:26 +01:00
"sendBody" : true ,
"specifyBody" : "json" ,
"jsonBody" : "={\"custom_fields\":{\"AI_SUGGESTION\":={{$json.ai_response.antwort_text}},\"AI_SUGGESTION_STATUS\":\"PENDING\",\"PROCESSED_BY_AI\":true,\"AI_CATEGORY\":={{$json.ai_response.kategorie}},\"AI_CONFIDENCE\":={{$json.ai_response.vertrauen}},\"AI_SOLUTION_TYPE\":={{$json.ai_response.lösung_typ}},\"AI_REASONING\":={{$json.ai_response.begründung}}}}"
2026-03-16 17:10:41 +01:00
} ,
"credentials" : {
"httpBasicAuth" : "Freescout API"
}
} ,
{
"id" : "uuid-no-action-1" ,
"name" : "Low Confidence - No Action" ,
"type" : "n8n-nodes-base.set" ,
"typeVersion" : 3 ,
"position" : [
1850 ,
350
] ,
"parameters" : {
"options" : { } ,
"assignments" : {
"assignments" : [
{
"name" : "skip_reason" ,
"value" : "Confidence below threshold ({{ $json.ai_response.vertrauen }} < 0.6)" ,
"type" : "string"
} ,
{
"name" : "processed" ,
"value" : false ,
"type" : "boolean"
}
]
}
}
}
] ,
"connections" : {
"Cron Trigger" : {
"main" : [
[
{
"node" : "Freescout Get Conversations" ,
"index" : 0
}
]
]
} ,
"Freescout Get Conversations" : {
"main" : [
[
{
"node" : "Loop Through Conversations" ,
"index" : 0
}
]
]
} ,
"Loop Through Conversations" : {
"main" : [
[
{
"node" : "Extract Conversation Data" ,
"index" : 0
}
]
]
} ,
"Extract Conversation Data" : {
"main" : [
[
{
"node" : "Milvus Query KB" ,
"index" : 0
}
]
]
} ,
"Milvus Query KB" : {
"main" : [
[
{
"node" : "LiteLLM AI Analysis" ,
"index" : 0
}
]
]
} ,
"LiteLLM AI Analysis" : {
"main" : [
[
{
"node" : "Parse AI Response" ,
"index" : 0
}
]
]
} ,
"Parse AI Response" : {
"main" : [
[
{
"node" : "Filter by Confidence" ,
"index" : 0
}
]
]
} ,
"Filter by Confidence" : {
"main" : [
[
{
"node" : "Freescout Save Suggestion" ,
"index" : 0
}
] ,
[
{
"node" : "Low Confidence - No Action" ,
"index" : 0
}
]
]
}
} ,
"active" : false ,
"settings" : {
"errorHandler" : "continueOnError" ,
"timezone" : "Europe/Berlin"
} ,
"owner" : "admin" ,
"versionId" : "1"
}