{
  "name": "Mine user complaints and generate insight reports with Olostep, Gemini and Google Docs",
  "nodes": [
    {
      "id": "382b9a6f-3294-4c21-ae76-e3a7290431d0",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        272,
        80
      ]
    },
    {
      "id": "c1a279fb-6640-4b42-aaa5-2f650c07dd94",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        1344,
        -16
      ]
    },
    {
      "id": "91a69753-ebd6-442f-851d-04500d4eb289",
      "name": "Split Out",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        496,
        -128
      ]
    },
    {
      "id": "f9b76f3f-07f3-4f75-9e68-376fc23d0b4a",
      "name": "Pain Level Identifier",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        672,
        -128
      ]
    },
    {
      "id": "1b90c03d-54b6-48a2-85a1-2067e3515a17",
      "name": "Google Gemini Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        528,
        800
      ]
    },
    {
      "id": "fd77a21c-6da5-4dbc-a8ea-3b81588afa30",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        160,
        656
      ]
    },
    {
      "id": "02b9e9f1-20ee-46d9-8eb5-6eb1eaf882e3",
      "name": "Keyword Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        0,
        448
      ]
    },
    {
      "id": "daedbee0-11c3-46bd-9ffb-8bdc25017c86",
      "name": "Verbatim Quotes Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        0,
        -128
      ]
    },
    {
      "id": "e5a92ecf-6fe2-4af9-9846-2d0434cfb7d9",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        752,
        432
      ]
    },
    {
      "id": "70a189b9-a2bb-4ee6-9986-66faef7178b6",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        512,
        448
      ]
    },
    {
      "id": "43e924a9-23cf-4ebd-b492-44e55c17432e",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        944,
        432
      ]
    },
    {
      "id": "fdcad28b-9668-4e1f-8369-eb0d533d7a25",
      "name": "Merge2",
      "type": "n8n-nodes-base.merge",
      "position": [
        2016,
        416
      ]
    },
    {
      "id": "c71cef0e-bece-4f50-bdd3-df662070ab30",
      "name": "Information Extractor",
      "type": "@n8n/n8n-nodes-langchain.informationExtractor",
      "position": [
        1488,
        208
      ]
    },
    {
      "id": "c84fa8ad-4931-46e8-862c-d4fc5508288c",
      "name": "Merge3",
      "type": "n8n-nodes-base.merge",
      "position": [
        1808,
        320
      ]
    },
    {
      "id": "16c39465-8d14-433f-909b-518965adcf65",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -256,
        48
      ]
    },
    {
      "id": "bc824caf-6fcf-415e-85ea-296d37d0bb84",
      "name": "olostep",
      "type": "n8n-nodes-base.httpRequestTool",
      "position": [
        96,
        176
      ]
    },
    {
      "id": "df6b9bce-6b71-40f7-bcc6-137483654115",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        320,
        -128
      ]
    },
    {
      "id": "cf001578-ecc6-458d-bd3d-6b28222e52d8",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        992,
        -128
      ]
    },
    {
      "id": "eb6fd158-4c08-48bf-bbc4-5007cf162af4",
      "name": "Wait2",
      "type": "n8n-nodes-base.wait",
      "position": [
        320,
        448
      ]
    },
    {
      "id": "978698f2-0001-4df2-9daa-f299977d11e8",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2208,
        432
      ]
    },
    {
      "id": "9c8a5dfd-b06f-4704-8895-54442ac383d3",
      "name": "Create a document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2560,
        432
      ]
    },
    {
      "id": "6e3b0d11-a12c-45d4-b262-0c20d5de1660",
      "name": "Update a document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        2768,
        432
      ]
    },
    {
      "id": "d0f51c94-043e-4760-8587-c35d2c48c8ab",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -576
      ],
      "parameters": {
        "width": 832,
        "height": 1664,
        "content": "# AI Complaint Mining & Insight Extraction  \n\nThis n8n template automates **complaint mining** from unstructured text sources and turns raw user feedback into **clear, actionable insights**.  \nIt uses"
      }
    },
    {
      "id": "730f37f2-fd29-40da-885f-d63d24a5fb30",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        -48
      ],
      "parameters": {
        "width": 256,
        "height": 224,
        "content": "## Trigger\nStart the workflow with user feedback or complaint text."
      }
    },
    {
      "id": "610c9a8d-869c-4661-a493-d4b5d4ba3ab8",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -240
      ],
      "parameters": {
        "width": 688,
        "height": 272,
        "content": "## Verbatim Quotes Agent\nUses Olostep /answer endpoint as a tool to searches for complaints about the problem statement/keywords directly from the mouth of potential customers from forums like Reddit,"
      }
    },
    {
      "id": "54af0218-e461-4f77-bcdb-809e3d337153",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        624,
        -240
      ],
      "parameters": {
        "width": 688,
        "height": 272,
        "content": "## Pain Level Identifier\nTakes the raw verbatim quotes and identifies if this quote defines a high, medium, or low pain."
      }
    },
    {
      "id": "0ae1e91f-0415-4c9e-ad31-ed89a2e21897",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        336
      ],
      "parameters": {
        "width": 688,
        "height": 288,
        "content": "## Verbatim Quotes Agent\nUses Olostep /answer endpoint as a tool to searches for relevant keywords about the problem and defines how many times those keywords have been mentioned."
      }
    },
    {
      "id": "85c8976d-b1b7-44b1-8f3d-ae66ed7afa1e",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        720
      ],
      "parameters": {
        "width": null,
        "height": 224,
        "content": "## LLM Model\n"
      }
    },
    {
      "id": "97cf245c-8951-4df1-8bf4-adfad50486e8",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        112
      ],
      "parameters": {
        "width": null,
        "height": 208,
        "content": "## Olostep /answer enpoint"
      }
    },
    {
      "id": "57aa1136-3c30-4c4f-9155-99c620b56b0e",
      "name": "pain level",
      "type": "n8n-nodes-base.set",
      "position": [
        1168,
        -128
      ]
    },
    {
      "id": "91d1d786-9540-45fa-b21d-2abcef24d292",
      "name": "total mentions",
      "type": "n8n-nodes-base.set",
      "position": [
        1152,
        608
      ]
    },
    {
      "id": "7ed54c62-a4ce-4b19-a2c9-be312d5c3f13",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        640,
        336
      ],
      "parameters": {
        "width": 448,
        "height": 288,
        "content": "## Merge & Aggregate\nClean and prepare data for Analysis."
      }
    },
    {
      "id": "2a43f8ec-3f25-4d75-83c9-62ac7d4cf23a",
      "name": "Analyzer Agent",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1152,
        336
      ]
    },
    {
      "id": "0b04de45-5c2a-4f69-9950-89fb29c248dc",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1088,
        160
      ],
      "parameters": {
        "width": 352,
        "height": 464,
        "content": "## Analyzer Agent\nTakes the raw data and analyze it and determines if the problem has a high, medium, or low signal.\nAlso provides key insights like the express frustration percantage and other valuab"
      }
    },
    {
      "id": "858cdff9-4a16-4eb1-be65-3507abe0cb25",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1440,
        96
      ],
      "parameters": {
        "width": 352,
        "height": 528,
        "content": "## Information Extractor\nExtracts the frustration percentage and the demand signal from the analysis provided by the analyzer agent."
      }
    },
    {
      "id": "d6cf5101-deb4-496c-8977-995e14166b21",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1792,
        208
      ],
      "parameters": {
        "width": 352,
        "height": 416,
        "content": "## Merge\nMerge all previous data and prepare it for the final report writing agent."
      }
    },
    {
      "id": "bb7f739f-6c86-4d43-ba93-cd2133a969ac",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2144,
        304
      ],
      "parameters": {
        "width": 352,
        "height": 320,
        "content": "## Writing agent\nWrites the final report gathering all the information and insights from previous steps, and structure it in a good format."
      }
    },
    {
      "id": "9834e191-4099-4f50-ba76-8764c8d396c6",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2496,
        304
      ],
      "parameters": {
        "width": 416,
        "height": 320,
        "content": "## Document creation\nCreates a new document and write the content of the final report into it."
      }
    }
  ],
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "pain level",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait2": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge1": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge2": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge3": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "olostep": {
      "ai_tool": [
        [
          {
            "node": "Verbatim Quotes Agent",
            "type": "ai_tool",
            "index": 0
          },
          {
            "node": "Keyword Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Create a document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Analyzer Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge2",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "Pain Level Identifier",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "pain level": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keyword Agent": {
      "main": [
        [
          {
            "node": "total mentions",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyzer Agent": {
      "main": [
        [
          {
            "node": "Information Extractor",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge3",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "total mentions": {
      "main": [
        [
          {
            "node": "Merge2",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Create a document": {
      "main": [
        [
          {
            "node": "Update a document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Verbatim Quotes Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Keyword Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Information Extractor": {
      "main": [
        [
          {
            "node": "Merge3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pain Level Identifier": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verbatim Quotes Agent": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Verbatim Quotes Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "Verbatim Quotes Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Keyword Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Pain Level Identifier",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Analyzer Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Information Extractor",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "Keyword Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}