{
  "id": "YHlm9XjboxWLxTtn",
  "name": "Simple Customer Support Automation for SMEs with Google Sheet",
  "tags": [],
  "nodes": [
    {
      "id": "3fe2461a-e9d2-4639-b964-e48bd47b0674",
      "name": "Extract Message",
      "type": "n8n-nodes-base.set",
      "position": [
        -272,
        -48
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "message",
              "value": "={{$json.message}}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "b5629989-ecee-4602-99a0-8fa6beea24cd",
      "name": "Check Category",
      "type": "n8n-nodes-base.if",
      "position": [
        -80,
        -48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "eb30ad70-9456-4ee9-a3b5-71aa16f10c95",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{$json.message}}",
              "rightValue": "refund"
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "671017c8-a541-4f89-98c3-b46495bf6901",
      "name": "Save Ticket",
      "type": "n8n-nodes-base.googleSheets",
      "notes": "range = \"Tickets!A:C\"\nfields = \"Name,Email,Message\"",
      "position": [
        128,
        -144
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "\"YOUR_SHEET_ID\""
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "\"YOUR_SHEET_ID\""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "b071a224-8eab-4aad-8520-1857530c77e5",
      "name": "Send Acknowledgement",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        128,
        64
      ],
      "parameters": {
        "text": "Hello {{$json.name}},\n\nYour ticket has been received. Our team will get back to you shortly.\n\nMessage: {{$json.message}}",
        "options": {},
        "subject": "Support Ticket Received",
        "toEmail": "={{$json.email}}",
        "fromEmail": "user@example.com"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "597a8964-4f14-444e-b7a4-c5f5ae70ad3e",
      "name": "Capture Ticket",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -480,
        -48
      ],
      "parameters": {
        "path": "customer-support",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "1a71c690-bd4a-4f08-98f0-be34b6216463",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -176
      ],
      "parameters": {
        "color": 3,
        "width": 912,
        "height": 400,
        "content": "## Flow"
      },
      "typeVersion": 1
    },
    {
      "id": "6dacaf8d-cd80-4567-a6ec-b3774ca01b5c",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        256
      ],
      "parameters": {
        "color": 4,
        "width": 912,
        "height": 1856,
        "content": "# \ud83d\udcdd Simplified Customer Support Automation for SMEs\n\n## \ud83d\udd34 Problem\n\nSmall and medium-sized enterprises (SMEs) often spend significant time managing customer support manually.\n\n* Incoming requests are scattered across emails, forms, or chats.\n* Categorization and tracking are inconsistent.\n* Customers wait too long for an acknowledgment.\n\nThis leads to higher costs, slower responses, and lower customer satisfaction.\n\n---\n\n## \ud83d\udfe2 Solution\n\nA simple **5-node customer support workflow in n8n** that:\n\n1. Captures incoming customer requests.\n2. Extracts and categorizes the message.\n3. Saves the ticket in a Google Sheet for tracking.\n4. Notifies the team of new support cases.\n5. Sends an acknowledgment email back to the customer.\n\nThis ensures requests are **organized, acknowledged instantly, and ready for follow-up**, reducing operational costs while improving service quality.\n\n---\n\n## \ud83d\udc65 For Who\n\n* SMEs that need a **lightweight ticketing system** without expensive software.\n* Teams that want to **streamline support workflows** while still keeping everything transparent.\n* Businesses looking to **save time and costs** on customer support operations.\n\n---\n\n## \ud83d\udccc Scope\n\n* \u2705 Captures and organizes tickets from a Webhook.\n* \u2705 Supports simple categorization (e.g., refund requests).\n* \u2705 Saves tickets to Google Sheets for easy visibility.\n* \u2705 Sends automatic acknowledgments to customers.\n* \u274c Does not provide advanced ticket assignment, SLA tracking, or full CRM integration (but these can be added later).\n\n---\n\n## \u2699\ufe0f Setup Steps\n\n1. **Webhook**\n\n   * Create a Webhook node with path `customer-support`.\n   * Collect `name`, `email`, and `message`.\n\n2. **Extract Message (Set)**\n\n   * Use a Set node to capture the `message` field for downstream use.\n\n3. **Check Category (IF)**\n\n   * Add an IF node to detect specific keywords (e.g., \u201crefund\u201d).\n   * Route accordingly for different handling paths.\n\n4. **Save Ticket (Google Sheets)**\n\n   * Use the Google Sheets node.\n   * Operation: `Append`.\n   * Fields: `Name`, `Email`, `Message`.\n   * Save tickets in a tab named `Tickets`.\n\n5. **Send Acknowledgement (Email Send)**\n\n   * Configure an Email Send node.\n   * Dynamic fields: `toEmail = {{$json.email}}`, `subject = Support Ticket Received`.\n   * Body includes customer name and message.\n\n---\n\n\u2705 With this setup, SMEs can handle support requests more efficiently, provide instant responses to customers, and maintain a simple record of all tickets.\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1ceecd9d-caa3-4157-a373-9cf23513e019",
  "connections": {
    "Capture Ticket": {
      "main": [
        [
          {
            "node": "Extract Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Category": {
      "main": [
        [
          {
            "node": "Save Ticket",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Acknowledgement",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Message": {
      "main": [
        [
          {
            "node": "Check Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}