Automatización de Zendesk (creación de nuevos tickets)
Este es unAI RAG, Multimodal AIflujo de automatización del dominio deautomatización que contiene 15 nodos.Utiliza principalmente nodos como If, Set, Webhook, HttpRequest, Agent. Respuestas de soporte para Zendesk basadas en AI (RAG, base de conocimiento de OpenAI y Supabase)
- •Punto final de HTTP Webhook (n8n generará automáticamente)
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Clave de API de OpenAI
- •Información de conexión de la base de datos PostgreSQL
- •URL y Clave de API de Supabase
Nodos utilizados (15)
Categoría
{
"name": "Zendesk Automation (New Tickets)",
"nodes": [
{
"id": "note-webhook",
"name": "Nota - Disparador Webhook Configuración",
"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": "Obtener Nuevos 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": "Extraer Nuevo 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": "Nota - Supabase Configuración",
"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 Almacén de vectores",
"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": "Nota - Memoria 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": "Memoria de Tickets 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": "Nota - OpenAI Configuración",
"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": "Incrustaciones 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": "Recuperar Base de Conocimiento",
"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": "Agentee de 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 No Se Encuentra KB Relevante",
"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": "Nota - Zendesk Dominio",
"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": "Agregar Etiquetas (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": "Nota - Pruebas",
"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": {}
}¿Cómo usar este flujo de trabajo?
Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.
¿En qué escenarios es adecuado este flujo de trabajo?
Intermedio - RAG de IA, IA Multimodal
¿Es de pago?
Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.
Flujos de trabajo relacionados recomendados
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.
Compartir este flujo de trabajo