{
  "name": "Reddit Monitor Master v3",
  "nodes": [
    {
      "parameters": {},
      "id": "10cc083a-b028-4260-995e-dd7f30c585cc",
      "name": "Manual Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        -1504,
        256
      ]
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 15
            }
          ]
        }
      },
      "id": "3784a761-1f7b-461a-a3bd-9d95e3f981d1",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -1504,
        448
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "reddit-monitor-webhook",
        "options": {}
      },
      "id": "db0bc28a-631f-4167-885e-e99bd70943ca",
      "name": "Webhook Trigger",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -1504,
        640
      ]
    },
    {
      "parameters": {
        "jsCode": "const staticData = $getWorkflowStaticData('global');\nstaticData.redditCalls = 0;\nreturn [{\n  json: {\n    startTime: new Date().getTime(),\n    redditCalls: 0,\n    scannedCount: 0,\n    newCount: 0\n  }\n}];"
      },
      "id": "064b95f1-567d-4156-b886-f82da82ae9a4",
      "name": "Record Start Time",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        -1280,
        448
      ]
    },
    {
      "parameters": {
        "jsCode": "return [{\n  json: {\n    icp_description: \"Our ideal customer is a SaaS founder, agency owner, freelancer, or marketer looking for: payment alternatives, invoicing automation, workflow optimization, or lead generation tools. Key pain points include Stripe/Square deactivation, high processor fees, manual invoicing overhead, or lead prospecting bottlenecks.\",\n    target_roles: [\"Founder\", \"CEO\", \"Owner\", \"Freelancer\", \"Marketer\", \"Operator\"]\n  }\n}];"
      },
      "id": "9cddb94b-4e6f-48fa-b860-54e4d7cd753e",
      "name": "Define ICP Profile",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        -1056,
        448
      ]
    },
    {
      "parameters": {
        "operation": "search",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Config",
        "options": {}
      },
      "id": "ff9548f0-2b25-4e6c-bba5-e44e64ec8337",
      "name": "Read Config Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        -384,
        304
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "tableId": "pending_scans"
      },
      "id": "32f819d2-5add-4c20-b88d-54c1a09850e4",
      "name": "Fetch Pending Scans",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        -832,
        528
      ],
      "alwaysOutputData": true,
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}"
            }
          ]
        },
        "options": {}
      },
      "id": "e6aff083-8268-4e51-ac85-089c65425fa6",
      "name": "Is Real Scan?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        -608,
        528
      ]
    },
    {
      "parameters": {
        "operation": "update",
        "tableId": "pending_scans",
        "filters": {
          "conditions": [
            {
              "keyName": "id",
              "condition": "eq",
              "keyValue": "={{ $json.id || 0 }}"
            }
          ]
        },
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "status",
              "fieldValue": "processing"
            },
            {
              "fieldId": "started_at",
              "fieldValue": "={{ new Date().toISOString() }}"
            }
          ]
        }
      },
      "id": "4f5b6e35-f3ab-4238-a9cb-d3428e13f408",
      "name": "Mark Pending Scans Processing",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        -384,
        592
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {},
      "id": "e899f274-78a2-44b4-ad2b-cad9f0fc1122",
      "name": "Merge Scans and Configs",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 1,
      "position": [
        -160,
        448
      ]
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nconst processed = [];\nfor (const item of items) {\n  let sub = item.json.subreddit;\n  let kw = item.json.keywords;\n  if (!sub || !kw) continue;\n  \n  sub = sub.trim();\n  if (sub.includes('/r/')) {\n    const parts = sub.split('/r/');\n    if (parts.length > 1) {\n      sub = parts[1];\n    }\n  } else if (sub.toLowerCase().startsWith('r/')) {\n    sub = sub.substring(2);\n  }\n  \n  // Clean trailing slashes and subpaths (e.g. \"SaaS/\" or \"SaaS/comments/...\")\n  sub = sub.split('/')[0].trim();\n  \n  if (sub && kw) {\n    processed.push({\n      json: {\n        ...item.json,\n        subreddit: sub,\n        keywords: kw.trim()\n      }\n    });\n  }\n}\nreturn processed;"
      },
      "id": "dbd00039-63d7-4f71-aa62-11a0188961ac",
      "name": "Filter Config List",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        64,
        448
      ]
    },
    {
      "parameters": {
        "batchSize": 1,
        "options": {}
      },
      "id": "a6f040c1-f0c4-4422-8d89-cd32fbac7f23",
      "name": "Loop Over Configs",
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 1,
      "position": [
        288,
        448
      ]
    },
    {
      "parameters": {
        "jsCode": "const staticData = $getWorkflowStaticData('global');\nconst currentConfig = $input.first().json;\nconst limitExceeded = (staticData.redditCalls || 0) >= 30;\nreturn [{\n  json: {\n    ...currentConfig,\n    limitExceeded\n  }\n}];"
      },
      "id": "08cfbb8e-565f-4b1b-87a1-12e35bb8875e",
      "name": "Rate Limiter Check",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        512,
        384
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.limitExceeded }}"
            }
          ]
        },
        "options": {}
      },
      "id": "d44b3376-6dac-4225-9b39-76266ddb9650",
      "name": "Check Rate Limit",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        736,
        384
      ]
    },
    {
      "parameters": {
        "tableId": "pending_scans",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            },
            {
              "fieldId": "keywords",
              "fieldValue": "={{ $json.keywords }}"
            },
            {
              "fieldId": "priority",
              "fieldValue": "={{ $json.priority }}"
            },
            {
              "fieldId": "status",
              "fieldValue": "pending"
            }
          ]
        }
      },
      "id": "549e6aec-7d10-4a05-a07d-492e60d5787f",
      "name": "Queue Pending Scan",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        960,
        480
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.error }}"
            }
          ]
        },
        "options": {}
      },
      "id": "d7b1db90-ba06-444f-89d1-38a5a9efa6fd",
      "name": "Check Queue Error",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        1184,
        480
      ]
    },
    {
      "parameters": {
        "channel": "#reddit-monitor",
        "text": "=\ud83d\udea8 *Queue Pending Scan Failed*\n*Error:* {{ $json.error?.message || \"Unknown error during insert\" }}\n*Subreddit:* {{ $('Loop Over Configs').item.json.subreddit }}\n*Keywords:* {{ $('Loop Over Configs').item.json.keywords }}",
        "otherOptions": {},
        "attachments": []
      },
      "id": "f03578f1-0f9f-4636-9be8-9f1cd4f6aa0a",
      "name": "Queue Error Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        1408,
        544
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "headerAuth",
        "url": "https://api.zernio.com/v1/reddit/search",
        "options": {},
        "queryParametersUi": {
          "parameter": [
            {
              "name": "q",
              "value": "={{ $json.keywords }}"
            },
            {
              "name": "subreddit",
              "value": "={{ $json.subreddit }}"
            },
            {
              "name": "accountId",
              "value": "={{ $json.zernio_account_id || \"6a22ca6d2b2567671ae23132\" }}"
            },
            {
              "name": "sort",
              "value": "new"
            },
            {
              "name": "limit",
              "value": "25"
            }
          ]
        }
      },
      "id": "bf16ea22-1017-4328-945f-12cf049f1c70",
      "name": "Search Reddit",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        1184,
        240
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const staticData = $getWorkflowStaticData('global');\nstaticData.redditCalls = (staticData.redditCalls || 0) + 1;\nreturn $input.all();"
      },
      "id": "e3cc9ced-976e-4fba-bd46-87112939b860",
      "name": "Increment Rate Counter",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        1408,
        240
      ]
    },
    {
      "parameters": {
        "unit": "seconds"
      },
      "id": "96300e66-c75a-455b-97f2-cc6619a71d69",
      "name": "Wait 1s",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1,
      "position": [
        1632,
        400
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('Loop Over Configs').context.noItemsLeft }}"
            }
          ]
        },
        "options": {}
      },
      "id": "2dfd7a6c-6083-4cdc-9433-a40837bc6f9e",
      "name": "Loop Check IF",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        1856,
        544
      ]
    },
    {
      "parameters": {
        "jsCode": "const allPosts = [];\nlet items = [];\ntry {\n  items = $('Search Reddit').all();\n} catch (e) {\n  // Search Reddit hasn't been executed\n}\nfor (const item of items) {\n  const data = item.json;\n  if (!data) continue;\n  \n  let posts = [];\n  if (Array.isArray(data)) {\n    posts = data;\n  } else if (data.items && Array.isArray(data.items)) {\n    posts = data.items;\n  } else if (data.posts && Array.isArray(data.posts)) {\n    posts = data.posts;\n  } else if (data.data && Array.isArray(data.data)) {\n    posts = data.data;\n  } else if (data.data && data.data.children && Array.isArray(data.data.children)) {\n    posts = data.data.children.map(c => c.data || c);\n  } else if (typeof data === 'object') {\n    posts = [data];\n  }\n  \n  for (const p of posts) {\n    if (p) {\n      allPosts.push(p);\n    }\n  }\n}\n\nconst seenIds = new Set();\nconst uniquePosts = [];\nfor (const post of allPosts) {\n  const id = post.id || post._id || post.post_id || post.postId;\n  if (id && !seenIds.has(id)) {\n    seenIds.add(id);\n    uniquePosts.push(post);\n  }\n}\n\nreturn uniquePosts.map(p => ({ json: p }));"
      },
      "id": "9783b282-2ce0-4844-9f7c-f75119a2d295",
      "name": "Gather Posts",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        2080,
        544
      ]
    },
    {
      "parameters": {
        "jsCode": "let crypto;\ntry {\n  crypto = require('crypto');\n} catch (e) {}\n\nconst posts = $input.all();\nreturn posts.map(item => {\n  const post = item.json;\n  const id = post.id || post._id || post.post_id || post.postId || '';\n  const title = post.title || post.subject || '';\n  const body = post.selftext || post.body || post.content || '';\n  \n  let url = post.url || post.permalink || '';\n  if (url && url.startsWith('/')) {\n    url = 'https://www.reddit.com' + url;\n  }\n  \n  const subreddit = post.subreddit || '';\n  const upvotes = post.ups || post.upvotes || post.score || 0;\n  \n  let createdTime = post.created_time || post.created_utc || post.createdAt || post.created || '';\n  if (createdTime) {\n    if (typeof createdTime === 'number') {\n      if (createdTime < 1e11) {\n        createdTime = new Date(createdTime * 1000).toISOString();\n      } else {\n        createdTime = new Date(createdTime).toISOString();\n      }\n    } else {\n      try {\n        createdTime = new Date(createdTime).toISOString();\n      } catch (e) {\n        createdTime = new Date().toISOString();\n      }\n    }\n  } else {\n    createdTime = new Date().toISOString();\n  }\n  \n  const textToHash = (title + body).trim().toLowerCase();\n  \n  let hash = '';\n  if (crypto) {\n    hash = crypto.createHash('md5').update(textToHash).digest('hex');\n  } else {\n    let hval = 0x811c9dc5;\n    for (let i = 0; i < textToHash.length; i++) {\n      hval ^= textToHash.charCodeAt(i);\n      hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n    }\n    hash = (hval >>> 0).toString(16).padStart(8, '0');\n  }\n  \n  return {\n    json: {\n      post_id: id,\n      title: title,\n      body: body,\n      url: url,\n      subreddit: subreddit,\n      upvotes: upvotes,\n      created_time: createdTime,\n      content_hash: hash,\n      source: 'reddit'\n    }\n  };\n});"
      },
      "id": "d0844bbe-7be0-4846-ae7f-8d53803911f2",
      "name": "Prepare Post Hashes",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        2304,
        544
      ]
    },
    {
      "parameters": {
        "operation": "getAll",
        "tableId": "seen_posts",
        "filters": {
          "conditions": [
            {
              "keyName": "post_id",
              "condition": "eq",
              "keyValue": "={{ $json.post_id }}"
            },
            {
              "keyName": "content_hash",
              "condition": "eq",
              "keyValue": "={{ $json.content_hash }}"
            }
          ]
        }
      },
      "id": "614e230f-c9ca-4224-9368-e2793977e6f6",
      "name": "Check Seen Status",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        2528,
        544
      ],
      "alwaysOutputData": true,
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "string",
                "operation": "isEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}"
            }
          ]
        },
        "options": {}
      },
      "id": "cfb3bf37-1b0c-4241-a599-ae7a4c3288b9",
      "name": "Filter New Posts",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        2752,
        544
      ]
    },
    {
      "parameters": {
        "tableId": "seen_posts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "content_hash",
              "fieldValue": "={{ $json.content_hash }}"
            },
            {
              "fieldId": "source",
              "fieldValue": "reddit"
            },
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            }
          ]
        }
      },
      "id": "0ae426bc-3c86-478e-9818-49a052e39c3c",
      "name": "Insert Seen Post",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        2976,
        640
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "headerAuth",
        "url": "https://openrouter.ai/api/v1/chat/completions",
        "jsonParameters": true,
        "options": {}
      },
      "id": "4a510334-a70e-4b00-a08b-fe94e4a13436",
      "name": "OpenAI Direct API",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        3200,
        640
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const response = $input.first().json;\nconst content = response.choices && response.choices[0] && response.choices[0].message ? response.choices[0].message.content : '{}';\n\nlet parsed;\ntry {\n  const cleanJson = content.replace(/\\`\\`\\`json\\n?/g, '').replace(/\\`\\`\\`\\n?/g, '').trim();\n  parsed = JSON.parse(cleanJson);\n} catch (e) {\n  parsed = {\n    summary: 'Parse error: ' + content.substring(0, 100),\n    sentiment: 'neutral',\n    intent: 'unknown',\n    relevance_score: 0,\n    urgency: 'low',\n    business_opportunity_score: 0,\n    recommended_action: 'archive',\n    competitor_mentioned: 'no',\n    brand_mentioned: 'no',\n    pain_point_category: 'None',\n    pain_point_description: 'None',\n    pain_point_severity: 0\n  };\n}\n\nreturn [{\n  json: {\n    ...parsed,\n    raw_response: content\n  }\n}];"
      },
      "id": "1099bee4-b4a7-455c-852f-295278707c90",
      "name": "Parse AI Response",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        3424,
        640
      ]
    },
    {
      "parameters": {
        "values": {
          "string": [
            {
              "name": "post_id",
              "value": "={{ $('Prepare Post Hashes').item.json.post_id }}"
            },
            {
              "name": "title",
              "value": "={{ $('Prepare Post Hashes').item.json.title }}"
            },
            {
              "name": "body",
              "value": "={{ $('Prepare Post Hashes').item.json.body }}"
            },
            {
              "name": "url",
              "value": "={{ $('Prepare Post Hashes').item.json.url }}"
            },
            {
              "name": "subreddit",
              "value": "={{ $('Prepare Post Hashes').item.json.subreddit }}"
            },
            {
              "name": "upvotes",
              "value": "={{ $('Prepare Post Hashes').item.json.upvotes }}"
            },
            {
              "name": "created_time",
              "value": "={{ $('Prepare Post Hashes').item.json.created_time }}"
            },
            {
              "name": "content_hash",
              "value": "={{ $('Prepare Post Hashes').item.json.content_hash }}"
            },
            {
              "name": "summary",
              "value": "={{ $json.summary }}"
            },
            {
              "name": "sentiment",
              "value": "={{ $json.sentiment }}"
            },
            {
              "name": "intent",
              "value": "={{ $json.intent }}"
            },
            {
              "name": "relevance_score",
              "value": "={{ $json.relevance_score }}"
            },
            {
              "name": "urgency",
              "value": "={{ $json.urgency }}"
            },
            {
              "name": "business_opportunity_score",
              "value": "={{ $json.business_opportunity_score }}"
            },
            {
              "name": "recommended_action",
              "value": "={{ $json.recommended_action }}"
            },
            {
              "name": "competitor_mentioned",
              "value": "={{ $json.competitor_mentioned }}"
            },
            {
              "name": "brand_mentioned",
              "value": "={{ $json.brand_mentioned }}"
            },
            {
              "name": "pain_point_category",
              "value": "={{ $json.pain_point_category }}"
            },
            {
              "name": "pain_point_description",
              "value": "={{ $json.pain_point_description }}"
            },
            {
              "name": "pain_point_severity",
              "value": "={{ $json.pain_point_severity }}"
            }
          ]
        },
        "options": {}
      },
      "id": "e4048abf-e260-42b2-a7fd-153231af03d7",
      "name": "Pass Post Data",
      "type": "n8n-nodes-base.set",
      "typeVersion": 1,
      "position": [
        3648,
        640
      ]
    },
    {
      "parameters": {
        "rules": {
          "rules": [
            {},
            {},
            {}
          ]
        }
      },
      "id": "7c46ac1e-edf0-4baf-bcf2-11c6511b213d",
      "name": "Route Analysis",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 1,
      "position": [
        3872,
        416
      ]
    },
    {
      "parameters": {
        "tableId": "posts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            },
            {
              "fieldId": "title",
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": "body",
              "fieldValue": "={{ $json.body }}"
            },
            {
              "fieldId": "url",
              "fieldValue": "={{ $json.url }}"
            },
            {
              "fieldId": "upvotes",
              "fieldValue": "={{ $json.upvotes }}"
            },
            {
              "fieldId": "created_time",
              "fieldValue": "={{ $json.created_time }}"
            },
            {
              "fieldId": "sentiment",
              "fieldValue": "={{ $json.sentiment }}"
            },
            {
              "fieldId": "intent",
              "fieldValue": "={{ $json.intent }}"
            },
            {
              "fieldId": "relevance_score",
              "fieldValue": "={{ $json.relevance_score }}"
            },
            {
              "fieldId": "urgency",
              "fieldValue": "={{ $json.urgency }}"
            },
            {
              "fieldId": "business_opportunity_score",
              "fieldValue": "={{ $json.business_opportunity_score }}"
            },
            {
              "fieldId": "recommended_action",
              "fieldValue": "alert"
            },
            {
              "fieldId": "competitor_mentioned",
              "fieldValue": "={{ $json.competitor_mentioned }}"
            },
            {
              "fieldId": "brand_mentioned",
              "fieldValue": "={{ $json.brand_mentioned }}"
            },
            {
              "fieldId": "summary",
              "fieldValue": "={{ $json.summary }}"
            },
            {
              "fieldId": "pain_point_category",
              "fieldValue": "={{ $json.pain_point_category }}"
            },
            {
              "fieldId": "pain_point_description",
              "fieldValue": "={{ $json.pain_point_description }}"
            },
            {
              "fieldId": "pain_point_severity",
              "fieldValue": "={{ $json.pain_point_severity }}"
            }
          ]
        }
      },
      "id": "6da6d898-477d-4a1d-a3b2-aa35147d2c5a",
      "name": "Insert Post (Immediate)",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4096,
        160
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "channel": "#reddit-monitor",
        "text": "=\ud83d\udea8 *Immediate Lead Alert: High Relevance Opportunity*\n*Subreddit:* r/{{ $json.subreddit }}\n*Title:* {{ $json.title }}\n*Relevance Score:* {{ $json.relevance_score }}/100 | *Opportunity Score:* {{ $json.business_opportunity_score }}/10\n*Summary:* {{ $json.summary }}\n*Sentiment:* {{ $json.sentiment }} | *Intent:* {{ $json.intent }}\n*Link:* {{ $json.url }}",
        "otherOptions": {},
        "attachments": []
      },
      "id": "028145bd-a360-4228-a9bd-261add6014a1",
      "name": "Send Slack Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        4320,
        160
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "authentication": "headerAuth",
        "url": "https://api.clickup.com/api/v2/list/YOUR_CLICKUP_LIST_ID/task",
        "jsonParameters": true,
        "options": {}
      },
      "id": "60c69c95-25e2-4de8-9af4-d1e7b6456cbe",
      "name": "Create ClickUp Task",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 1,
      "position": [
        4544,
        160
      ],
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "alerts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "channel",
              "fieldValue": "slack+gmail+crm"
            },
            {
              "fieldId": "status",
              "fieldValue": "sent"
            }
          ]
        }
      },
      "id": "e9bdf140-f353-41ea-a2b4-b906d1affde6",
      "name": "Log Alert Sent",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4768,
        160
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Weekly-Report",
        "options": {}
      },
      "id": "dbde68a5-2d11-4677-91af-350c2fd1c79b",
      "name": "Log Immediate to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        4992,
        160
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "tableId": "posts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            },
            {
              "fieldId": "title",
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": "body",
              "fieldValue": "={{ $json.body }}"
            },
            {
              "fieldId": "url",
              "fieldValue": "={{ $json.url }}"
            },
            {
              "fieldId": "upvotes",
              "fieldValue": "={{ $json.upvotes }}"
            },
            {
              "fieldId": "created_time",
              "fieldValue": "={{ $json.created_time }}"
            },
            {
              "fieldId": "sentiment",
              "fieldValue": "={{ $json.sentiment }}"
            },
            {
              "fieldId": "intent",
              "fieldValue": "={{ $json.intent }}"
            },
            {
              "fieldId": "relevance_score",
              "fieldValue": "={{ $json.relevance_score }}"
            },
            {
              "fieldId": "urgency",
              "fieldValue": "={{ $json.urgency }}"
            },
            {
              "fieldId": "business_opportunity_score",
              "fieldValue": "={{ $json.business_opportunity_score }}"
            },
            {
              "fieldId": "recommended_action",
              "fieldValue": "digest"
            },
            {
              "fieldId": "competitor_mentioned",
              "fieldValue": "={{ $json.competitor_mentioned }}"
            },
            {
              "fieldId": "brand_mentioned",
              "fieldValue": "={{ $json.brand_mentioned }}"
            },
            {
              "fieldId": "summary",
              "fieldValue": "={{ $json.summary }}"
            },
            {
              "fieldId": "pain_point_category",
              "fieldValue": "={{ $json.pain_point_category }}"
            },
            {
              "fieldId": "pain_point_description",
              "fieldValue": "={{ $json.pain_point_description }}"
            },
            {
              "fieldId": "pain_point_severity",
              "fieldValue": "={{ $json.pain_point_severity }}"
            }
          ]
        }
      },
      "id": "20d55ecf-7233-45a2-b069-4460e5344055",
      "name": "Insert Post (Digest)",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4544,
        352
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "digest_queue",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "status",
              "fieldValue": "pending"
            }
          ]
        }
      },
      "id": "94049fa0-e5b4-46a1-91e9-d2d0cd1992ea",
      "name": "Add to Digest Queue",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4768,
        352
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Weekly-Report",
        "options": {}
      },
      "id": "4c86b1f4-ef82-43d4-9cd3-2500522db2a5",
      "name": "Log Digest to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        4992,
        352
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "tableId": "posts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            },
            {
              "fieldId": "title",
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": "body",
              "fieldValue": "={{ $json.body }}"
            },
            {
              "fieldId": "url",
              "fieldValue": "={{ $json.url }}"
            },
            {
              "fieldId": "upvotes",
              "fieldValue": "={{ $json.upvotes }}"
            },
            {
              "fieldId": "created_time",
              "fieldValue": "={{ $json.created_time }}"
            },
            {
              "fieldId": "sentiment",
              "fieldValue": "={{ $json.sentiment }}"
            },
            {
              "fieldId": "intent",
              "fieldValue": "={{ $json.intent }}"
            },
            {
              "fieldId": "relevance_score",
              "fieldValue": "={{ $json.relevance_score }}"
            },
            {
              "fieldId": "urgency",
              "fieldValue": "={{ $json.urgency }}"
            },
            {
              "fieldId": "business_opportunity_score",
              "fieldValue": "={{ $json.business_opportunity_score }}"
            },
            {
              "fieldId": "recommended_action",
              "fieldValue": "trend_analysis"
            },
            {
              "fieldId": "competitor_mentioned",
              "fieldValue": "={{ $json.competitor_mentioned }}"
            },
            {
              "fieldId": "brand_mentioned",
              "fieldValue": "={{ $json.brand_mentioned }}"
            },
            {
              "fieldId": "summary",
              "fieldValue": "={{ $json.summary }}"
            },
            {
              "fieldId": "pain_point_category",
              "fieldValue": "={{ $json.pain_point_category }}"
            },
            {
              "fieldId": "pain_point_description",
              "fieldValue": "={{ $json.pain_point_description }}"
            },
            {
              "fieldId": "pain_point_severity",
              "fieldValue": "={{ $json.pain_point_severity }}"
            }
          ]
        }
      },
      "id": "e8c3ef96-9c34-49a0-8f05-75a43c948842",
      "name": "Insert Post (Trend)",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4544,
        544
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "tableId": "trend_analysis",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "status",
              "fieldValue": "pending"
            }
          ]
        }
      },
      "id": "37442563-71fb-4cb0-b026-350b7d417c8f",
      "name": "Add to Trend Queue",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4768,
        544
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Weekly-Report",
        "options": {}
      },
      "id": "08d946ad-c2bb-4f49-9dd2-150918b01787",
      "name": "Log Trend to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        4992,
        544
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "tableId": "posts",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "post_id",
              "fieldValue": "={{ $json.post_id }}"
            },
            {
              "fieldId": "subreddit",
              "fieldValue": "={{ $json.subreddit }}"
            },
            {
              "fieldId": "title",
              "fieldValue": "={{ $json.title }}"
            },
            {
              "fieldId": "body",
              "fieldValue": "={{ $json.body }}"
            },
            {
              "fieldId": "url",
              "fieldValue": "={{ $json.url }}"
            },
            {
              "fieldId": "upvotes",
              "fieldValue": "={{ $json.upvotes }}"
            },
            {
              "fieldId": "created_time",
              "fieldValue": "={{ $json.created_time }}"
            },
            {
              "fieldId": "sentiment",
              "fieldValue": "={{ $json.sentiment }}"
            },
            {
              "fieldId": "intent",
              "fieldValue": "={{ $json.intent }}"
            },
            {
              "fieldId": "relevance_score",
              "fieldValue": "={{ $json.relevance_score }}"
            },
            {
              "fieldId": "urgency",
              "fieldValue": "={{ $json.urgency }}"
            },
            {
              "fieldId": "business_opportunity_score",
              "fieldValue": "={{ $json.business_opportunity_score }}"
            },
            {
              "fieldId": "recommended_action",
              "fieldValue": "archive"
            },
            {
              "fieldId": "competitor_mentioned",
              "fieldValue": "={{ $json.competitor_mentioned }}"
            },
            {
              "fieldId": "brand_mentioned",
              "fieldValue": "={{ $json.brand_mentioned }}"
            },
            {
              "fieldId": "summary",
              "fieldValue": "={{ $json.summary }}"
            },
            {
              "fieldId": "pain_point_category",
              "fieldValue": "={{ $json.pain_point_category }}"
            },
            {
              "fieldId": "pain_point_description",
              "fieldValue": "={{ $json.pain_point_description }}"
            },
            {
              "fieldId": "pain_point_severity",
              "fieldValue": "={{ $json.pain_point_severity }}"
            }
          ]
        }
      },
      "id": "bab645d8-a0b8-47c9-9818-1b918ff52461",
      "name": "Insert Post (Archive)",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        4768,
        736
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Weekly-Report",
        "options": {}
      },
      "id": "56657240-4daf-4ba0-b1db-00ed8ebaa26c",
      "name": "Log Archive to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        4992,
        736
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 2
          },
          "combinator": "and",
          "conditions": [
            {
              "operator": {
                "type": "number",
                "operation": "greaterEqual",
                "singleValue": true
              },
              "leftValue": "={{ $json.pain_point_severity }}",
              "rightValue": 5
            }
          ]
        },
        "options": {}
      },
      "id": "4d60bc0e-0efe-4911-aeda-36b27ed7e744",
      "name": "Is Pain Point?",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2,
      "position": [
        3872,
        880
      ]
    },
    {
      "parameters": {
        "channel": "#reddit-pain-points",
        "text": "=\ud83d\udd25 *New Industry Pain Point Identified* (Severity: {{ $json.pain_point_severity }}/10)\n*Subreddit:* r/{{ $json.subreddit }}\n*Category:* {{ $json.pain_point_category }}\n*Analysis:* {{ $json.pain_point_description }}\n*Post Title:* {{ $json.title }}\n*Link:* {{ $json.url }}",
        "otherOptions": {},
        "attachments": []
      },
      "id": "bf6c9d83-98d6-4561-9f9a-2d4ab41d5b0b",
      "name": "Send Pain Point Slack Alert",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        4096,
        880
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Pain-Points",
        "options": {}
      },
      "id": "915785b6-c0e1-4133-97c0-98f4d995a634",
      "name": "Log Pain Point to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        4320,
        880
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {
        "numberInputs": 5
      },
      "id": "30900401-f253-4d5e-b09d-b0c115856a51",
      "name": "Consolidate Run Data",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3,
      "position": [
        5216,
        336
      ]
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nconst newPosts = items.filter(item => item.json.recommended_action !== undefined);\nlet totalScanned = 0;\ntry { totalScanned = $('Gather Posts').all().length; } catch(e) {}\nconst duration = new Date().getTime() - ($('Record Start Time').first().json.startTime || Date.now());\nconst newPostsCount = newPosts.length;\nconst aiCost = newPostsCount * 0.0002;\n\nreturn [{\n  json: {\n    duration_ms: duration,\n    posts_scanned: totalScanned,\n    new_posts_found: newPostsCount,\n    ai_cost: aiCost,\n    run_timestamp: new Date().toISOString()\n  }\n}];"
      },
      "id": "d7fc8f9f-99bd-4d76-9b0d-ce20ffe62c81",
      "name": "Calculate Health Stats",
      "type": "n8n-nodes-base.code",
      "typeVersion": 1,
      "position": [
        5440,
        384
      ]
    },
    {
      "parameters": {
        "tableId": "monitor_health",
        "fieldsUi": {
          "fieldValues": [
            {
              "fieldId": "duration_ms",
              "fieldValue": "={{ $json.duration_ms }}"
            },
            {
              "fieldId": "posts_scanned",
              "fieldValue": "={{ $json.posts_scanned }}"
            },
            {
              "fieldId": "new_posts_found",
              "fieldValue": "={{ $json.new_posts_found }}"
            },
            {
              "fieldId": "ai_cost",
              "fieldValue": "={{ $json.ai_cost }}"
            }
          ]
        }
      },
      "id": "ec43b994-2bf6-47fa-aebd-0359441931c3",
      "name": "Log Run Stats",
      "type": "n8n-nodes-base.supabase",
      "typeVersion": 1,
      "position": [
        5664,
        384
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "create",
        "base": "appPKGU5OMe5HKqD6",
        "table": "Run-Stats",
        "options": {}
      },
      "id": "3211273e-0051-4e3d-a4af-c63675236eb9",
      "name": "Log Run Stats to Airtable",
      "type": "n8n-nodes-base.airtable",
      "typeVersion": 2,
      "position": [
        5888,
        384
      ],
      "credentials": {
        "airtableTokenApi": {
          "name": "<your credential>"
        }
      },
      "onError": "continueRegularOutput"
    },
    {
      "parameters": {},
      "id": "7821bde7-df81-4bc4-91a0-5c0122df5085",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "typeVersion": 1,
      "position": [
        -1504,
        1104
      ]
    },
    {
      "parameters": {
        "channel": "#reddit-monitor",
        "text": "=\ud83d\udea8 *Reddit Monitor Master Failure*\n*Error Name:* {{ $json.execution.error.name }}\n*Error Message:* {{ $json.execution.error.message }}\n*Workflow ID:* {{ $json.workflow.id }}\n*Execution ID:* {{ $json.execution.id }}",
        "otherOptions": {},
        "attachments": []
      },
      "id": "197af8bd-2129-40e6-aa17-0c57547835d9",
      "name": "Slack Error Notification",
      "type": "n8n-nodes-base.slack",
      "typeVersion": 1,
      "position": [
        -1280,
        1104
      ],
      "credentials": {
        "slackApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Record Start Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Record Start Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook Trigger": {
      "main": [
        [
          {
            "node": "Record Start Time",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Record Start Time": {
      "main": [
        [
          {
            "node": "Define ICP Profile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Define ICP Profile": {
      "main": [
        [
          {
            "node": "Read Config Airtable",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Pending Scans",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Pending Scans": {
      "main": [
        [
          {
            "node": "Is Real Scan?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Real Scan?": {
      "main": [
        [
          {
            "node": "Mark Pending Scans Processing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Merge Scans and Configs",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Mark Pending Scans Processing": {
      "main": [
        [
          {
            "node": "Merge Scans and Configs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Config Airtable": {
      "main": [
        [
          {
            "node": "Merge Scans and Configs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Scans and Configs": {
      "main": [
        [
          {
            "node": "Filter Config List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Config List": {
      "main": [
        [
          {
            "node": "Loop Over Configs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Configs": {
      "main": [
        [
          {
            "node": "Rate Limiter Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Rate Limiter Check": {
      "main": [
        [
          {
            "node": "Check Rate Limit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Rate Limit": {
      "main": [
        [
          {
            "node": "Queue Pending Scan",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Search Reddit",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Queue Pending Scan": {
      "main": [
        [
          {
            "node": "Check Queue Error",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Queue Error": {
      "main": [
        [
          {
            "node": "Queue Error Alert",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait 1s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Queue Error Alert": {
      "main": [
        [
          {
            "node": "Wait 1s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search Reddit": {
      "main": [
        [
          {
            "node": "Increment Rate Counter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Increment Rate Counter": {
      "main": [
        [
          {
            "node": "Wait 1s",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait 1s": {
      "main": [
        [
          {
            "node": "Loop Check IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Check IF": {
      "main": [
        [
          {
            "node": "Gather Posts",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Loop Over Configs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gather Posts": {
      "main": [
        [
          {
            "node": "Prepare Post Hashes",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Post Hashes": {
      "main": [
        [
          {
            "node": "Check Seen Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Seen Status": {
      "main": [
        [
          {
            "node": "Filter New Posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter New Posts": {
      "main": [
        [
          {
            "node": "Insert Seen Post",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Consolidate Run Data",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "Insert Seen Post": {
      "main": [
        [
          {
            "node": "OpenAI Direct API",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Direct API": {
      "main": [
        [
          {
            "node": "Parse AI Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Response": {
      "main": [
        [
          {
            "node": "Pass Post Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pass Post Data": {
      "main": [
        [
          {
            "node": "Route Analysis",
            "type": "main",
            "index": 0
          },
          {
            "node": "Is Pain Point?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Pain Point?": {
      "main": [
        [
          {
            "node": "Send Pain Point Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Pain Point Slack Alert": {
      "main": [
        [
          {
            "node": "Log Pain Point to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route Analysis": {
      "main": [
        [
          {
            "node": "Insert Post (Immediate)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Insert Post (Digest)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Insert Post (Trend)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Insert Post (Archive)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert Post (Immediate)": {
      "main": [
        [
          {
            "node": "Send Slack Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Slack Alert": {
      "main": [
        [
          {
            "node": "Create ClickUp Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create ClickUp Task": {
      "main": [
        [
          {
            "node": "Log Alert Sent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Alert Sent": {
      "main": [
        [
          {
            "node": "Log Immediate to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Immediate to Airtable": {
      "main": [
        [
          {
            "node": "Consolidate Run Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Insert Post (Digest)": {
      "main": [
        [
          {
            "node": "Add to Digest Queue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add to Digest Queue": {
      "main": [
        [
          {
            "node": "Log Digest to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Digest to Airtable": {
      "main": [
        [
          {
            "node": "Consolidate Run Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Insert Post (Trend)": {
      "main": [
        [
          {
            "node": "Add to Trend Queue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Add to Trend Queue": {
      "main": [
        [
          {
            "node": "Log Trend to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Trend to Airtable": {
      "main": [
        [
          {
            "node": "Consolidate Run Data",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Insert Post (Archive)": {
      "main": [
        [
          {
            "node": "Log Archive to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Archive to Airtable": {
      "main": [
        [
          {
            "node": "Consolidate Run Data",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "Consolidate Run Data": {
      "main": [
        [
          {
            "node": "Calculate Health Stats",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Health Stats": {
      "main": [
        [
          {
            "node": "Log Run Stats",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Run Stats": {
      "main": [
        [
          {
            "node": "Log Run Stats to Airtable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Slack Error Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "versionId": "046e3bd7-9da7-4b1f-b9b7-095b714959b3",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodeGroups": [],
  "id": "OE5FqDWDZkLZbjrn",
  "tags": []
}