Automatisation Zendesk (création de nouveaux tickets)
Ceci est unAI RAG, Multimodal AIworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme If, Set, Webhook, HttpRequest, Agent. Réponses de support Zendesk basées sur l'IA (RAG, base de connaissances OpenAI et Supabase)
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
- •Informations de connexion à la base de données PostgreSQL
- •URL et Clé API Supabase
Nœuds utilisés (15)
Catégorie
{
"name": "Zendesk Automation (New Tickets)",
"nodes": [
{
"id": "note-webhook",
"name": "Note - Webhook Configuration",
"type": "n8n-nodes-base.stickyNote",
"color": "#FFD700",
"position": [
-2480,
640
],
"parameters": {
"notes": "🔗 Set this webhook URL as a trigger in your Zendesk account under 'Admin → Triggers' so that new tickets are forwarded here."
},
"typeVersion": 1
},
{
"id": "180aaaa5-75a9-4573-a300-d87159dfb153",
"name": "Obtenir les Nouveaux Tickets",
"type": "n8n-nodes-base.webhook",
"position": [
-2320,
784
],
"parameters": {
"path": "zendesk_new_ticket",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2
},
{
"id": "ac8ab31e-3c02-4d48-afd0-4a9736a7aa64",
"name": "Extraire le Nouveau Ticket",
"type": "n8n-nodes-base.set",
"position": [
-2096,
784
],
"parameters": {
"assignments": {
"assignments": [
{
"name": "timestamp",
"type": "string",
"value": "={{new Date().toLocaleString(\"en-BD\", { timeZone: \"Asia/Dhaka\", dateStyle: \"medium\", timeStyle: \"short\" })}}"
},
{
"name": "ticket_id",
"type": "string",
"value": "={{ $json.body.ticket_id }}"
},
{
"name": "ticket_status",
"type": "string",
"value": "={{ $json.body.ticket_status }}"
},
{
"name": "requester_id",
"type": "string",
"value": "={{ $json.body.requester_id }}"
},
{
"name": "requester_name",
"type": "string",
"value": "={{ $json.body.requester_name }}"
},
{
"name": "requester_email",
"type": "string",
"value": "={{ $json.body.requester_email }}"
},
{
"name": "subject",
"type": "string",
"value": "={{ $json.body.subject }}"
},
{
"name": "description",
"type": "string",
"value": "={{ ($json.body.description || \"\").split('\\n\\n').slice(-1)[0].trim() }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "note-supabase",
"name": "Note - Supabase Configuration",
"type": "n8n-nodes-base.stickyNote",
"color": "#9ACD32",
"position": [
-1728,
1344
],
"parameters": {
"notes": "📚 Replace with your own Supabase project credentials. Ensure you have a 'documents' table with embedded KB content."
},
"typeVersion": 1
},
{
"id": "0aa2089e-7346-43b6-a702-630c4849b8c9",
"name": "Supabase Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStoreSupabase",
"position": [
-1728,
1216
],
"parameters": {
"options": {
"queryName": "match_documents"
},
"tableName": "documents"
},
"credentials": {
"supabaseApi": {
"id": "<YOUR_SUPABASE_CREDENTIAL_ID>",
"name": "Supabase Account"
}
},
"typeVersion": 1
},
{
"id": "note-postgres",
"name": "Note - Mémoire Postgres",
"type": "n8n-nodes-base.stickyNote",
"color": "#FF7F50",
"position": [
-1904,
928
],
"parameters": {
"notes": "🗄️ Create a Postgres table `zendesk_ticket_histories` with fields for session context. This allows AI to recall past ticket interactions."
},
"typeVersion": 1
},
{
"id": "c227d629-3e39-4445-b3c3-7c52e6827fdf",
"name": "Mémoire Ticket Postgres",
"type": "@n8n/n8n-nodes-langchain.memoryPostgresChat",
"position": [
-1744,
1008
],
"parameters": {
"tableName": "zendesk_ticket_histories",
"sessionKey": "={{ $json.ticket_id }}",
"sessionIdType": "customKey"
},
"credentials": {
"postgres": {
"id": "<YOUR_POSTGRES_CREDENTIAL_ID>",
"name": "Postgres DB"
}
},
"typeVersion": 1
},
{
"id": "note-openai",
"name": "Note - OpenAI Configuration",
"type": "n8n-nodes-base.stickyNote",
"color": "#87CEFA",
"position": [
-1680,
1520
],
"parameters": {
"notes": "🤖 Add your own OpenAI API key in the credential settings. Adjust model if desired (gpt-4o, gpt-4o-mini, etc.)."
},
"typeVersion": 1
},
{
"id": "89663ccb-065d-4211-9c26-1770f60984f0",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-1648,
1424
],
"parameters": {
"model": "text-embedding-3-small",
"options": {
"dimensions": 1536
}
},
"credentials": {
"openAiApi": {
"id": "<YOUR_OPENAI_CREDENTIAL_ID>",
"name": "OpenAI API"
}
},
"typeVersion": 1
},
{
"id": "5d009f5e-2a9c-4036-a382-9e5180e677a7",
"name": "Interroger la Base de Connaissances",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
-1616,
1008
],
"parameters": {
"name": "content_en",
"topK": 5,
"description": "Contains all KB articles to answer user questions accurately."
},
"typeVersion": 1
},
{
"id": "44147a82-2675-4bef-8b54-53fe90646cb0",
"name": "Agent IA RAG",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1824,
784
],
"parameters": {
"text": "={{ $json.description }}",
"options": {
"maxIterations": 2,
"systemMessage": "=You are a professional support assistant. Use only the retrieved knowledge base documents to answer the customer’s ticket clearly, formally, and concisely."
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "510b8014-8a8b-4fde-846f-4dd82554ac74",
"name": "Si Aucune KB Pertinente Trouvée",
"type": "n8n-nodes-base.if",
"position": [
-1232,
784
],
"parameters": {
"conditions": {
"conditions": [
{
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $('RAG AI Agent').item.json.output }}",
"rightValue": "will get back to you shortly"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "note-zendesk",
"name": "Note - Zendesk Domaine",
"type": "n8n-nodes-base.stickyNote",
"color": "#FFA07A",
"position": [
-896,
704
],
"parameters": {
"notes": "🏷️ Update `<YOUR_ZENDESK_DOMAIN>` with your Zendesk subdomain. Example: `https://mycompany.zendesk.com/...`"
},
"typeVersion": 1
},
{
"id": "e99c3f1f-cc58-4638-8ddd-65df1998197c",
"name": "Ajouter des Étiquettes (ai_reply)",
"type": "n8n-nodes-base.httpRequest",
"position": [
-784,
880
],
"parameters": {
"url": "=https://<YOUR_ZENDESK_DOMAIN>/api/v2/tickets/{{ $('Extract New Ticket').first().json.ticket_id }}/tags.json",
"method": "PUT",
"jsonBody": "{ \"tags\": [\"ai_reply\"] }",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "zendeskApi"
},
"credentials": {
"zendeskApi": {
"id": "<YOUR_ZENDESK_CREDENTIAL_ID>",
"name": "Zendesk Account"
}
},
"typeVersion": 4.2
},
{
"id": "note-test",
"name": "Note - Test",
"type": "n8n-nodes-base.stickyNote",
"color": "#BA55D3",
"position": [
-720,
1200
],
"parameters": {
"notes": "✅ After setup, create a sample ticket in Zendesk to test:\n- Does AI reply appear?\n- Correct tags (`ai_reply` / `human_requested`)?\n- Memory stored in Postgres?\nIf yes → workflow is ready!"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"connections": {}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - RAG IA, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Md Sagor Khan
@meetsagorkhanBuilding smart automations with n8n to save time and reduce repetitive work. I create ready-to-use workflows for businesses and creators who want to focus on what matters most.
Partager ce workflow