{
  "id": "yngefePxWH5yahIY",
  "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
      ],
      "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": "## \ud83d\udfe2 Section 1: Trigger \u2013 Capture New Feedback\n\n\ud83d\udd17 **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\ud83d\udca1 **Why useful?**\nNo manual copy-pasting \u2014 the process kicks off instantly.\n\n\ud83d\udce9 Example:\nSomeone fills in:\n\n> \u201cThe product made my workflow so much easier \u2014 I finished tasks in half the time!\u201d\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": "## \ud83d\udfe6 Section 2: AI Extraction with Gemini\n\n\ud83d\udd17 **Nodes:**\n\n* `Extract Testimonial with Gemini` \u2192 Uses **Google Gemini Flash** to rephrase the raw feedback into a concise testimonial.\n* `Google Gemini Chat Model` \u2192 Supports the LLM chain.\n\n\ud83e\udde0 **Prompt Logic:**\n\n* Keep only the **emotional & engaging part**.\n* Remove neutral/irrelevant text.\n* Return only the testimonial quote.\n\n\ud83d\udca1 **Why useful?**\nRaw feedback is often long or messy \u2192 Gemini cleans it up into a **marketing-ready quote**.\n\n\ud83d\udce9 Example output:\n\n> \u201cThis tool cut my work time in half and boosted my productivity instantly!\u201d\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": "## \ud83d\udfe3 Section 3: Save to Database\n\n\ud83d\udd17 **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\ud83d\udca1 **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": "## \ud83d\udfe1 Section 4: Notify the Marketing Team\n\n\ud83d\udd17 **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\ud83d\udca1 **Why useful?**\nYour team gets notified in real time \u2192 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### \ud83c\udf0d 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## \ud83d\udfe2 Section 1: Trigger \u2013 Capture New Feedback\n\n\ud83d\udd17 **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\ud83d\udca1 **Why useful?**\nNo manual copy-pasting \u2014 the process kicks off instantly.\n\n\ud83d\udce9 Example:\nSomeone fills in:\n\n> \u201cThe product made my workflow so much easier \u2014 I finished tasks in half the time!\u201d\n\n---\n\n## \ud83d\udfe6 Section 2: AI Extraction with Gemini\n\n\ud83d\udd17 **Nodes:**\n\n* `Extract Testimonial with Gemini` \u2192 Uses **Google Gemini Flash** to rephrase the raw feedback into a concise testimonial.\n* `Google Gemini Chat Model` \u2192 Supports the LLM chain.\n\n\ud83e\udde0 **Prompt Logic:**\n\n* Keep only the **emotional & engaging part**.\n* Remove neutral/irrelevant text.\n* Return only the testimonial quote.\n\n\ud83d\udca1 **Why useful?**\nRaw feedback is often long or messy \u2192 Gemini cleans it up into a **marketing-ready quote**.\n\n\ud83d\udce9 Example output:\n\n> \u201cThis tool cut my work time in half and boosted my productivity instantly!\u201d\n\n---\n\n## \ud83d\udfe3 Section 3: Save to Database\n\n\ud83d\udd17 **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\ud83d\udca1 **Why useful?**\nKeeps an **organized log of all testimonials** in one place.\n\n---\n\n## \ud83d\udfe1 Section 4: Notify the Marketing Team\n\n\ud83d\udd17 **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\ud83d\udca1 **Why useful?**\nYour team gets notified in real time \u2192 no need to keep checking the sheet.\n\n---\n\n## \ud83d\udcca Workflow Summary\n\n| Section          | Node(s)               | Purpose                          | Benefit                    |\n| ---------------- | --------------------- | -------------------------------- | -------------------------- |\n| \ud83d\udfe2 Trigger       | Google Sheets Trigger | Detects new form submissions     | Fully automated start      |\n| \ud83d\udfe6 AI Extraction | Gemini LLM Chain      | Turns raw feedback \u2192 testimonial | Marketing-ready content    |\n| \ud83d\udfe3 Save          | Google Sheets         | Logs testimonial + user info     | Organized central database |\n| \ud83d\udfe1 Notify        | Gmail                 | Emails marketing team            | Real-time updates          |\n\n---\n\n## \ud83d\ude80 Benefits\n\n* **Automation** \u2192 No manual editing or sorting needed.\n* **Consistency** \u2192 Every testimonial is short, emotional, and engaging.\n* **Centralized storage** \u2192 Everything logged in Google Sheets.\n* **Team alignment** \u2192 Marketing notified instantly.\n\n---\n\n\u26a1 Bonus: You already added **Sticky Notes** inside the workflow \u2192 makes it beginner-friendly for anyone opening it in n8n.\n\n---"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "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
          }
        ]
      ]
    }
  }
}