AutomationFlowsData & Sheets › Wf 001 Topic Discovery

Wf 001 Topic Discovery

WF-001-topic-discovery. Uses postgres. Scheduled trigger; 35 nodes.

Cron / scheduled trigger★★★★★ complexity35 nodesPostgres
Data & Sheets Trigger: Cron / scheduled Nodes: 35 Complexity: ★★★★★ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "wf001-topic-discovery-000000000",
  "name": "WF-001-topic-discovery",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "cronExpression",
              "expression": "0 9 * * 1,4"
            }
          ]
        }
      },
      "id": "c2000000-0001-0001-0001-000000000001",
      "name": "Schedule 09:00 UTC",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        240,
        1100
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "aa01",
              "name": "feed_url",
              "value": "https://techcrunch.com/feed/",
              "type": "string"
            },
            {
              "id": "aa02",
              "name": "source_name",
              "value": "TechCrunch",
              "type": "string"
            },
            {
              "id": "aa03",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000101",
      "name": "In \u2014 TechCrunch",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        200
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub004-rss-ingestion-00000000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000102",
      "name": "RSS \u2014 TechCrunch",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        200
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ab01",
              "name": "feed_url",
              "value": "https://www.technologyreview.com/feed/",
              "type": "string"
            },
            {
              "id": "ab02",
              "name": "source_name",
              "value": "MIT Technology Review",
              "type": "string"
            },
            {
              "id": "ab03",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000103",
      "name": "In \u2014 MIT Tech Review",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        380
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub004-rss-ingestion-00000000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000104",
      "name": "RSS \u2014 MIT Tech Review",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        380
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ac01",
              "name": "feed_url",
              "value": "https://venturebeat.com/feed/",
              "type": "string"
            },
            {
              "id": "ac02",
              "name": "source_name",
              "value": "VentureBeat",
              "type": "string"
            },
            {
              "id": "ac03",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000105",
      "name": "In \u2014 VentureBeat",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        560
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub004-rss-ingestion-00000000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000106",
      "name": "RSS \u2014 VentureBeat",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        560
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ad01",
              "name": "feed_url",
              "value": "https://www.theverge.com/rss/index.xml",
              "type": "string"
            },
            {
              "id": "ad02",
              "name": "source_name",
              "value": "The Verge",
              "type": "string"
            },
            {
              "id": "ad03",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000107",
      "name": "In \u2014 The Verge",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        740
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub004-rss-ingestion-00000000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000108",
      "name": "RSS \u2014 The Verge",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        740
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ae01",
              "name": "feed_url",
              "value": "https://feeds.arstechnica.com/arstechnica/index",
              "type": "string"
            },
            {
              "id": "ae02",
              "name": "source_name",
              "value": "Ars Technica",
              "type": "string"
            },
            {
              "id": "ae03",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000109",
      "name": "In \u2014 Ars Technica",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        920
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub004-rss-ingestion-00000000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000110",
      "name": "RSS \u2014 Ars Technica",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        920
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ba01",
              "name": "subreddit",
              "value": "MachineLearning",
              "type": "string"
            },
            {
              "id": "ba02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000111",
      "name": "In \u2014 MachineLearning",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        1100
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub005-reddit-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000112",
      "name": "Reddit \u2014 MachineLearning",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        1100
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "bb01",
              "name": "subreddit",
              "value": "artificial",
              "type": "string"
            },
            {
              "id": "bb02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000113",
      "name": "In \u2014 artificial",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        1280
      ]
    },
    {
      "parameters": {
        "resume": "timeInterval",
        "amount": 15,
        "unit": "seconds"
      },
      "id": "c2000000-0001-0001-0001-000000000113w",
      "name": "Wait 15s (artificial)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        590,
        1280
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub005-reddit-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000114",
      "name": "Reddit \u2014 artificial",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        1280
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "bc01",
              "name": "subreddit",
              "value": "ChatGPT",
              "type": "string"
            },
            {
              "id": "bc02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000115",
      "name": "In \u2014 ChatGPT",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        1460
      ]
    },
    {
      "parameters": {
        "resume": "timeInterval",
        "amount": 30,
        "unit": "seconds"
      },
      "id": "c2000000-0001-0001-0001-000000000115w",
      "name": "Wait 30s (ChatGPT)",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        590,
        1460
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub005-reddit-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000116",
      "name": "Reddit \u2014 ChatGPT",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        1460
      ],
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ca01",
              "name": "keyword",
              "value": "AI automation",
              "type": "string"
            },
            {
              "id": "ca02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000117",
      "name": "In \u2014 AI automation",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        1640
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000118",
      "name": "Trends \u2014 AI automation",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        1640
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "cb01",
              "name": "keyword",
              "value": "AI agent",
              "type": "string"
            },
            {
              "id": "cb02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000119",
      "name": "In \u2014 AI agent",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        1820
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000120",
      "name": "Trends \u2014 AI agent",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        1820
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "cc01",
              "name": "keyword",
              "value": "ChatGPT business",
              "type": "string"
            },
            {
              "id": "cc02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000121",
      "name": "In \u2014 ChatGPT business",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        2000
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000122",
      "name": "Trends \u2014 ChatGPT business",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        2000
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "cd01",
              "name": "keyword",
              "value": "AI layoffs",
              "type": "string"
            },
            {
              "id": "cd02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000123",
      "name": "In \u2014 AI layoffs",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        2180
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000124",
      "name": "Trends \u2014 AI layoffs",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        2180
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "ce01",
              "name": "keyword",
              "value": "AI cost",
              "type": "string"
            },
            {
              "id": "ce02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000125",
      "name": "In \u2014 AI cost",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        2360
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000126",
      "name": "Trends \u2014 AI cost",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        2360
      ]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "cf01",
              "name": "keyword",
              "value": "automation ROI",
              "type": "string"
            },
            {
              "id": "cf02",
              "name": "channel_id",
              "value": 1,
              "type": "number"
            }
          ]
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000127",
      "name": "In \u2014 automation ROI",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        480,
        2540
      ]
    },
    {
      "parameters": {
        "workflowId": {
          "__rl": true,
          "value": "sub006-trends-ingestion-0000000",
          "mode": "id"
        },
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000128",
      "name": "Trends \u2014 automation ROI",
      "type": "n8n-nodes-base.executeWorkflow",
      "typeVersion": 1.1,
      "position": [
        700,
        2540
      ]
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "source_results",
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000200",
      "name": "Collect All Results",
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        980,
        1370
      ]
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "={{ `INSERT INTO workflow_logs (workflow_name, workflow_id, execution_id, status, input_summary, output_summary, created_at) VALUES ('WF-001-topic-discovery', 'wf001-topic-discovery-000000000', '${$execution.id}', 'completed', '{}', '${JSON.stringify({ total_sources: $json.source_results.length, results: $json.source_results.map(r => ({ source: r.feed_url || r.subreddit || r.keyword, inserted: r.items_inserted || 0 })) }).replace(/'/g,\"''\")}', NOW()) RETURNING id` }}",
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000201",
      "name": "Log Execution",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        1200,
        1370
      ],
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "INSERT INTO topics (channel_id, title, description, source, source_url, status, created_at, updated_at) SELECT DISTINCT ON (rr.content_title) 1, rr.content_title, rr.content_text, rr.source_type::text::research_source_type, rr.source_url, 'discovered', NOW(), NOW() FROM raw_research rr WHERE rr.created_at >= NOW() - INTERVAL '2 hours' AND rr.content_title IS NOT NULL AND NOT EXISTS (SELECT 1 FROM topics t WHERE t.title = rr.content_title) RETURNING id, title",
        "options": {}
      },
      "id": "c2000000-0001-0001-0001-000000000202",
      "name": "Create Topics",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        1420,
        1370
      ],
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "executeQuery",
        "query": "UPDATE raw_research rr SET topic_id = t.id FROM topics t WHERE rr.content_title = t.title AND rr.topic_id IS NULL RETURNING rr.id",
        "options": {}
      },
      "id": "c3000000-0001-0001-0001-000000000099",
      "name": "Link Raw Research",
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.5,
      "position": [
        1660,
        1370
      ],
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Schedule 09:00 UTC": {
      "main": [
        [
          {
            "node": "In \u2014 TechCrunch",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 MIT Tech Review",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 VentureBeat",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 The Verge",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 Ars Technica",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 MachineLearning",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 artificial",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 ChatGPT",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 AI automation",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 AI agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 ChatGPT business",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 AI layoffs",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 AI cost",
            "type": "main",
            "index": 0
          },
          {
            "node": "In \u2014 automation ROI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 TechCrunch": {
      "main": [
        [
          {
            "node": "RSS \u2014 TechCrunch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 MIT Tech Review": {
      "main": [
        [
          {
            "node": "RSS \u2014 MIT Tech Review",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 VentureBeat": {
      "main": [
        [
          {
            "node": "RSS \u2014 VentureBeat",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 The Verge": {
      "main": [
        [
          {
            "node": "RSS \u2014 The Verge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 Ars Technica": {
      "main": [
        [
          {
            "node": "RSS \u2014 Ars Technica",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 MachineLearning": {
      "main": [
        [
          {
            "node": "Reddit \u2014 MachineLearning",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 artificial": {
      "main": [
        [
          {
            "node": "Wait 15s (artificial)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 15s (artificial)": {
      "main": [
        [
          {
            "node": "Reddit \u2014 artificial",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 ChatGPT": {
      "main": [
        [
          {
            "node": "Wait 30s (ChatGPT)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 30s (ChatGPT)": {
      "main": [
        [
          {
            "node": "Reddit \u2014 ChatGPT",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 AI automation": {
      "main": [
        [
          {
            "node": "Trends \u2014 AI automation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 AI agent": {
      "main": [
        [
          {
            "node": "Trends \u2014 AI agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 ChatGPT business": {
      "main": [
        [
          {
            "node": "Trends \u2014 ChatGPT business",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 AI layoffs": {
      "main": [
        [
          {
            "node": "Trends \u2014 AI layoffs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 AI cost": {
      "main": [
        [
          {
            "node": "Trends \u2014 AI cost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "In \u2014 automation ROI": {
      "main": [
        [
          {
            "node": "Trends \u2014 automation ROI",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS \u2014 TechCrunch": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS \u2014 MIT Tech Review": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS \u2014 VentureBeat": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS \u2014 The Verge": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS \u2014 Ars Technica": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reddit \u2014 MachineLearning": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reddit \u2014 artificial": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Reddit \u2014 ChatGPT": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 AI automation": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 AI agent": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 ChatGPT business": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 AI layoffs": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 AI cost": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trends \u2014 automation ROI": {
      "main": [
        [
          {
            "node": "Collect All Results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Collect All Results": {
      "main": [
        [
          {
            "node": "Log Execution",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Execution": {
      "main": [
        [
          {
            "node": "Create Topics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Topics": {
      "main": [
        [
          {
            "node": "Link Raw Research",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

WF-001-topic-discovery. Uses postgres. Scheduled trigger; 35 nodes.

Source: https://github.com/navin-labs/content-factory-os/blob/main/n8n/workflows/main/WF-001-topic-discovery.json — original creator credit. Request a take-down →

More Data & Sheets workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Data & Sheets

Disparador 1.8. Uses itemLists, postgres, emailSend, httpRequest. Scheduled trigger; 85 nodes.

Item Lists, Postgres, Email Send +1
Data & Sheets

공유회_알림톡_크론. Uses postgres, httpRequest, n8n-nodes-solapi. Scheduled trigger; 39 nodes.

Postgres, HTTP Request, N8N Nodes Solapi
Data & Sheets

QuepasaAutomatic. Uses postgres, postgresTrigger, httpRequest. Scheduled trigger; 39 nodes.

Postgres, Postgres Trigger, HTTP Request
Data & Sheets

QuepasaAutomatic. Uses postgres, postgresTrigger, httpRequest. Scheduled trigger; 39 nodes.

Postgres, Postgres Trigger, HTTP Request
Data & Sheets

QuepasaAutomatic. Uses postgres, postgresTrigger, httpRequest. Scheduled trigger; 39 nodes.

Postgres, Postgres Trigger, HTTP Request