{
  "name": "Automated customer feedback analysis & response with Jotform, GPT-4.1 & Google Sheets",
  "nodes": [
    {
      "id": "7d50aea5-d58c-4a01-9964-92da5fe5031d",
      "name": "Jotform — New Feedback Submission",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -128,
        0
      ]
    },
    {
      "id": "1df86418-1292-43b4-a144-1282d700f51d",
      "name": "Extract Key Fields (Normalize Input)",
      "type": "n8n-nodes-base.set",
      "position": [
        160,
        0
      ]
    },
    {
      "id": "ba3d2aca-2377-4cad-8aac-e75f7cac07bb",
      "name": "AI Analysis — Sentiment & Root Cause",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        464,
        0
      ]
    },
    {
      "id": "9d427e02-2337-44eb-b074-29492fb6f5ff",
      "name": "Check if Feedback is Negative or Rating ≤ 3",
      "type": "n8n-nodes-base.if",
      "position": [
        864,
        0
      ]
    },
    {
      "id": "61bad5e0-5b4c-463f-96de-688302bb62ea",
      "name": "AI Generator — Personalized Recovery Message",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1168,
        -112
      ]
    },
    {
      "id": "c43ead64-eec7-4178-875f-eff6f389a769",
      "name": "Send Recovery Email (Negative Path)",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2000,
        -48
      ]
    },
    {
      "id": "2029a509-776a-439e-976b-e435511d9ac1",
      "name": "Notify CX Team on Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1824,
        48
      ]
    },
    {
      "id": "cf844ac0-b5fa-4051-bc26-98b6c27f6d4e",
      "name": "Mark Recovery Message Sent",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2256,
        -32
      ]
    },
    {
      "id": "3dae2739-cefe-44fa-962b-ea47c297d201",
      "name": "Send Appreciation Email (Positive Path)",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        1472,
        432
      ]
    },
    {
      "id": "6199baa6-140d-45f4-a786-e81f9c022771",
      "name": "Log Feedback in Google Sheet (Negative Path)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1840,
        -192
      ]
    },
    {
      "id": "fd15071e-5b5e-4ce1-9494-9df8623950fc",
      "name": "Prepare Data for Sheet & Notifications (Negative Path)",
      "type": "n8n-nodes-base.set",
      "position": [
        1520,
        -112
      ]
    },
    {
      "id": "bdcd7bb0-8d61-4bdd-b0f3-e4ff61efb4d7",
      "name": "Prepare Data for Sheet & Notifications (Positive Path)",
      "type": "n8n-nodes-base.set",
      "position": [
        1248,
        352
      ]
    },
    {
      "id": "4e18d0fb-c762-433a-9ddf-1ab13204e872",
      "name": "Log Feedback in Google Sheet (Positive Path)",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1456,
        240
      ]
    },
    {
      "id": "e6f586ea-130e-46a6-aedd-cf9154f7f401",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -880
      ],
      "parameters": {
        "width": 400,
        "height": 368,
        "content": "## 🧠 Workflow Summary\n\nAI-driven automation that transforms every Jotform feedback submission into actionable customer engagement.\n\n🟢 Captures Feedback → 🧠 Analyzes with GPT → ⚖️ Routes Path →  \n📧 Sen"
      }
    },
    {
      "id": "fb284404-2e7a-4316-a323-5309afd80e93",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        -416
      ],
      "parameters": {
        "width": 352,
        "height": 608,
        "content": "## Clean Incoming Data\n\nNormalizes raw Jotform fields into structured variables:\n\n- Full Name  \n- Email  \n- WhatsApp Number  \n- Order ID  \n- Rating (1–5 scale)  \n- Experience Feedback Text  \n- Recomme"
      }
    },
    {
      "id": "8a3a00f8-9844-49c2-ab38-567b40e64e31",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        400,
        -416
      ],
      "parameters": {
        "width": 320,
        "height": 608,
        "content": "## AI Sentiment & Root Cause Detection\n\nGPT analyzes the customer feedback and returns structured insight:\n\n- **Sentiment:** Positive | Neutral | Negative  \n- **Root Cause:** Short explanation of the "
      }
    },
    {
      "id": "3cea0b32-e8af-463e-8846-3015815f0e9a",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        -416
      ],
      "parameters": {
        "width": 352,
        "height": 608,
        "content": "## Path Routing Logic\n\nDecision Node Logic:\n- If **Sentiment = Negative** OR **Rating ≤ 3**\n  → Route to *Recovery Path*\n- Else\n  → Route to *Appreciation Path*\n\nThis ensures negative experiences are "
      }
    },
    {
      "id": "0f039f93-f1db-42f6-836d-2172daeb01d7",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1104,
        -848
      ],
      "parameters": {
        "width": 1360,
        "height": 1040,
        "content": "## AI Recovery Message Composer\n\nThe AI crafts a personalized, empathetic message using the customer’s data.\n\n**Context Used:**\n- Name, Rating, Feedback, Root Cause, Recovery Direction  \n\n**Output For"
      }
    },
    {
      "id": "82cd08d7-0913-42ea-8a4f-1aaa7a5a652f",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1120,
        208
      ],
      "parameters": {
        "width": 576,
        "height": 656,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n## 🌟 Appreciation Path Flow\n\nTriggered for **Positive** or **Neutral** feedback.\n\n✅ Sends personalized **Thank-you Email**  \n✅ Includes CTA to leave a **public review**  \n"
      }
    },
    {
      "id": "19b6d6fc-4ef5-421b-9048-1c8504134e1e",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -384,
        -496
      ],
      "parameters": {
        "width": 400,
        "height": 400,
        "content": "## 🔐 How to Get Your Jotform API Credentials\n\n1. Visit [Jotform](https://www.jotform.com/?partner=aayushmansharma) and **sign up** (if you’re new) or **log in** to your existing account.  \n2. Click yo"
      }
    },
    {
      "id": "dd336412-bf91-45fd-92db-63869ff96040",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        -880
      ],
      "parameters": {
        "width": 512,
        "height": 448,
        "content": "## ⚙️ Jotform Configuration Guide (for n8n Feedback Workflow)\n\nFollow these steps to connect your Jotform to n8n:\n\n### 1️⃣ Create the Feedback Form\nBuild a form in Jotform with the following exact fie"
      }
    }
  ],
  "connections": {
    "Jotform — New Feedback Submission": {
      "main": [
        [
          {
            "node": "Extract Key Fields (Normalize Input)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Recovery Email (Negative Path)": {
      "main": [
        [
          {
            "node": "Mark Recovery Message Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Key Fields (Normalize Input)": {
      "main": [
        [
          {
            "node": "AI Analysis — Sentiment & Root Cause",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Analysis — Sentiment & Root Cause": {
      "main": [
        [
          {
            "node": "Check if Feedback is Negative or Rating ≤ 3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Appreciation Email (Positive Path)": {
      "main": [
        []
      ]
    },
    "Check if Feedback is Negative or Rating ≤ 3": {
      "main": [
        [
          {
            "node": "AI Generator — Personalized Recovery Message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Prepare Data for Sheet & Notifications (Positive Path)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Generator — Personalized Recovery Message": {
      "main": [
        [
          {
            "node": "Prepare Data for Sheet & Notifications (Negative Path)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Data for Sheet & Notifications (Negative Path)": {
      "main": [
        [
          {
            "node": "Log Feedback in Google Sheet (Negative Path)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Recovery Email (Negative Path)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Notify CX Team on Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Data for Sheet & Notifications (Positive Path)": {
      "main": [
        [
          {
            "node": "Log Feedback in Google Sheet (Positive Path)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Appreciation Email (Positive Path)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}