AutomationFlowsAI & RAG › Escalate Payment Issues with Azure Openai, Google Sheets, Slack and Zendesk

Escalate Payment Issues with Azure Openai, Google Sheets, Slack and Zendesk

ByRahul Joshi @rahul08 on n8n.io

This workflow automates payment-related customer support escalation by validating reported issues against transaction data and coordinating all downstream actions in a controlled, auditable way. It is designed for support teams that need to quickly separate valid payment…

Webhook trigger★★★★☆ complexityAI-powered27 nodesAgentLm Chat Azure Open AiOutput Parser StructuredGoogle Sheets ToolGmailGoogle SheetsSlackError Trigger
AI & RAG Trigger: Webhook Nodes: 27 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #13178 — we link there as the canonical source.

This workflow follows the Agent → Error Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "MKss7BT4QNEa2ZYU",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI-Powered Chatbase Support Escalation & Zendesk Ticket Automation",
  "tags": [],
  "nodes": [
    {
      "id": "d0c674b9-2556-435a-b307-69d8a593423d",
      "name": "Webhook Listener for Incoming Data",
      "type": "n8n-nodes-base.webhook",
      "position": [
        224,
        -384
      ],
      "parameters": {
        "path": "dcb80d6b-8159-427d-ad06-979648422abf",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2.1
    },
    {
      "id": "bd25354e-a79f-465a-80b0-4eb4ac7a785a",
      "name": "Set Lead Data for Processing",
      "type": "n8n-nodes-base.set",
      "position": [
        528,
        -384
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c4a9ba3c-81d1-4a44-ab8c-37c59b7dafbe",
              "name": "body",
              "type": "object",
              "value": "={{ $json.body }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "63a74593-5336-4443-b2f7-da1a7fd223b8",
      "name": "Generate Escalation Analysis Email (AI)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        816,
        -384
      ],
      "parameters": {
        "text": "=Create a support escalation analysis using the following information.\n\nIncoming issue details:\n- Intent: {{ $json.body.intent }}\n- Issue summary: {{ $json.body.issue_summary }}\n- User email: {{ $json.body.email }}\n- Transaction ID: {{ $json.body.transaction_id }}\n- Payment method: {{ $json.body.payment_method }}\n- Conversation ID: {{ $json.body.conversation_id }}\n\nGoogle Sheet lookup result (source of truth):\n- payment_status: {{ $json.sheet.payment_status }}\n- order_status: {{ $json.sheet.order_status }}\n- confirmation_email_sent: {{ $json.sheet.confirmation_email_sent }}\n- order_id: {{ $json.sheet.order_id }}\n- amount: {{ $json.sheet.amount }}\n- created_at: {{ $json.sheet.created_at }}\n\nTasks:\n1. Verify whether the issue is confirmed using the sheet data\n2. Decide the escalation status\n3. Generate a concise escalation summary for human support\n",
        "options": {
          "systemMessage": "=You are a customer support escalation assistant.\n\nYour role:\n- Read structured issue data from the input\n- Cross-check it against the connected Google Sheet data (source of truth)\n- Determine whether the issue is CONFIRMED, NEEDS CLARIFICATION, or NOT VALID\n- Produce a clear, professional escalation summary ONLY when confirmation is strong\n\nRules:\n- Treat the Google Sheet as the source of truth\n- Do NOT assume or invent missing data\n- If sheet data is missing or ambiguous, mark the case as NEEDS_CLARIFICATION\n- Only recommend escalation when:\n  - payment_status is SUCCESS\n  - AND order_status is NOT_CREATED or FAILED\n  - OR confirmation_email_sent is NO\n- Keep tone neutral, factual, and support-oriented\n- Do NOT mention internal systems, AI, or automation in the output\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "6fe62b76-13f2-4e98-8096-50baeb644ff9",
      "name": "Execute Trade Decision Reasoning with Azure OpenAI",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        944,
        -16
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c842004b-e169-44fc-98be-2ea8356a8022",
      "name": "Parse Structured AI Output for Email",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1152,
        -32
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"Subject\": \" \",\n\t\"Body\": \" \"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "f09b7fa3-6a2c-4e0a-8789-a9cfe90f80c5",
      "name": "Retrieve Transaction Data from Google Sheets",
      "type": "n8n-nodes-base.googleSheetsTool",
      "position": [
        512,
        240
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2108445943,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM/edit#gid=2108445943",
          "cachedResultName": "Support_Transactions"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM/edit?usp=drivesdk",
          "cachedResultName": "sample_leads_50"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "16f7b528-f60f-47ce-8ece-a6e95da317a2",
      "name": "Send  Email to Customer",
      "type": "n8n-nodes-base.gmail",
      "position": [
        2128,
        -736
      ],
      "parameters": {
        "sendTo": "=",
        "message": "={{ $json.output.Body }}",
        "options": {},
        "subject": "={{ $json.output.Subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "b556d356-90d5-4d4a-b7c6-a96e408a4a2e",
      "name": "Send Escalation Notification to Human Support",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1840,
        224
      ],
      "parameters": {
        "sendTo": "=",
        "message": "={{ $json.output.Body }}",
        "options": {},
        "subject": "={{ $json.output.Subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "784f005d-ec47-4468-a067-1c1996b3ac2b",
      "name": "Update Lead Record in Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2496,
        -48
      ],
      "parameters": {
        "columns": {
          "value": {
            "transaction_id": "={{ $('Set Lead Data for Processing').item.json.body.transaction_id }}",
            "confirmation_email_sent": "={{ $json.confirmation_email_sent }}"
          },
          "schema": [
            {
              "id": "transaction_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "transaction_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "payment_method",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "payment_method",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "amount",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "amount",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "payment_status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "payment_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "order_status",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "order_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "confirmation_email_sent",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "confirmation_email_sent",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "order_id",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "order_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "created_at",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "created_at",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "last_updated",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "last_updated",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "notes",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "transaction_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2108445943,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM/edit#gid=2108445943",
          "cachedResultName": "Support_Transactions"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17rcNd_ZpUQLm0uWEVbD-NY6GyFUkrD4BglvawlyBygM/edit?usp=drivesdk",
          "cachedResultName": "sample_leads_50"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "00f9f813-b89b-4cb2-a0d0-7a21fef6cc52",
      "name": "Log Human Escalation to Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1776,
        -48
      ],
      "parameters": {
        "text": "=\ud83d\udea8 *Human Support Escalation*\n\n*Source:* {{ $('Set Lead Data for Processing').item.json.body.source }}\n*Intent:* {{ $('Set Lead Data for Processing').item.json.body.intent }}\n\n*Issue Summary:*\n{{ $json.output.Body }}\n\n*Customer Details*\n\u2022 Email: {{ $('Set Lead Data for Processing').item.json.body.email }}\n\u2022 Transaction ID: {{ $('Set Lead Data for Processing').item.json.body.transaction_id }}\n\u2022 Payment Method: {{ $('Set Lead Data for Processing').item.json.body.payment_method }}\n\n\nPlease review and take manual action.\n",
        "user": {
          "__rl": true,
          "mode": "list",
          "value": "U09HMPVD466",
          "cachedResultName": "newscctv22"
        },
        "select": "user",
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "8e061674-0878-4dbf-b7c0-2a87e4b41596",
      "name": "Generate Customer-Facing Support Email (AI)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1664,
        -736
      ],
      "parameters": {
        "text": "=Create a customer-facing support email using the information below.\n\nInternal context (for understanding only, do not expose directly):\n- The customer reported an issue after making a payment\n- The payment was successfully received\n- The customer did not receive an order confirmation\n- The issue is currently under review by the support team\n\nReference details:\n- Customer email: {{ $('Set Lead Data for Processing').item.json.body.email }}\n- Transaction ID: {{ $('Set Lead Data for Processing').item.json.body.transaction_id }}\n- Payment method: {{ $('Set Lead Data for Processing').item.json.body.payment_method }}\n- Issue summary: {{ $json.output.Body }}\n\nInstructions:\n- Acknowledge the customer\u2019s concern\n- Confirm that the payment was received successfully\n- Inform the customer that the issue is being reviewed\n- Reassure the customer that support is handling it\n- Keep the message short, calm, and professional\n- Do NOT mention escalation, internal statuses, or system errors\n\nOutput format:\nSubject:\n<clear, professional subject>\n\nBody:\n<2\u20133 short paragraphs suitable for email>\n",
        "options": {
          "systemMessage": "=You are a customer support email assistant.\n\nYour responsibility:\n- Convert internal escalation details into a customer-facing email\n- Use a polite, empathetic, and reassuring tone\n- Do NOT expose internal system terms, statuses, or escalation language\n- Do NOT mention internal workflows, validation steps, or technical flags\n- Do NOT promise refunds, timelines, or resolutions unless explicitly stated\n\nThe email must be safe to send directly to the customer.\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.1
    },
    {
      "id": "7e081297-23d6-45c5-af87-a78d20210f5e",
      "name": "parse Customer Email Output for Sending",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1856,
        -496
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"Subject\": \" \",\n\t\"Body\": \" \"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "536164ae-c33d-4d86-bb3a-dd0f8d8541b2",
      "name": "Execute Trade Decision Reasoning for Customer Email (Azure)",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        1568,
        -512
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "credentials": {
        "azureOpenAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7bb960e2-f983-4b1b-a540-8e340ef8e64d",
      "name": "Set Lead data ",
      "type": "n8n-nodes-base.set",
      "position": [
        2288,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "58e307d8-a771-428e-8ae8-391a6a3e62b8",
              "name": "confirmation_email_sent",
              "type": "string",
              "value": "yes"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "897285c6-2ac4-4261-8d49-157b5c0a6545",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        496
      ],
      "parameters": {
        "color": 7,
        "width": 492,
        "height": 400,
        "content": "## \u26a0\ufe0f Error Monitoring\n\nCatches any workflow failures and sends alerts to Slack's general-information channel. Helps maintain reliability and enables quick troubleshooting."
      },
      "typeVersion": 1
    },
    {
      "id": "ca5adc13-5e50-466c-8cec-b1aee7696725",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        368,
        688
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "4eb43b0a-d12d-4494-9e98-4827c595214b",
      "name": "Alert on Workflow Failure",
      "type": "n8n-nodes-base.slack",
      "position": [
        624,
        688
      ],
      "parameters": {
        "text": "error occured in the workflow , please check .",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C09GNB90TED",
          "cachedResultName": "workflow-errors"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.4
    },
    {
      "id": "283f653a-3856-4df0-bda2-3572c93960af",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        -1280
      ],
      "parameters": {
        "width": 800,
        "height": 704,
        "content": "## \ud83e\uddfe AI-Powered Chatbase Customer Support Escalation Workflow\n\n### How this workflow works\nThis workflow automates end-to-end handling of payment-related customer issues using a webhook-driven architecture. It receives structured issue data from external systems, validates the issue against transaction records stored in Google Sheets, and determines whether human escalation is required.\n\nOnce an issue is received, the workflow normalizes the payload and passes it to an AI escalation agent. The AI cross-checks payment status, order status, and confirmation flags using Google Sheets as the single source of truth. Based on strict rules, the issue is classified as confirmed, needs clarification, or not valid.\n\nFor confirmed cases, the workflow triggers multiple actions in parallel:\n\u2022 Notifies internal support via email  \n\u2022 Logs a detailed escalation message to Slack  \n\u2022 Creates a Zendesk ticket for tracking and resolution  \n\u2022 Sends a calm, customer-safe email acknowledging the issue  \n\nAfter communication is completed, the workflow updates the transaction record to mark confirmation status. An error trigger is also attached to ensure any workflow failures are immediately reported in Slack.\n\nThis automation reduces manual support load, prevents false escalations, ensures consistent customer messaging, and provides full auditability across Sheets, Slack, Email, and Zendesk.\n\n### Setup checklist\n1. Configure webhook endpoint  \n2. Connect Google Sheets as source of truth  \n3. Set up Azure OpenAI credentials  \n4. Connect Gmail for internal + customer emails  \n5. Connect Slack for escalation alerts  \n6. Connect Zendesk for ticket creation  \n7. Test with sample webhook payloads\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c5142dd1-3a60-49c2-a9ac-31cf65a88596",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -592
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 416,
        "content": "## \ud83d\udce5 Webhook Intake & Normalization\nReceives structured issue data from external systems\nand prepares it for downstream processing.\n\n\u2022 Webhook-based entry point  \n\u2022 Normalizes request body  \n\u2022 Ensures consistent input structure  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "d5c569f3-4aea-4240-bdb5-32aa12fbed6b",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        -64
      ],
      "parameters": {
        "color": 7,
        "width": 432,
        "height": 480,
        "content": "## \ud83d\udcca Transaction Lookup (Source of Truth)\nFetches transaction and order details from\nGoogle Sheets to validate reported issues.\n\n\u2022 Payment and order verification  \n\u2022 Sheet treated as source of truth  \n\u2022 Prevents false escalations  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "bca79478-938d-4bdb-b991-0c34fd5166b7",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        -608
      ],
      "parameters": {
        "color": 7,
        "width": 544,
        "height": 752,
        "content": "## \ud83e\udde0 AI Escalation Decision & Analysis\nAnalyzes issue details against transaction data\nto decide escalation status.\n\n\u2022 Confirms or rejects reported issues  \n\u2022 Applies strict escalation rules  \n\u2022 Produces human-readable escalation summary  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "a033718c-a1df-4a9b-a458-dc1326c626f5",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1488,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 576,
        "height": 640,
        "content": "## \ud83d\udea8 Human Support Notification\nNotifies internal support teams when\nmanual intervention is required.\n\n\u2022 Sends escalation email to support  \n\u2022 Logs detailed context in Slack  \n\u2022 Enables fast human response  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "26c5af23-d031-4f18-a967-19fb16129c6c",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        -912
      ],
      "parameters": {
        "color": 7,
        "width": 928,
        "height": 560,
        "content": "## \u2709\ufe0f Customer-Facing Support Email\nGenerates and sends a calm, professional\nemail to the customer.\n\n\u2022 Acknowledges the issue  \n\u2022 Confirms payment receipt  \n\u2022 Reassures ongoing support review  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "b7e28558-d332-4830-ad15-e27f234f4bf3",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2224,
        -304
      ],
      "parameters": {
        "color": 7,
        "width": 464,
        "height": 464,
        "content": "## \ud83d\udcdd Record Update & Confirmation Tracking\nUpdates transaction records after customer\ncommunication is sent.\n\n\u2022 Marks confirmation email as sent  \n\u2022 Keeps transaction data in sync  \n\u2022 Maintains audit-ready records  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "75be893b-8215-4f1f-a258-ffe432fadbc9",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2752,
        -96
      ],
      "parameters": {
        "color": 3,
        "width": 432,
        "height": 304,
        "content": "## \ud83d\udd10 Required Credentials & Access\nThis workflow requires the following integrations:\n\n\u2022 Webhook access for incoming issues  \n\u2022 Google Sheets OAuth2 (source of truth)  \n\u2022 Azure OpenAI for AI reasoning  \n\u2022 Gmail OAuth2 for email delivery  \n\u2022 Slack API for escalation alerts  \n\u2022 Zendesk API for ticket creation  \n\nBest practices:\n\u2022 Treat Google Sheets as authoritative  \n\u2022 Do not expose internal escalation logic to customers  \n\u2022 Rotate API keys regularly  \n"
      },
      "typeVersion": 1
    },
    {
      "id": "d83eaa8c-1d2e-4670-becf-9001411ce944",
      "name": "Create a ticket",
      "type": "n8n-nodes-base.zendesk",
      "position": [
        2464,
        688
      ],
      "parameters": {
        "description": "=\ud83d\udea8 Human Support Escalation\n\nSource:\n{{ $('Set Lead Data for Processing').item.json.body.source }}\n\nIntent:\n{{ $('Set Lead Data for Processing').item.json.body.intent }}\n\n\ud83e\uddfe Issue Summary\n\n{{ $('Generate Escalation Analysis Email (AI)').item.json.output.Body }}\n\n\ud83d\udc64 Customer Details\n\nEmail: {{ $('Set Lead Data for Processing').item.json.body.email }}\n\nTransaction ID: {{ $('Set Lead Data for Processing').item.json.body.transaction_id }}\n\nPayment Method: {{ $('Set Lead Data for Processing').item.json.body.payment_method }}\n\nAction Required:\nPlease review this case and take manual action as required.",
        "additionalFields": {}
      },
      "credentials": {
        "zendeskApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "af7c52db-2f51-4329-8f04-2d357a49a8ee",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2368,
        256
      ],
      "parameters": {
        "color": 7,
        "width": 336,
        "height": 624,
        "content": "## \ud83c\udfab Zendesk Ticket Creation (Human Escalation)\n\nCreates a Zendesk support ticket when an issue\nis confirmed and requires manual intervention.\n\n\u2022 Uses AI-generated escalation summary  \n\u2022 Includes customer & transaction context  \n\u2022 Captures intent, source, and issue details  \n\u2022 Ensures traceable, trackable human follow-up  \n\nThis ticket acts as the single source of truth\nfor support agents handling the escalation.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "93cd6616-2ce9-4dda-b562-da77483eece2",
  "connections": {
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Alert on Workflow Failure",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Lead data ": {
      "main": [
        [
          {
            "node": "Update Lead Record in Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a ticket": {
      "main": [
        []
      ]
    },
    "Alert on Workflow Failure": {
      "main": [
        []
      ]
    },
    "Set Lead Data for Processing": {
      "main": [
        [
          {
            "node": "Generate Escalation Analysis Email (AI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Human Escalation to Slack": {
      "main": [
        [
          {
            "node": "Set Lead data ",
            "type": "main",
            "index": 0
          },
          {
            "node": "Create a ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Listener for Incoming Data": {
      "main": [
        [
          {
            "node": "Set Lead Data for Processing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Structured AI Output for Email": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Escalation Analysis Email (AI)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Generate Escalation Analysis Email (AI)": {
      "main": [
        [
          {
            "node": "Send Escalation Notification to Human Support",
            "type": "main",
            "index": 0
          },
          {
            "node": "Generate Customer-Facing Support Email (AI)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Log Human Escalation to Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "parse Customer Email Output for Sending": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Customer-Facing Support Email (AI)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Generate Customer-Facing Support Email (AI)": {
      "main": [
        [
          {
            "node": "Send  Email to Customer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Transaction Data from Google Sheets": {
      "ai_tool": [
        [
          {
            "node": "Generate Escalation Analysis Email (AI)",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Execute Trade Decision Reasoning with Azure OpenAI": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Escalation Analysis Email (AI)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Execute Trade Decision Reasoning for Customer Email (Azure)": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Customer-Facing Support Email (AI)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automates payment-related customer support escalation by validating reported issues against transaction data and coordinating all downstream actions in a controlled, auditable way. It is designed for support teams that need to quickly separate valid payment…

Source: https://n8n.io/workflows/13178/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Enhance your support, onboarding, and internal knowledge workflows with an intelligent RAG-powered chatbot that responds using live data stored in Google Sheets. 🤖📚 Built for teams that rely on struct

Chat Trigger, Output Parser Structured, Memory Buffer Window +6
AI & RAG

Automate post-purchase workflows by instantly fetching successful Stripe payments, matching them to corresponding automation templates in Google Sheets, and sending customers personalized access email

Lm Chat Azure Open Ai, Output Parser Structured, Google Sheets Tool +5
AI & RAG

This workflow automates end-to-end ESG (Environmental, Social, and Governance) sustainability reporting for enterprise sustainability teams, compliance officers, and green governance leads. It solves

Agent, OpenAI Chat, Output Parser Structured +12
AI & RAG

Transform your manual hiring process into an intelligent evaluation system that saves 15-20 minutes per candidate! This workflow automates the entire candidate assessment pipeline - from CSV/XLSX uplo

Form Trigger, Google Sheets, Google Drive +8
AI & RAG

🧾 Short Description

Agent, OpenAI Chat, Output Parser Structured +4