Alertas de disputas y seguimiento de casos
Este es unContent Creation, Multimodal AIflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como If, Code, Slack, ClickUp, HttpRequest. Automatización de alertas de disputas de Stripe y seguimiento de casos con Slack + ClickUp
- •Bot Token de Slack o URL de Webhook
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (18)
Categoría
{
"id": "f9zTmUYtY72kArnG",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177"
},
"name": "Dispute Alert and Case track",
"tags": [
{
"id": "BpF0Qmae1NRI1U4c",
"name": "Dispute Management",
"createdAt": "2025-09-23T11:26:26.687Z",
"updatedAt": "2025-09-23T11:26:26.687Z"
},
{
"id": "dgO0TsPr0SmRbCKq",
"name": "Stripe Automation",
"createdAt": "2025-09-23T11:26:26.712Z",
"updatedAt": "2025-09-23T11:26:26.712Z"
}
],
"nodes": [
{
"id": "58fe9cc9-46d1-4f70-8d1d-cc0c0d844e26",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1328,
736
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8409e177-a881-449b-8f03-384dcfa5da2b",
"name": "📋 Resumen del Flujo de Trabajo",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1280,
416
],
"parameters": {
"width": 280,
"height": 304,
"content": "## 🔄 WORKFLOW START\n\n**Purpose:** This workflow automatically monitors Stripe for payment disputes and creates alerts + tasks when disputes are found.\n\n**Trigger:** Manual execution (can be scheduled)\n\n**Next Step:** Fetch disputes from Stripe API"
},
"typeVersion": 1
},
{
"id": "7d8379ef-39c1-4b8f-b78b-64a488d4eae2",
"name": "1️⃣ Obtener Disputas de Stripe",
"type": "n8n-nodes-base.httpRequest",
"notes": "Retrieves all current payment disputes from your Stripe account. This includes disputes that customers have filed against payments.",
"position": [
-1056,
736
],
"parameters": {
"url": "https://api.stripe.com/v1/disputes",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "stripeApi"
},
"credentials": {
"stripeApi": {
"id": "DV4tPpxjbOUkGfAx",
"name": "Stripe account"
}
},
"typeVersion": 4.2
},
{
"id": "be8f6d05-cd3f-4ea0-a658-2ee402b92a9b",
"name": "📊 Información de Verificación de Datos",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
944
],
"parameters": {
"width": 260,
"height": 332,
"content": "## 🔍 DATA VALIDATION\n\n**Purpose:** Checks if any disputes were found in the API response.\n\n**Logic:**\n- ✅ TRUE: Disputes exist → Process them\n- ❌ FALSE: No disputes → Send summary notification\n\n**Why Important:** Prevents errors when no disputes exist"
},
"typeVersion": 1
},
{
"id": "53483405-3ad7-4298-b3d2-5e9fb6e88e03",
"name": "2️⃣ Validar Datos de Disputas",
"type": "n8n-nodes-base.if",
"notes": "Checks if the Stripe API returned any disputes. If no disputes exist, workflow will notify and end gracefully.",
"position": [
-800,
736
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "condition1",
"operator": {
"type": "boolean",
"operation": "equal"
},
"leftValue": "={{ $json.data && $json.data.length > 0 }}",
"rightValue": true
}
]
}
},
"typeVersion": 2
},
{
"id": "853ffdbf-ac1a-41dd-9c29-cd9ed36e4e37",
"name": "⚠️ Lógica de Prioridad",
"type": "n8n-nodes-base.stickyNote",
"position": [
-640,
304
],
"parameters": {
"width": 280,
"height": 316,
"content": "## ⚡ PRIORITY ASSESSMENT\n\n**Purpose:** Determines if disputes need immediate attention.\n\n**High Priority Criteria:**\n- Status = 'needs_response'\n- Evidence deadline approaching\n- Large dispute amounts\n\n**Result:** Different notification types based on urgency"
},
"typeVersion": 1
},
{
"id": "ed16b61a-4131-446e-aaa9-a5dae2d93dfb",
"name": "3️⃣ Determinar Nivel de Prioridad",
"type": "n8n-nodes-base.if",
"notes": "Analyzes dispute urgency. High priority disputes (needs_response status) get immediate alerts, others get standard notifications.",
"position": [
-368,
640
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "condition1",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data[0].status }}",
"rightValue": "needs_response"
}
]
}
},
"typeVersion": 2
},
{
"id": "99b8a90e-7421-4de5-aaa8-1b207c69fc33",
"name": "🚨 Acciones Urgentes",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
304
],
"parameters": {
"width": 280,
"height": 300,
"content": "## 🚨 HIGH PRIORITY PATH\n\n**Triggers When:** \n- Dispute status = 'needs_response'\n- Immediate action required\n\n**Actions:**\n1. Send urgent Slack alert with full details\n2. Create high-priority ClickUp task\n3. Set due date to evidence deadline"
},
"typeVersion": 1
},
{
"id": "f20b396e-13d8-4762-9378-5fe27a7b6c7a",
"name": "4a️⃣ Enviar Alerta Urgente en Slack",
"type": "n8n-nodes-base.slack",
"notes": "Sends immediate alert to Slack with comprehensive dispute information. Formatted for high visibility and quick action.",
"position": [
-144,
624
],
"webhookId": "7de9b2a5-9e88-4e24-b903-67fae9142120",
"parameters": {
"text": "=🚨 **HIGH PRIORITY DISPUTE ALERT** 🚨\n\n*Dispute Details:*\n• **Amount:** {{ $json.formatted_amount }}\n• **Reason:** {{ $json.reason.charAt(0).toUpperCase() + $json.reason.slice(1) }}\n• **Status:** {{ $json.status.charAt(0).toUpperCase() + $json.status.slice(1) }}\n• **Priority:** {{ $json.priority }}\n• **Customer:** {{ $json.customer_info }}\n\n*Timeline:*\n• **Created:** {{ $json.created_date }}\n• **Evidence Due:** {{ $json.evidence_deadline }}\n• **Days Remaining:** {{ $json.days_until_deadline }} days\n\n*IDs for Reference:*\n• **Dispute ID:** `{{ $json.dispute_id }}`\n• **Charge ID:** `{{ $json.charge_id }}`\n• **Payment Intent:** `{{ $json.payment_intent_id }}`\n\n⚠️ Immediate action required for High Priority disputes!",
"user": {
"__rl": true,
"mode": "list",
"value": ""
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.2
},
{
"id": "37c7b6d3-9b83-4c89-a611-eb988d8f7523",
"name": "5a️⃣ Crear Tarea Urgente en ClickUp",
"type": "n8n-nodes-base.clickUp",
"notes": "Creates high-priority task in ClickUp with detailed action plan and evidence deadline as due date.",
"position": [
96,
624
],
"parameters": {
"list": "901611225384",
"name": "=🚨 URGENT: Dispute {{ $json.dispute_id }} - {{ $json.formatted_amount }}",
"team": "90161261705",
"space": "90165174252",
"folderless": true,
"additionalFields": {
"status": "Open",
"dueDate": "={{ $json.evidence_deadline }}",
"priority": "1"
}
},
"credentials": {
"clickUpApi": {
"id": "mcOAWijv7qCSnkNx",
"name": "ClickUp account-test anuj"
}
},
"typeVersion": 1
},
{
"id": "9144129c-51ac-4fc7-bcfb-63c7076a5dfb",
"name": "📊 Proceso Estándar",
"type": "n8n-nodes-base.stickyNote",
"position": [
-128,
1040
],
"parameters": {
"width": 280,
"height": 316,
"content": "## 📋 REGULAR PRIORITY PATH\n\n**Triggers When:** \n- Standard dispute notifications\n- Non-urgent status\n\n**Actions:**\n1. Send standard Slack notification\n2. Create normal-priority ClickUp task\n3. Track for regular follow-up"
},
"typeVersion": 1
},
{
"id": "874519fe-db61-42c9-894d-ae03fb65d1a0",
"name": "4b️⃣ Enviar Alerta Estándar en Slack",
"type": "n8n-nodes-base.slack",
"notes": "Sends standard dispute notification to Slack for non-urgent cases. Contains essential information for tracking.",
"position": [
-176,
848
],
"webhookId": "cb14a1ec-1847-4131-b60e-195bc6e9b789",
"parameters": {
"text": "=📋 **New Dispute Notification**\n\n*Details:*\n• **Amount:** {{ $json.formatted_amount }}\n• **Reason:** {{ $json.reason.charAt(0).toUpperCase() + $json.reason.slice(1) }}\n• **Priority:** {{ $json.priority }}\n• **Evidence Due:** {{ $json.evidence_deadline }} ({{ $json.days_until_deadline }} days)\n• **Customer:** {{ $json.customer_info }}\n\n*Reference:* `{{ $json.dispute_id }}`",
"user": {
"__rl": true,
"mode": "list",
"value": "U09D7N46YLV",
"cachedResultName": "herevivekpatidar"
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.2
},
{
"id": "71e0651d-577e-4c10-a685-d0ba87fc27a0",
"name": "5b️⃣ Crear Tarea Estándar en ClickUp",
"type": "n8n-nodes-base.clickUp",
"notes": "Creates standard priority task in ClickUp with appropriate priority level and comprehensive details.",
"position": [
112,
848
],
"parameters": {
"list": "901611225384",
"name": "=Dispute: {{ $json.dispute_id }} - {{ $json.formatted_amount }}",
"team": "90161261705",
"space": "90165174252",
"folderless": true,
"additionalFields": {
"status": "To Do",
"dueDate": "={{ $json.evidence_deadline }}",
"priority": "={{ $json.priority === 'High' ? '1' : ($json.priority === 'Medium' ? '2' : '3') }}"
}
},
"credentials": {
"clickUpApi": {
"id": "mcOAWijv7qCSnkNx",
"name": "ClickUp account-test anuj"
}
},
"typeVersion": 1
},
{
"id": "99c2b53a-5770-43d7-af23-c11e33c9a1ca",
"name": "✅ No se Requiere Acción",
"type": "n8n-nodes-base.stickyNote",
"position": [
-544,
976
],
"parameters": {
"width": 264,
"height": 348,
"content": "## ℹ️ NO DISPUTES FOUND\n\n**Purpose:** Handles the case when no disputes are returned from Stripe.\n\n**Action:** \n- Sends informational message\n- Confirms workflow ran successfully\n- Provides timestamp for logging\n\n**Why Useful:** Confirms monitoring is working"
},
"typeVersion": 1
},
{
"id": "d2afaf00-ef9a-4425-82b0-dc57f34f4424",
"name": "6️⃣ Enviar Resumen de Estado",
"type": "n8n-nodes-base.slack",
"notes": "Sends confirmation message when no disputes need processing. Provides audit trail of workflow execution.",
"position": [
-496,
800
],
"webhookId": "10571d90-875c-4e22-ae06-6e120e723efd",
"parameters": {
"text": "=ℹ️ **Dispute Monitoring Summary**\n\n• **Total disputes found:** {{ $json.data.length }}\n• **Time:** {{ new Date().toLocaleString() }}\n• **Status:** No new disputes to process\n\nAll current disputes have been previously handled.\n\n✅ Monitoring system is working correctly.",
"user": {
"__rl": true,
"mode": "list",
"value": "U09D7N46YLV",
"cachedResultName": "herevivekpatidar"
},
"select": "user",
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.2
},
{
"id": "b1126924-f2a8-491a-b42a-b17c66a4ef96",
"name": "⚙️ Instrucciones de Configuración",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1712,
592
],
"parameters": {
"width": 280,
"height": 384,
"content": "## 🚀 AUTOMATION SETUP\n\n**How to Use:**\n1. Set up Stripe API credentials\n2. Configure Slack workspace & channels \n3. Connect ClickUp workspace\n4. Test with manual trigger\n5. Set up schedule (recommended: every 4 hours)\n\n**Requirements:**\n- Stripe API access\n- Slack bot permissions\n- ClickUp API token"
},
"typeVersion": 1
},
{
"id": "3264e793-2963-4a6d-aaa7-b3401bde76e5",
"name": "✅ Flujo de Trabajo Completado",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
624
],
"parameters": {
"width": 280,
"height": 368,
"content": "## 🔄 WORKFLOW COMPLETION\n\n**What Happens:**\n- Disputes are processed and tracked\n- Team is notified via Slack\n- Tasks created in ClickUp\n- Evidence deadlines set\n\n**Next Steps:**\n1. Review Slack notifications\n2. Check ClickUp tasks\n3. Respond to disputes in Stripe\n4. Monitor deadlines"
},
"typeVersion": 1
},
{
"id": "cbf7a6c5-4829-421b-89a1-dfbe1f102c85",
"name": "🔧 Formatear Datos de Disputa",
"type": "n8n-nodes-base.code",
"notes": "Transforms raw Stripe data into user-friendly format. Calculates priority, formats amounts, and prepares data for notifications.",
"position": [
-576,
656
],
"parameters": {
"jsCode": "// Transform raw Stripe dispute data into formatted output for notifications\nconst items = $input.all();\n\nreturn items.map(item => {\n const dispute = item.json.data[0]; // Get first dispute from array\n \n // Format amount with currency\n const amount = dispute.amount / 100; // Convert from cents\n const currency = dispute.currency.toUpperCase();\n const formatted_amount = `${currency} ${amount.toFixed(2)}`;\n \n // Calculate days until evidence deadline\n const evidenceDate = new Date(dispute.evidence_details.due_by * 1000);\n const now = new Date();\n const days_until_deadline = Math.ceil((evidenceDate - now) / (1000 * 60 * 60 * 24));\n \n // Determine priority based on days remaining and amount\n let priority = 'Low';\n if (days_until_deadline <= 3 || amount >= 500) {\n priority = 'High';\n } else if (days_until_deadline <= 7 || amount >= 100) {\n priority = 'Medium';\n }\n \n // Get customer information\n const customer_info = dispute.charge?.billing_details?.email || \n dispute.charge?.customer || \n 'Unknown customer';\n \n return {\n json: {\n ...dispute,\n formatted_amount,\n priority,\n days_until_deadline,\n evidence_deadline: evidenceDate.toLocaleDateString(),\n created_date: new Date(dispute.created * 1000).toLocaleDateString(),\n customer_info,\n dispute_id: dispute.id,\n charge_id: dispute.charge?.id || 'N/A',\n payment_intent_id: dispute.payment_intent || 'N/A'\n }\n };\n});"
},
"typeVersion": 2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "31c94be9-7bf0-4cbb-8684-a5354a504073",
"connections": {
"cbf7a6c5-4829-421b-89a1-dfbe1f102c85": {
"main": [
[
{
"node": "ed16b61a-4131-446e-aaa9-a5dae2d93dfb",
"type": "main",
"index": 0
}
]
]
},
"7d8379ef-39c1-4b8f-b78b-64a488d4eae2": {
"main": [
[
{
"node": "53483405-3ad7-4298-b3d2-5e9fb6e88e03",
"type": "main",
"index": 0
}
]
]
},
"53483405-3ad7-4298-b3d2-5e9fb6e88e03": {
"main": [
[
{
"node": "cbf7a6c5-4829-421b-89a1-dfbe1f102c85",
"type": "main",
"index": 0
}
],
[
{
"node": "d2afaf00-ef9a-4425-82b0-dc57f34f4424",
"type": "main",
"index": 0
}
]
]
},
"ed16b61a-4131-446e-aaa9-a5dae2d93dfb": {
"main": [
[
{
"node": "f20b396e-13d8-4762-9378-5fe27a7b6c7a",
"type": "main",
"index": 0
}
],
[
{
"node": "874519fe-db61-42c9-894d-ae03fb65d1a0",
"type": "main",
"index": 0
}
]
]
},
"f20b396e-13d8-4762-9378-5fe27a7b6c7a": {
"main": [
[
{
"node": "37c7b6d3-9b83-4c89-a611-eb988d8f7523",
"type": "main",
"index": 0
}
]
]
},
"874519fe-db61-42c9-894d-ae03fb65d1a0": {
"main": [
[
{
"node": "71e0651d-577e-4c10-a685-d0ba87fc27a0",
"type": "main",
"index": 0
}
]
]
},
"58fe9cc9-46d1-4f70-8d1d-cc0c0d844e26": {
"main": [
[
{
"node": "7d8379ef-39c1-4b8f-b78b-64a488d4eae2",
"type": "main",
"index": 0
}
]
]
}
}
}¿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?
Avanzado - Creación de contenido, 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
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
Compartir este flujo de trabajo