{
  "name": "Automate FAQ generation from Stack Overflow to Notion using GPT-4o-mini with Slack alerts",
  "nodes": [
    {
      "id": "b5595d8e-b9ae-4b39-aa44-eb4729834068",
      "name": "Sticky Note - Workflow Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -1024
      ],
      "parameters": {
        "width": 541,
        "height": 577,
        "content": "## 🧩 Automate FAQ Generation from Stack Overflow\n\n### How it works\nThis workflow watches Stack Overflow for new technical questions using RSS, classifies each question topic with OpenAI GPT-4o-mini, a"
      }
    },
    {
      "id": "09a30fdb-1191-4dd0-a320-da7885a0ef02",
      "name": "Sticky Note - RSS Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1173.5,
        -345
      ],
      "parameters": {
        "width": 427,
        "height": 449,
        "content": "## 📡 Stack Overflow Feed & Filter  \n\nThis section monitors Stack Overflow RSS for new questions and filters out duplicates or irrelevant ones before AI processing.  \nUpdate the RSS tag query and adjus"
      }
    },
    {
      "id": "ec540539-a6bc-44ed-8d2b-f729111c6bcf",
      "name": "Sticky Note - AI Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -16,
        -560
      ],
      "parameters": {
        "width": 219,
        "height": 651,
        "content": "## 🧱 Data Preparation & Integration \n\n \nThis section formats the AI output into a clean structure for Notion, Google Sheets, and Slack.  \nMerges AI and Notion data so other nodes can access full FAQ d"
      }
    },
    {
      "id": "96b6069f-edda-407b-b972-a9540cdb705c",
      "name": "Sticky Note - Formatting",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -709.5,
        -323
      ],
      "parameters": {
        "width": 651,
        "height": 427,
        "content": "## 🧠 AI Understanding & FAQ Generation  \n\nUses GPT-4o-mini to first classify each question (Frontend, Backend, DevOps, etc.), then generate a structured FAQ entry including title, summary, insights, a"
      }
    },
    {
      "id": "47599144-192f-4490-aa46-8e20a205026b",
      "name": "Sticky Note - Notion Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -448
      ],
      "parameters": {
        "width": 379,
        "height": 597,
        "content": "## 🗂️ Knowledge Base Logging \n\n \nSaves each AI-generated FAQ to Notion for internal reference and logs it in Google Sheets for analytics or backup.  \nEnsure your Notion DB and Sheet fields match the f"
      }
    },
    {
      "id": "6e4fa5ce-aeb7-4359-ad21-727e92f7e76f",
      "name": "Sticky Note - Slack Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        -144
      ],
      "parameters": {
        "width": 347,
        "height": 357,
        "content": "## 💬 Team Notifications  \n\n\nSends a Slack update when a new FAQ is added.  \nIncludes summary, category, and links to both Notion and the original Stack Overflow question.\n"
      }
    },
    {
      "id": "b47b56b1-4ae3-4e88-9e97-76ce454cda09",
      "name": "OpenAI - Topic Classifier",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -672,
        -56
      ]
    },
    {
      "id": "81c6d665-83ce-454b-b570-e5ee63769e70",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        -1104,
        512
      ]
    },
    {
      "id": "875a2618-4bec-4979-a9c3-fcab55406729",
      "name": "Slack - Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        -832,
        512
      ]
    },
    {
      "id": "3667ae53-1e2d-4660-a37a-dbf9bf527b1b",
      "name": "OpenAI - FAQ Generator",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -320,
        -56
      ]
    },
    {
      "id": "b7c22c01-a01c-4328-95c3-1c89af58c82a",
      "name": "Filter Questions",
      "type": "n8n-nodes-base.if",
      "position": [
        -896,
        -56
      ]
    },
    {
      "id": "77daf4ad-9696-4981-8097-2d73c53ee7a4",
      "name": "RSS Feed - Stack Overflow Monitor",
      "type": "n8n-nodes-base.rssFeedReadTrigger",
      "position": [
        -1120,
        -56
      ]
    },
    {
      "id": "147082e7-ac15-4983-81b1-8883e51bd080",
      "name": "Format  AI Response",
      "type": "n8n-nodes-base.set",
      "position": [
        48,
        -240
      ]
    },
    {
      "id": "636bc723-1f21-48c8-a27f-575685d4da6a",
      "name": "Notion - Create FAQ Entry",
      "type": "n8n-nodes-base.notion",
      "position": [
        384,
        -32
      ]
    },
    {
      "id": "488cdd31-38b6-4a91-85ab-2d897d3e44e6",
      "name": "Merge Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        48,
        -64
      ]
    },
    {
      "id": "4b83b70c-c7ba-4a07-8143-e87930135d25",
      "name": "Slack - Notify Team",
      "type": "n8n-nodes-base.slack",
      "position": [
        704,
        40
      ]
    },
    {
      "id": "ad8eb9b3-6e61-419e-8d48-4f96d7ac3d14",
      "name": "FAQ Logging to Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        384,
        -240
      ]
    },
    {
      "id": "f5f82442-f2f5-49d7-abb5-8dede57c51b9",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        304
      ],
      "parameters": {
        "width": 496,
        "height": 352,
        "content": "## 🚨 Error Monitoring  \n\n\nCatches errors from key nodes (AI, Notion, Sheets) and sends a Slack alert with details for quick debugging.  \nHelps ensure the automation runs reliably.\n"
      }
    },
    {
      "id": "039a7397-7761-4eb2-bd9b-cfd56b46957b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        -848
      ],
      "parameters": {
        "width": 352,
        "height": 368,
        "content": "## 🔐 Credentials & Security  \n\n\nUse OAuth2 for Slack and Google Sheets, API keys for OpenAI and Notion.  \nAvoid using personal credentials in public templates.  \nUse environment variables for all IDs "
      }
    }
  ],
  "connections": {
    "Merge Data": {
      "main": [
        [
          {
            "node": "Slack - Notify Team",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Slack - Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Questions": {
      "main": [
        [
          {
            "node": "OpenAI - Topic Classifier",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format  AI Response": {
      "main": [
        [
          {
            "node": "Notion - Create FAQ Entry",
            "type": "main",
            "index": 0
          },
          {
            "node": "FAQ Logging to Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI - FAQ Generator": {
      "main": [
        [
          {
            "node": "Merge Data",
            "type": "main",
            "index": 0
          },
          {
            "node": "Format  AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion - Create FAQ Entry": {
      "main": [
        [
          {
            "node": "Merge Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI - Topic Classifier": {
      "main": [
        [
          {
            "node": "OpenAI - FAQ Generator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Feed - Stack Overflow Monitor": {
      "main": [
        [
          {
            "node": "Filter Questions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}