{
  "name": "Generate continuous PRD updates in Google Docs from Slack, Zoom, Jira, Zendesk, Figma and analytics using OpenAI",
  "nodes": [
    {
      "id": "8416a2b8-492e-49cd-9826-6454b3b1eb6b",
      "name": "Slack Trigger",
      "type": "n8n-nodes-base.slackTrigger",
      "position": [
        0,
        1440
      ]
    },
    {
      "id": "285a8258-eb3e-4cec-a882-41417f573d0a",
      "name": "Customer Form Trigger",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        0,
        1248
      ]
    },
    {
      "id": "df6463c0-8c17-4f98-99c3-6328149ecef5",
      "name": "Fetch Platform Analytics",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        688
      ]
    },
    {
      "id": "775f4121-db6d-437a-bed6-30af6fc1c801",
      "name": "Get Zoom Recordings",
      "type": "n8n-nodes-base.zoom",
      "position": [
        -224,
        304
      ]
    },
    {
      "id": "caef8aaf-3785-4c7d-846f-26cf28c749ea",
      "name": "Transcribe Zoom Audio",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        0,
        304
      ]
    },
    {
      "id": "562aed80-1828-4396-bf56-d146181cefcc",
      "name": "Format Slack Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        1440
      ]
    },
    {
      "id": "d15d9fe7-2cad-4007-a03f-7271e6a35608",
      "name": "Format Form Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        1248
      ]
    },
    {
      "id": "8ee83d86-424d-4fe7-9fca-cf1f0ee21998",
      "name": "Format Zoom Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        304
      ]
    },
    {
      "id": "8aa1ba55-4d10-480a-8774-0697b9acca16",
      "name": "Format Platform Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        688
      ]
    },
    {
      "id": "bf05cab1-7252-4577-adaf-6f03a60c12a9",
      "name": "Merge All Data Sources",
      "type": "n8n-nodes-base.merge",
      "position": [
        448,
        928
      ]
    },
    {
      "id": "90a6aea0-78da-4a9a-a80e-57503f0c1d8e",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        688,
        1296
      ]
    },
    {
      "id": "624465c6-b65d-4154-8d59-01e6832f4d44",
      "name": "Structured PRD Output",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        816,
        1296
      ]
    },
    {
      "id": "9a3721fa-e038-455f-a290-79576e5629ce",
      "name": "Update PRD Document",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1024,
        1072
      ]
    },
    {
      "id": "e535acb3-74d6-41ac-9bcf-3b1aaf86eb73",
      "name": "Get Jira Comments",
      "type": "n8n-nodes-base.jira",
      "position": [
        0,
        496
      ]
    },
    {
      "id": "b2573023-0beb-49ed-98ab-351ff67eb921",
      "name": "Figma Comment Trigger",
      "type": "n8n-nodes-base.figmaTrigger",
      "position": [
        0,
        1056
      ]
    },
    {
      "id": "599f8ef3-d044-41bc-988e-1b3ff0ba1f7d",
      "name": "Get Zendesk Tickets",
      "type": "n8n-nodes-base.zendesk",
      "position": [
        0,
        864
      ]
    },
    {
      "id": "b2e86b51-db10-474d-aa18-d84f92e60824",
      "name": "Format Jira Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        496
      ]
    },
    {
      "id": "788cad02-d99a-42fc-94c5-e864421ce63c",
      "name": "Format Figma Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        1056
      ]
    },
    {
      "id": "aab76ce9-d007-45a2-9a2e-a74868a7953c",
      "name": "Format Zendesk Data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        864
      ]
    },
    {
      "id": "d87f9647-8f59-4168-8fe6-13d6845bf51e",
      "name": "Schedule Jira Fetch",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -224,
        496
      ]
    },
    {
      "id": "3c0205fd-2542-4110-a1c0-01b23bc8c536",
      "name": "Schedule Zendesk Fetch",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -224,
        864
      ]
    },
    {
      "id": "977c3f1a-f7fe-4c88-8ae1-b46ca57aa875",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        48
      ],
      "parameters": {
        "width": 224,
        "height": 224,
        "content": "## How it Works - Layer 1\nThis layer ingests product signals from multiple sources including Slack, Zoom recordings, Jira, Zendesk, Figma, customer forms, and analytics tools."
      }
    },
    {
      "id": "2f2c9733-65d8-4fed-b413-1d914ca43cde",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        48
      ],
      "parameters": {
        "width": null,
        "height": 224,
        "content": "## How it Works - Layer 2\nThis layer standardizes raw inputs from all sources into a unified structure.\nThe output is a consistent product signal object ready for AI processing."
      }
    },
    {
      "id": "49dc023c-4bc7-4dfd-bf22-322b5d6f9680",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        416,
        624
      ],
      "parameters": {
        "width": 224,
        "height": 256,
        "content": "## How it Works - Layer 3\nAll formatted data streams are merged into a single unified product intelligence stream.\nThis step consolidates cross-functional signals into one input object for centralized"
      }
    },
    {
      "id": "ca32635b-b4b7-435e-ab8e-0721588d929d",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        1440
      ],
      "parameters": {
        "width": null,
        "height": 240,
        "content": "## How it Works - Layer 4\nThe PRD Agent analyzes aggregated signals using AI to:\nExtract feature requests\nDetect scope changes\nEvaluate priority signals and \nGenerate structured PRD update proposals."
      }
    },
    {
      "id": "f28212cd-3248-4f96-8754-76b1f33d85a8",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        1264
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## How it Works - Layer 5\nAll changes are logged in for traceability and governance."
      }
    },
    {
      "id": "d691efd0-1476-4472-99f7-1d6bde52c2af",
      "name": "PRD Analysis Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        672,
        1072
      ]
    },
    {
      "id": "a4ac7492-5815-4b46-ab9d-18b734e94b9b",
      "name": "Platform Metdata",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -224,
        688
      ]
    },
    {
      "id": "30ec57f4-37e9-4ca8-834b-f1916f105760",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        208
      ],
      "parameters": {
        "width": 288,
        "height": 288,
        "content": "### Zoom Setup\nSteps:\n1. Create an OAuth App in Zoom Marketplace\n2. Add the Redirect URL from n8n\n3. Copy Client ID + Secret\n4. Add Zoom OAuth2 credential in n8n\nConnect account\nReference - https://ww"
      }
    },
    {
      "id": "c36442fb-8405-4778-b604-815594f5aada",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        544
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "### Jira Setup\nSteps:\n1. Generate API token from Atlassian\n2. Create Jira Software Cloud credential\n3. Enter: Email, API token, Domain\nReference - https://www.youtube.com/watch?v=T4z7lzqSZDY"
      }
    },
    {
      "id": "827dea90-0101-4b6b-8723-3c62e393cb3e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        800
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "### Platform Analytics Setup\nSteps\n1. Replace:\n&lt;__PLACEHOLDER_VALUE__your_analytics_api_endpoint__&gt;\nWith your real analytics endpoint.\n"
      }
    },
    {
      "id": "f7919443-0dbc-49d6-8231-8c5fb3090860",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        1040
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "### Zendesk Setup\nSteps:\n1. Generate API token\n2. Add Zendesk credential\n3. Enter: Subdomain, Email, API token\n"
      }
    },
    {
      "id": "3221fedb-a7b4-4aca-a820-529adad4a074",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        1280
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "### Figma Setup\nSteps:\n1. Generate a personal access token in Figma\n2. Add Figma credentials with the team ID\n3. Paste token\n"
      }
    },
    {
      "id": "4cd1a41f-50dd-46aa-8d24-1f870bc98578",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        1520
      ],
      "parameters": {
        "width": 288,
        "height": 208,
        "content": "### Form Setup\nSteps \n1. Edit Labels and Input Type to create a feedback form\n2. Link can be shared with anyone \n"
      }
    },
    {
      "id": "1204e934-62bb-46c4-95e5-5c9f9ea1a3e3",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -624,
        1760
      ],
      "parameters": {
        "width": 288,
        "height": 352,
        "content": "### Slack Setup\nSteps:\n1. Create a Slack App at api.slack.com\nEnable:\napp_mentions:read\nchannels:history\nchat:write (optional if you want replies)\n2. Install app to workspace\n3. Copy Bot OAuth Token\n4"
      }
    },
    {
      "id": "8ce46c6a-2f4f-4b84-a8ca-853210e4fd18",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        672,
        768
      ],
      "parameters": {
        "width": 272,
        "height": 256,
        "content": "### GPT Setup\nUpdate the system message so that it clearly defines the exact PRD structure you expect, including the sections that should be generated.\nReplace the free OpenAI API credits with your ow"
      }
    },
    {
      "id": "b4d9f6fa-3c2a-40d5-a901-be925ee62284",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        976,
        768
      ],
      "parameters": {
        "width": 272,
        "height": 256,
        "content": "### Google Doc Setup\nSteps:\n1. Create Google Cloud Project\n2. Add Doc URl to n8n\n3. Replace the example Google Doc URL with your own PRD document.\nReference - https://www.youtube.com/watch?v=iieEHvu93"
      }
    }
  ],
  "connections": {
    "Slack Trigger": {
      "main": [
        [
          {
            "node": "Format Slack Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Form Data": {
      "main": [
        [
          {
            "node": "Merge All Data Sources",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Format Jira Data": {
      "main": [
        []
      ]
    },
    "Format Zoom Data": {
      "main": [
        [
          {
            "node": "Merge All Data Sources",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Platform Metdata": {
      "main": [
        [
          {
            "node": "Fetch Platform Analytics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Figma Data": {
      "main": [
        []
      ]
    },
    "Format Slack Data": {
      "main": [
        [
          {
            "node": "Merge All Data Sources",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Jira Comments": {
      "main": [
        [
          {
            "node": "Format Jira Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "PRD Analysis Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "PRD Analysis Agent": {
      "main": [
        [
          {
            "node": "Update PRD Document",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Zendesk Data": {
      "main": [
        []
      ]
    },
    "Get Zendesk Tickets": {
      "main": [
        [
          {
            "node": "Format Zendesk Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Zoom Recordings": {
      "main": [
        [
          {
            "node": "Transcribe Zoom Audio",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Jira Fetch": {
      "main": [
        [
          {
            "node": "Get Jira Comments",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Platform Data": {
      "main": [
        [
          {
            "node": "Merge All Data Sources",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Customer Form Trigger": {
      "main": [
        [
          {
            "node": "Format Form Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Figma Comment Trigger": {
      "main": [
        [
          {
            "node": "Format Figma Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured PRD Output": {
      "ai_outputParser": [
        [
          {
            "node": "PRD Analysis Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Transcribe Zoom Audio": {
      "main": [
        [
          {
            "node": "Format Zoom Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge All Data Sources": {
      "main": [
        [
          {
            "node": "PRD Analysis Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Zendesk Fetch": {
      "main": [
        [
          {
            "node": "Get Zendesk Tickets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Platform Analytics": {
      "main": [
        [
          {
            "node": "Format Platform Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}