{
  "name": "TrendTrack — Weekly Creative Brief → Notion",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [1],
              "triggerAtHour": 8
            }
          ]
        }
      },
      "id": "9f9a6fac-6a32-44e9-94b5-0638983bb3c1",
      "name": "Every Monday at 8am",
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [240, 400]
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "1",
              "name": "limit",
              "value": 20,
              "type": "number"
            },
            {
              "id": "2",
              "name": "notionDatabaseId",
              "value": "YOUR_NOTION_DB_ID",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "id": "b8a5b499-182f-4c3c-8d5f-06e02161d28e",
      "name": "Set Parameters",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [448, 400]
    },
    {
      "parameters": {
        "url": "https://api.trendtrack.io/v1/workspace/top-ads",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "sortBy",
              "value": "reachDelta7d"
            },
            {
              "name": "period",
              "value": "7d"
            },
            {
              "name": "limit",
              "value": "={{ $json.limit }}"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $env.TRENDTRACK_API_KEY }}"
            }
          ]
        },
        "options": {}
      },
      "id": "b47df7fe-db30-4a8c-9f85-3e9c48e25566",
      "name": "Fetch Top Ads (7d reach delta)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [688, 208]
    },
    {
      "parameters": {
        "mode": "combine",
        "combineBy": "combineByPosition",
        "numberInputs": 3,
        "options": {}
      },
      "id": "c898dbfa-7d66-4ad7-bae1-477a779566d9",
      "name": "Combine 3 Streams",
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.2,
      "position": [960, 400]
    },
    {
      "parameters": {
        "url": "https://api.trendtrack.io/v1/workspace/hooks",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "sortBy",
              "value": "usageCount"
            },
            {
              "name": "sortOrder",
              "value": "desc"
            },
            {
              "name": "limit",
              "value": "={{ $json.limit }}"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $env.TRENDTRACK_API_KEY }}"
            }
          ]
        },
        "options": {}
      },
      "id": "43d60d09-f07b-4342-a83e-2a9370071388",
      "name": "Fetch Top Hooks (usage)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [688, 400]
    },
    {
      "parameters": {
        "url": "https://api.trendtrack.io/v1/workspace/ad-copies",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "sortBy",
              "value": "usageCount"
            },
            {
              "name": "sortOrder",
              "value": "desc"
            },
            {
              "name": "limit",
              "value": "={{ $json.limit }}"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $env.TRENDTRACK_API_KEY }}"
            }
          ]
        },
        "options": {}
      },
      "id": "e167877d-0c14-4b8e-b868-14cc551dfb94",
      "name": "Fetch Top Ad Copies (usage)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [688, 608]
    },
    {
      "parameters": {
        "jsCode": "const ads = $('Fetch Top Ads (7d reach delta)').first().json.data || [];\nconst hooks = $('Fetch Top Hooks (usage)').first().json.data || [];\nconst copies = $('Fetch Top Ad Copies (usage)').first().json.data || [];\nconst fmt = (n) => { if (n == null) return '?'; const a = Math.abs(n); if (a >= 1e6) return (n/1e6).toFixed(1)+'M'; if (a >= 1e3) return (n/1e3).toFixed(1)+'k'; return String(n); };\nconst stripPrefix = (id) => (id || '').replace(/^[a-z]+_/, '');\nconst dateStr = $now.toFormat('yyyy-MM-dd');\nlet md = '# 🎨 Weekly Creative Brief — ' + dateStr + '\\n\\n## 🔥 Top Viral Ads (7d Δ reach)\\n\\n';\nads.forEach((it, i) => { md += (i+1) + '. **' + (it.brandtracker?.name || 'Unknown') + '** — reach ' + fmt(it.metrics?.totalReach) + ' (+' + fmt(it.ad?.metrics?.reachDelta7d) + ' /7d)\\n   ' + ((it.ad?.content?.body || '').slice(0, 140)) + '\\n   [View ad](https://app.trendtrack.io/ad/' + stripPrefix(it.ad?.id) + ')\\n\\n'; });\nmd += '## 🪝 Top Hooks (most reused)\\n\\n';\nhooks.forEach((h, i) => { md += (i+1) + '. _\"' + (h.hook?.text || '').slice(0, 180) + '\"_\\n   Used ' + (h.metrics?.usageCount ?? '?') + 'x · ' + fmt(h.metrics?.totalImpressions) + ' impressions\\n\\n'; });\nmd += '## 📝 Top Ad Copies (most reused)\\n\\n';\ncopies.forEach((c, i) => { md += (i+1) + '. ' + (c.adCopy?.text || '').slice(0, 220) + '\\n   Used ' + (c.metrics?.usageCount ?? '?') + 'x · longest run ' + (c.metrics?.longestRunning ?? '?') + ' days\\n\\n'; });\nreturn [{ json: { title: 'Weekly Brief — ' + dateStr, markdown: md, databaseId: $('Set Parameters').first().json.notionDatabaseId } }];"
      },
      "id": "1e16264d-8633-4adc-9205-432a350ae9d5",
      "name": "Build Brief Markdown",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [1200, 400],
      "executeOnce": true
    },
    {
      "parameters": {
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.databaseId }}"
        },
        "title": "={{ $json.title }}",
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Body|rich_text",
              "type": "rich_text",
              "textContent": "={{ $json.markdown.slice(0, 1900) }}"
            }
          ]
        },
        "options": {}
      },
      "id": "0ff6d204-faf6-45b9-a91a-f2cf4d4e64a2",
      "name": "Create Notion Page",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [1440, 400]
    }
  ],
  "connections": {
    "Every Monday at 8am": {
      "main": [
        [
          {
            "node": "Set Parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Parameters": {
      "main": [
        [
          {
            "node": "Fetch Top Ads (7d reach delta)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Top Hooks (usage)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Fetch Top Ad Copies (usage)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Top Ads (7d reach delta)": {
      "main": [
        [
          {
            "node": "Combine 3 Streams",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine 3 Streams": {
      "main": [
        [
          {
            "node": "Build Brief Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Top Hooks (usage)": {
      "main": [
        [
          {
            "node": "Combine 3 Streams",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Fetch Top Ad Copies (usage)": {
      "main": [
        [
          {
            "node": "Combine 3 Streams",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Build Brief Markdown": {
      "main": [
        [
          {
            "node": "Create Notion Page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": true
  },
  "tags": []
}
