{
  "id": "yngefePxWH5yahIY",
  "meta": {
    "instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480"
  },
  "name": "18. AI Testimonial Extractor Agent: Feedback to Marketing Gold",
  "tags": [],
  "nodes": [
    {
      "id": "686c97d3-0a5a-4a4d-b70b-d9fad8b20057",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        368,
        640
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.0-flash"
      },
      "typeVersion": 1
    },
    {
      "id": "2989661e-a0bf-45ad-9d01-99a201c483e5",
      "name": "New Form Response Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        256,
        272
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 352165437,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s/edit#gid=352165437",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s/edit?usp=drivesdk",
          "cachedResultName": "Testimonial"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d7f15460-6789-40b7-90b5-41caff813fa2",
      "name": "Extract Testimonial with Gemini",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        480,
        272
      ],
      "parameters": {
        "text": "=Extract a short, emotionally engaging testimonial quote from the following user feedback. Ignore neutral or irrelevant text. Only return the quote.\n\"{{ $json.Feedback }}\"\n\nFeedback: \"{{ $json[\"Feedback\"] }}\"\n",
        "promptType": "define"
      },
      "typeVersion": 1.5
    },
    {
      "id": "786ff5ad-1f1d-44b0-921c-948ea11d769d",
      "name": "Save Extracted Testimonial",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        896,
        272
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Feedback",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Feedback",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Testimony",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Testimony",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "text",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "Testimony"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 352165437,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s/edit#gid=352165437",
          "cachedResultName": "Form Responses 1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/14nmSXdGURNj3a1uQsxNcspdN5HrjGl8TA8t-hdQUF2s/edit?usp=drivesdk",
          "cachedResultName": "Testimonial"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "e3755f5e-05f6-4cdb-bad0-29ad18680d82",
      "name": "Notify Marketing Team",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1216,
        272
      ],
      "webhookId": "acce1be8-39ab-4f30-8549-9e06614abbf3",
      "parameters": {
        "sendTo": "user@example.com",
        "message": "={{ $json.text }}",
        "options": {},
        "subject": "New Testimonial Extracted"
      },
      "typeVersion": 2.1
    },
    {
      "id": "0e9a2b3a-1cb7-4492-abbf-6e3c3155b72a",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -400
      ],
      "parameters": {
        "color": 6,
        "width": 244,
        "height": 896,
        "content": "## 🟢 Section 1: Trigger – Capture New Feedback\n\n🔗 **Node:** `New Form Response Trigger` (Google Sheets Trigger)\n\n* Watches for **new rows** added to a Google Sheet (linked to your form).\n* Starts the workflow whenever a customer submits feedback.\n\n💡 **Why useful?**\nNo manual copy-pasting — the process kicks off instantly.\n\n📩 Example:\nSomeone fills in:\n\n> “The product made my workflow so much easier — I finished tasks in half the time!”\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "ff22fb99-2519-4a06-8b7a-ebeb91c29509",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -528
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 1024,
        "content": "## 🟦 Section 2: AI Extraction with Gemini\n\n🔗 **Nodes:**\n\n* `Extract Testimonial with Gemini` → Uses **Google Gemini Flash** to rephrase the raw feedback into a concise testimonial.\n* `Google Gemini Chat Model` → Supports the LLM chain.\n\n🧠 **Prompt Logic:**\n\n* Keep only the **emotional & engaging part**.\n* Remove neutral/irrelevant text.\n* Return only the testimonial quote.\n\n💡 **Why useful?**\nRaw feedback is often long or messy → Gemini cleans it up into a **marketing-ready quote**.\n\n📩 Example output:\n\n> “This tool cut my work time in half and boosted my productivity instantly!”\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "bfbd43bf-3ef2-4f80-9653-d67b100d2621",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        816,
        -256
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 752,
        "content": "## 🟣 Section 3: Save to Database\n\n🔗 **Node:** `Save Extracted Testimonial` (Google Sheets)\n\n* Saves the following data into the sheet:\n\n  * **Timestamp**\n  * **Name**\n  * **Email**\n  * **Original Feedback**\n  * **Extracted Testimony**\n\n💡 **Why useful?**\nKeeps an **organized log of all testimonials** in one place.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e430b8d1-2d41-45e1-968b-bbb532221c91",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        -224
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 720,
        "content": "## 🟡 Section 4: Notify the Marketing Team\n\n🔗 **Node:** `Notify Marketing Team` (Gmail)\n\n* Sends an **email alert** with the new testimonial.\n* Subject: `New Testimonial Extracted`\n* Body: Contains the extracted quote.\n\n💡 **Why useful?**\nYour team gets notified in real time → no need to keep checking the sheet.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6052fe77-ff57-4ed4-8778-70ce58943fe9",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1440,
        -240
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8b08e989-c0b2-48c2-9d27-b05b720ee56c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1440,
        96
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 2446,
        "content": "# AI Testimonial Extractor Agent: Feedback to Marketing Gold\n\n**Subtitle:** Feedback to Marketing Gold\n\n### 🌍 Overview\n\nThis workflow transforms **raw customer feedback** from Google Forms into **short, emotionally engaging testimonials** using Google Gemini.\nIt then saves the testimonial back into Google Sheets and notifies the marketing team via email.\n\nThink of it as your **automatic testimonial assistant**.\n\n---\n\n## 🟢 Section 1: Trigger – Capture New Feedback\n\n🔗 **Node:** `New Form Response Trigger` (Google Sheets Trigger)\n\n* Watches for **new rows** added to a Google Sheet (linked to your form).\n* Starts the workflow whenever a customer submits feedback.\n\n💡 **Why useful?**\nNo manual copy-pasting — the process kicks off instantly.\n\n📩 Example:\nSomeone fills in:\n\n> “The product made my workflow so much easier — I finished tasks in half the time!”\n\n---\n\n## 🟦 Section 2: AI Extraction with Gemini\n\n🔗 **Nodes:**\n\n* `Extract Testimonial with Gemini` → Uses **Google Gemini Flash** to rephrase the raw feedback into a concise testimonial.\n* `Google Gemini Chat Model` → Supports the LLM chain.\n\n🧠 **Prompt Logic:**\n\n* Keep only the **emotional & engaging part**.\n* Remove neutral/irrelevant text.\n* Return only the testimonial quote.\n\n💡 **Why useful?**\nRaw feedback is often long or messy → Gemini cleans it up into a **marketing-ready quote**.\n\n📩 Example output:\n\n> “This tool cut my work time in half and boosted my productivity instantly!”\n\n---\n\n## 🟣 Section 3: Save to Database\n\n🔗 **Node:** `Save Extracted Testimonial` (Google Sheets)\n\n* Saves the following data into the sheet:\n\n  * **Timestamp**\n  * **Name**\n  * **Email**\n  * **Original Feedback**\n  * **Extracted Testimony**\n\n💡 **Why useful?**\nKeeps an **organized log of all testimonials** in one place.\n\n---\n\n## 🟡 Section 4: Notify the Marketing Team\n\n🔗 **Node:** `Notify Marketing Team` (Gmail)\n\n* Sends an **email alert** with the new testimonial.\n* Subject: `New Testimonial Extracted`\n* Body: Contains the extracted quote.\n\n💡 **Why useful?**\nYour team gets notified in real time → no need to keep checking the sheet.\n\n---\n\n## 📊 Workflow Summary\n\n| Section          | Node(s)               | Purpose                          | Benefit                    |\n| ---------------- | --------------------- | -------------------------------- | -------------------------- |\n| 🟢 Trigger       | Google Sheets Trigger | Detects new form submissions     | Fully automated start      |\n| 🟦 AI Extraction | Gemini LLM Chain      | Turns raw feedback → testimonial | Marketing-ready content    |\n| 🟣 Save          | Google Sheets         | Logs testimonial + user info     | Organized central database |\n| 🟡 Notify        | Gmail                 | Emails marketing team            | Real-time updates          |\n\n---\n\n## 🚀 Benefits\n\n* **Automation** → No manual editing or sorting needed.\n* **Consistency** → Every testimonial is short, emotional, and engaging.\n* **Centralized storage** → Everything logged in Google Sheets.\n* **Team alignment** → Marketing notified instantly.\n\n---\n\n⚡ Bonus: You already added **Sticky Notes** inside the workflow → makes it beginner-friendly for anyone opening it in n8n.\n\n---"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3ac7d5b1-4c0d-4414-938c-dc59e9a7a649",
  "connections": {
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Extract Testimonial with Gemini",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "New Form Response Trigger": {
      "main": [
        [
          {
            "node": "Extract Testimonial with Gemini",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save Extracted Testimonial": {
      "main": [
        [
          {
            "node": "Notify Marketing Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Testimonial with Gemini": {
      "main": [
        [
          {
            "node": "Save Extracted Testimonial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}