{
  "name": "AI closer summary Template",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                6
              ],
              "triggerAtHour": 19
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.3,
      "position": [
        0,
        0
      ],
      "id": "96957d34-8e8e-4897-9204-0969635088dc",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "value": "3228d8f8-3a89-808b-9b8c-f88077a18967",
          "mode": "list",
          "cachedResultName": "ECGROUP Weekly Sales Scripts ",
          "cachedResultUrl": "https://www.notion.so/3228d8f83a89808b9b8cf88077a18967"
        },
        "returnAll": true,
        "simple": false,
        "filterType": "manual",
        "matchType": "allFilters",
        "filters": {
          "conditions": [
            {
              "key": "Status|status",
              "condition": "equals",
              "statusValue": "Pending Reviewing"
            },
            {
              "key": "Call Date|date",
              "condition": "on_or_after",
              "date": "={{ new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString() }}"
            },
            {
              "key": "Call Date|date",
              "condition": "on_or_before",
              "date": "={{ new Date().toISOString() }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        416,
        0
      ],
      "id": "f914fb47-ce32-42e2-a57e-3415cc1555c1",
      "name": "Get many database pages",
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\n\nconst combined = items\n  .filter(item => item.json.properties?.['Call Trascript']?.rich_text?.[0]?.plain_text)\n  .map((item, i) => {\n    const transcript = item.json.properties['Call Trascript'].rich_text[0].plain_text;\n    const closer = item.json.properties?.Closer?.select?.name || 'Unknown';\n    return `=== CALL ${i + 1} | CLOSER: ${closer} ===\\n${transcript.trim()}`;\n  })\n  .join('\\n\\n---\\n\\n');\n\nconst now = new Date();\nconst startOfYear = new Date(now.getFullYear(), 0, 1);\nconst weekNumber = Math.ceil(((now - startOfYear) / 86400000 + startOfYear.getDay() + 1) / 7);\nconst weekLabel = now.getFullYear() + '-W' + String(weekNumber).padStart(2, '0');\nconst callCount = items.length;\n\nconst clientName = $('Edit Fields').item.json['Client name'];\nconst icpDescription = $('Edit Fields').item.json['ICP/Dream follower description'];\nconst founderBackstory = $('Edit Fields').item.json['Founder backstory'];\nconst companyMotto = $('Edit Fields').item.json['Company motto'];\nconst contentMission = $('Edit Fields').item.json['Content mission'];\nconst topObjectionsBefore = $('Edit Fields').item.json['Top objections before booking'];\nconst topObjectionsCloser = $('Edit Fields').item.json['Top objections on closer calls'];\nconst whatCloses = $('Edit Fields').item.json['What closes the deal'];\nconst misconceptions = $('Edit Fields').item.json['Common misconceptions'];\nconst surprises = $('Edit Fields').item.json['What surprises prospects most'];\n\nconst systemPrompt = `You are an expert content strategist and sales analyst working for ${clientName}. Your job is to analyse sales call transcripts and produce weekly reports that directly impact cash collected.\n\nWHO THE FOUNDER IS\n${founderBackstory}\nCompany motto: \"${companyMotto}\"\nContent mission: ${contentMission}\n\nICP (POTENTIAL BUYERS)\n${icpDescription}\n\nTop objections before booking a call:\n${topObjectionsBefore}\n\nTop objections on closer calls:\n${topObjectionsCloser}\n\nWhat closes the deal:\n${whatCloses}\n\nCommon misconceptions to address in content:\n${misconceptions}\n\nWhat surprises prospects most: ${surprises}\n\nCONTENT INTENTION FRAMEWORK\nEvery piece of content must have ONE primary intention:\nATTRACT: Broad top-of-funnel content that pulls in dream followers who don't know the founder yet. Relatable, emotional, shareable.\nRESONATE: Content that builds likeability and trust. Shows the founder's personality, values, and behind-the-scenes reality of running the business.\nNURTURE: Middle and bottom-of-funnel content that breaks objections, addresses limiting beliefs, and moves warm leads closer to buying.\n\nTHE THREE CONTENT PILLARS\nGROWTH: Gets you an audience. Designed for traffic and virality. Uses trends, viral formats, broad topics.\nAUTHORITY: Shows you know what you're doing. Case studies, results breakdowns, how-to content, expertise demonstrations.\nAUTHENTICITY: Makes you human and relatable. Personal stories, behind-the-scenes, beliefs, vulnerabilities. This is why someone buys from this founder instead of a competitor.\n\nTHE CONTENT FUNNEL\nTOP OF FUNNEL (TOF): Reach new viewers, build resonance. Mindset shifts, business lessons, entrepreneur realities, belief flips.\nMIDDLE OF FUNNEL (MOF): Build credibility, show expertise. Systems breakdowns, case studies, behind-the-scenes strategy.\nBOTTOM OF FUNNEL (BOF): Convert viewers into clients. Client testimonials, coaching calls, behind-the-scenes consulting. The majority of content should be BOF.\n\nYOUTUBE TITLE PRINCIPLES\nTitles should create curiosity or make a bold claim\nUse numbers where possible\nSpeak directly to the prospect's desire or fear\nAvoid generic titles — be specific and provocative\nStrong formats: \"What nobody tells you about...\", \"I made £X doing this...\", \"The truth about...\", \"Why most [target audience] fail at...\"`;\n\nconst userMessage = `Analyse these sales call transcripts and produce the weekly report below. Follow the formatting rules exactly — this report is read every week and must be scannable in under 10 minutes.\n\nFORMATTING RULES:\n- Use short bullet points, never long paragraphs\n- Every insight must be one to two lines maximum\n- Always attribute quotes to a first name\n- Leave a clear line break between every sub-section\n\n---\n\n# ${clientName} WEEKLY CLOSER REPORT\n## Week of ${weekLabel}\n## Calls analysed: ${callCount}\n\n---\n\n## 1. SALES CALL DEEP DIVE\n\n**What objections came up most?**\n- [one bullet per objection, max two lines, include one named quote]\n\n**What finally made people move forward?**\n- [one bullet per reason, max two lines]\n\n**Biggest fear about investing?**\n- [one bullet per fear, max two lines]\n\n**Other coaches or programs considered?**\n- [one bullet per competitor mentioned by name]\n\n**#1 goal in 90 days?**\n- [one bullet per pattern, max two lines]\n\n**What would make it 100% worth it?**\n- [one bullet per answer, max two lines]\n\n**Most surprising thing learned on the call?**\n- [one bullet per insight, max two lines]\n\n**What almost stopped them joining?**\n- [one bullet per reason, max two lines]\n\n**Most common misconception?**\n- [one bullet per misconception]\n\n**Platforms and content they consume most?**\n- [one bullet per platform or content type]\n\n---\n\n## 2. PROSPECT INSIGHTS SUMMARY\n\nWrite exactly four bullet points describing who got on calls this week. Each bullet is two sentences maximum. Focus on: who they are, where they are in their business, what they want, and what they fear.\n\n---\n\n## 3. OBJECTIONS & BREAKTHROUGHS\n\n**Top objections (with named quotes):**\n- [objection] — \"quote\" — [First name]\n\n**What closed the room:**\n- [one bullet per closing trigger]\n\n**Biggest fears:**\n- [one bullet per fear]\n\n**Most common limiting beliefs:**\n- [one bullet per belief]\n\n---\n\n## 4. COMPETITOR INTELLIGENCE\n\n**Mentioned by name:**\n- [Competitor] — [what prospect said in one line]\n\n**What they tried before ${clientName}:**\n- [one bullet per thing tried]\n\n**Why they chose ${clientName}:**\n- [one bullet per reason]\n\n---\n\n## 5. CONTENT INTENTIONS THIS WEEK\n\n**ATTRACT — X%**\nWhy: [one sentence based on this week's calls]\nAngles: [three bullet points]\n\n**RESONATE — X%**\nWhy: [one sentence based on this week's calls]\nAngles: [three bullet points]\n\n**NURTURE — X%**\nWhy: [one sentence based on this week's calls]\nAngles: [three bullet points]\n\n---\n\n## 6. YOUTUBE VIDEO IDEAS\n\nRepeat this exact format for all 5 videos:\n\n---\n### VIDEO [N]: [VIDEO CONCEPT]\n\n**Titles:**\n1. [title option 1]\n2. [title option 2]\n3. [title option 3]\n\n**Intention:** [Attract / Resonate / Nurture]\n\n**Why it converts:** [one sentence tied to a specific objection or desire from this week's calls]\n\n---\n\nTranscripts:\n${combined}`;\n\nconst requestBody = JSON.stringify({\n  model: \"claude-sonnet-4-6\",\n  max_tokens: 16000,\n  system: systemPrompt,\n  messages: [{ role: \"user\", content: userMessage }]\n});\n\nreturn [{\n  json: {\n    combinedTranscripts: combined,\n    callCount: callCount,\n    weekLabel: weekLabel,\n    pageIds: items.map(item => item.json.id),\n    systemPrompt: systemPrompt,\n    userMessage: userMessage,\n    requestBody: requestBody\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        624,
        0
      ],
      "id": "bae2a30d-bc88-4cc2-89f8-f3a891803053",
      "name": "Code in JavaScript"
    },
    {
      "parameters": {
        "jsCode": "const httpResponse = $input.first().json;\nconst reportText = httpResponse.content[0].text;\nconst lines = reportText.split('\\n');\nconst blocks = [];\n\nfor (let line of lines) {\n  const trimmed = line.trim();\n  if (!trimmed) continue;\n\n  if (trimmed.startsWith('# ')) {\n    blocks.push({\n      object: 'block',\n      type: 'heading_1',\n      heading_1: {\n        rich_text: [{ type: 'text', text: { content: trimmed.replace(/^# /, '') } }]\n      }\n    });\n  } else if (trimmed.startsWith('## ')) {\n    blocks.push({\n      object: 'block',\n      type: 'heading_2',\n      heading_2: {\n        rich_text: [{ type: 'text', text: { content: trimmed.replace(/^## /, '') } }]\n      }\n    });\n  } else if (trimmed.startsWith('### ')) {\n    blocks.push({\n      object: 'block',\n      type: 'heading_3',\n      heading_3: {\n        rich_text: [{ type: 'text', text: { content: trimmed.replace(/^### /, '') } }]\n      }\n    });\n  } else if (trimmed.startsWith('- ') || trimmed.startsWith('* ')) {\n    const content = trimmed.replace(/^[-*] /, '');\n    blocks.push({\n      object: 'block',\n      type: 'bulleted_list_item',\n      bulleted_list_item: {\n        rich_text: [{ type: 'text', text: { content: content } }]\n      }\n    });\n  } else if (trimmed === '---') {\n    blocks.push({\n      object: 'block',\n      type: 'divider',\n      divider: {}\n    });\n  } else if (trimmed.startsWith('**') && trimmed.endsWith('**')) {\n    const content = trimmed.replace(/^\\*\\*|\\*\\*$/g, '');\n    blocks.push({\n      object: 'block',\n      type: 'paragraph',\n      paragraph: {\n        rich_text: [{\n          type: 'text',\n          text: { content: content },\n          annotations: { bold: true }\n        }]\n      }\n    });\n  } else {\n    const content = trimmed.replace(/\\*\\*(.*?)\\*\\*/g, '$1');\n    if (content.length <= 1900) {\n      blocks.push({\n        object: 'block',\n        type: 'paragraph',\n        paragraph: {\n          rich_text: [{ type: 'text', text: { content: content } }]\n        }\n      });\n    } else {\n      for (let i = 0; i < content.length; i += 1900) {\n        blocks.push({\n          object: 'block',\n          type: 'paragraph',\n          paragraph: {\n            rich_text: [{ type: 'text', text: { content: content.slice(i, i + 1900) } }]\n          }\n        });\n      }\n    }\n  }\n}\n\nconst weekLabel = $('Code in JavaScript').item.json.weekLabel;\nconst callCount = $('Code in JavaScript').item.json.callCount;\nconst clientName = $('Edit Fields').item.json['Client name'];\nconst notionDatabaseId = $('Edit Fields').item.json['Notion database IDs'];\n\nconst firstBatch = blocks.slice(0, 100);\nconst secondBatch = blocks.slice(100);\n\nconst notionPayload = JSON.stringify({\n  parent: {\n    database_id: notionDatabaseId\n  },\n  properties: {\n    Name: {\n      title: [{\n        text: {\n          content: `Weekly Summary - ${clientName} - ${weekLabel}`\n        }\n      }]\n    },\n    'Calls analysed': {\n      number: callCount\n    },\n    'Date created': {\n      date: {\n        start: new Date().toISOString()\n      }\n    }\n  },\n  children: firstBatch\n});\n\nreturn [{\n  json: {\n    notionPayload: notionPayload,\n    secondBatchJSON: JSON.stringify(secondBatch),\n    hasSecondBatch: secondBatch.length > 0,\n    weekLabel: weekLabel,\n    callCount: callCount,\n    pageIds: $('Code in JavaScript').item.json.pageIds,\n    totalBlocks: blocks.length\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1072,
        -144
      ],
      "id": "4ca07608-ff20-4cc6-b511-1b42b935f19c",
      "name": "Code in JavaScript1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "=https://api.notion.com/v1/pages",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Edit Fields').item.json['Notion token'] }}"
            },
            {
              "name": "Notion-Version",
              "value": "2022-06-28"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ $json.notionPayload }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        1280,
        -144
      ],
      "id": "a15596bf-8db6-49c5-bfdf-2f86f83b40ff",
      "name": "HTTP Request1"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.anthropic.com/v1/messages",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $('Edit Fields').item.json['Anthropic API key'] }}"
            },
            {
              "name": "anthropic-version",
              "value": "2023-06-01"
            },
            {
              "name": "content-type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ $json.requestBody }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        832,
        0
      ],
      "id": "503c87c7-b33d-4685-a4bb-e9721129d003",
      "name": "HTTP Request (Claude)",
      "onError": "continueErrorOutput"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "861971b7-c2ff-417a-bf8f-1f65fb9b3ffd",
              "leftValue": "={{ $('Code in JavaScript1').item.json.hasSecondBatch }}",
              "rightValue": "true",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        1488,
        -144
      ],
      "id": "619e240c-a3e8-477e-8c60-daac3c8546a2",
      "name": "If"
    },
    {
      "parameters": {
        "method": "PATCH",
        "url": "=https://api.notion.com/v1/blocks/{{ $('HTTP Request1').item.json.id }}/children",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Edit Fields').item.json['Notion token'] }}"
            },
            {
              "name": "Notion-Version",
              "value": "2022-06-28"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "contentType": "raw",
        "rawContentType": "application/json",
        "body": "={{ JSON.stringify({ children: JSON.parse($('Code in JavaScript1').item.json.secondBatchJSON) }) }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        1776,
        -224
      ],
      "id": "0de56a53-f775-4cf5-abb7-876313afbffb",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "1358517454824804562",
          "mode": "list",
          "cachedResultName": "ECGroup",
          "cachedResultUrl": "https://discord.com/channels/1358517454824804562"
        },
        "channelId": {
          "__rl": true,
          "value": "1473741624692441201",
          "mode": "list",
          "cachedResultName": "🎬︱weekly-sales-reports",
          "cachedResultUrl": "https://discord.com/channels/1358517454824804562/1473741624692441201"
        },
        "content": "=❌ Weekly Report FAILED\nWeek: {{ $('Code in JavaScript').item.json.weekLabel }}\nCheck n8n logs immediately.\n\n[View n8n workflow](https://efua.app.n8n.cloud/workflow/87Bh2JXSbBiz7awM)",
        "options": {}
      },
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1072,
        144
      ],
      "id": "5e990e14-60ec-48e3-a71b-62e8753ce62b",
      "name": "Send a message1",
      "webhookId": "92829f37-203a-4a7b-9ae1-4dbea147477e",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "1358517454824804562",
          "mode": "list",
          "cachedResultName": "ECGroup",
          "cachedResultUrl": "https://discord.com/channels/1358517454824804562"
        },
        "channelId": {
          "__rl": true,
          "value": "=1473741624692441201",
          "mode": "id"
        },
        "content": "=📊 Weekly Closer Report is ready\n\nWeek: {{ $('Code in JavaScript').item.json.weekLabel }}\nCalls analysed: {{ $('Code in JavaScript').item.json.callCount }}\n\n[View Report]({{ $('HTTP Request1').item.json.url }})",
        "options": {}
      },
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        2016,
        -224
      ],
      "id": "162fe917-9698-4e36-8e50-ae7bb221573e",
      "name": "Send a message2",
      "webhookId": "86865c56-4923-458c-8316-85efb456851f",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "update",
        "pageId": {
          "__rl": true,
          "value": "={{ $json.pageId }}",
          "mode": "id"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Reviewed"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        2512,
        -224
      ],
      "id": "dbaf161e-01c5-4259-b2ac-02116bc4e51b",
      "name": "Update a database page",
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "1358517454824804562",
          "mode": "list",
          "cachedResultName": "ECGroup",
          "cachedResultUrl": "https://discord.com/channels/1358517454824804562"
        },
        "channelId": {
          "__rl": true,
          "value": "1473741624692441201",
          "mode": "list",
          "cachedResultName": "🎬︱weekly-sales-reports",
          "cachedResultUrl": "https://discord.com/channels/1358517454824804562/1473741624692441201"
        },
        "content": "=📊 Weekly Closer Report is ready\n\nWeek: {{ $('Code in JavaScript').item.json.weekLabel }}\nCalls analysed: {{ $('Code in JavaScript').item.json.callCount }}\n\n[View Report]({{ $('HTTP Request1').item.json.url }})",
        "options": {}
      },
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1776,
        -16
      ],
      "id": "ff296a11-0fb0-4d6b-9da5-19849634f21c",
      "name": "Send a message",
      "webhookId": "0347d51b-b3d7-423e-b9cb-8339aca1011f",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "update",
        "pageId": {
          "__rl": true,
          "value": "={{ $('Code in JavaScript').item.json.pageIds[$itemIndex] }}",
          "mode": "id"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Status|status",
              "statusValue": "Reviewed"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        2256,
        -16
      ],
      "id": "66180b3d-1582-44c5-b197-7cf668bbd726",
      "name": "Update a database page1",
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const pageIds = $('Code in JavaScript').item.json.pageIds;\n\nreturn pageIds.map(id => ({\n  json: { pageId: id }\n}));"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2272,
        -224
      ],
      "id": "647ba409-be12-472c-86e0-e4211dcb06a3",
      "name": "Code in JavaScript2"
    },
    {
      "parameters": {
        "jsCode": "const pageIds = $('Code in JavaScript').item.json.pageIds;\n\nreturn pageIds.map(id => ({\n  json: { pageId: id }\n}));"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        2016,
        -16
      ],
      "id": "f4fe2c38-6f6e-470e-b5c0-69d02ef694a7",
      "name": "Code in JavaScript3"
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "e6030023-55e6-4627-880b-786d9bfd0009",
              "name": "Notion database IDs",
              "value": "",
              "type": "string"
            },
            {
              "id": "f5e65efd-7d33-45fb-a164-d43c8b47c10b",
              "name": "Notion token",
              "value": "ntn_YOUR_TOKEN",
              "type": "string"
            },
            {
              "id": "86d7edd8-0d2c-4fdb-a035-7101405f40e8",
              "name": "Discord channel ID",
              "value": "your weekly-sales-reports channel ID",
              "type": "string"
            },
            {
              "id": "8686304d-4cc9-4a41-866d-20d2942e34d4",
              "name": "Client name",
              "value": "",
              "type": "string"
            },
            {
              "id": "e7ebb66f-1dfb-45c3-81c1-82c5cdabd049",
              "name": "ICP/Dream follower description",
              "value": "",
              "type": "string"
            },
            {
              "id": "7c28b2b7-880c-4c3e-a460-18d384e1d958",
              "name": "Client name",
              "value": "",
              "type": "string"
            },
            {
              "id": "a65049d1-adee-4a4d-a0e7-ec9152aa794b",
              "name": "Founder backstory",
              "value": "",
              "type": "string"
            },
            {
              "id": "9e23b8c8-deaa-4e80-90f0-280c4e558251",
              "name": "Company motto",
              "value": "",
              "type": "string"
            },
            {
              "id": "599d7246-df70-48dc-8876-976170f86555",
              "name": "Content mission",
              "value": "",
              "type": "string"
            },
            {
              "id": "6513cada-1a0f-4a4b-a3d4-c6ce2e90f794",
              "name": "Top objections before booking",
              "value": "",
              "type": "string"
            },
            {
              "id": "b1dc2687-babd-4abb-a12c-c21fb79a1b88",
              "name": "Top objections on closer calls",
              "value": "",
              "type": "string"
            },
            {
              "id": "997e1191-0e40-4bc4-b4c1-6da837ae212e",
              "name": "What closes the deal",
              "value": "",
              "type": "string"
            },
            {
              "id": "2c181138-53c7-40e2-a4aa-0934c498cfe4",
              "name": "Common misconceptions",
              "value": "",
              "type": "string"
            },
            {
              "id": "84e13f22-92cb-45ea-8aff-0505899cb836",
              "name": "What surprises prospects most",
              "value": "",
              "type": "string"
            },
            {
              "id": "1f2211ed-136b-4028-95a3-979e08e4e4e9",
              "name": "Anthropic API key",
              "value": "",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        208,
        0
      ],
      "id": "d385b48c-c243-4875-afa8-f80d28bb1035",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "content": "## CLIENT SETUP — START HERE\n\nFill in all 13 fields in this node before doing anything else.\nEvery other node pulls from here automatically — nothing else needs touching.\n\nWHERE TO FIND EACH VALUE:\n\nANTHROPIC API KEY\n→ console.anthropic.com → API Keys → Create new key\n### You will need pay at least $5 to add credit to your API\n\nNOTION TOKEN\n→ notion.so/my-integrations → your integration → copy Internal Integration Secret\n→ Must start with ntn_\n→ Make sure the integration is connected to both the transcripts database and the summary database in Notion\n\nNOTION DATABASE IDs\n→ Open the database in Notion → click Share → Copy link\n→ The ID is the string between the last / and the ?\n→ Format it with dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n\nALL OTHER FIELDS\n→ Pull from the client's brand identity sheet and ICP sheet\n→ Founder backstory, company motto, content mission, objections, misconceptions",
        "height": 448,
        "width": 656
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        -480
      ],
      "typeVersion": 1,
      "id": "a4eb490c-919e-4d07-9b34-9ac540449eda",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "content": "## [NOTION DATABASE SETUP](https://www.notion.so/WEEKLY-SALES-TEAM-DATA-REPORT-SOP-31d8d8f83a89801895e0e328a7f56cb4?source=copy_link)\n\nThe transcripts database needs these exact fields or the workflow breaks:\n→ Status (type: Status) — options must include \"Pending Review\" and \"Reviewed\"\n→ Call Trascript (type: Text) — note the typo, must match exactly\n→ Call Date (type: Date)\n→ Closer (type: Select)\n\nThe summary database needs:\n→ Name (type: Title)\n→ Calls analysed (type: Number)\n→ Date created (type: Date)\n\nConnect your Notion integration to both databases:\n→ Open each database in Notion → top right three dots → Connections → add your integration",
        "height": 288,
        "width": 656
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        352,
        176
      ],
      "typeVersion": 1,
      "id": "4171467e-32cc-4649-a21a-b54aea553c3e",
      "name": "Sticky Note1"
    },
    {
      "parameters": {
        "content": "## SCHEDULE + DEPLOYMENT CHECKLIST\n\nCurrently set to run every Saturday. Change day and time here if needed.\n\nBefore publishing for a new client run through this checklist:\n☐ Edit Fields node — all 13 fields filled in\n☐ Notion integration connected to both databases\n☐ Discord channel selected in the Send a message node\n☐ Both Notion databases have correct fields and field names\n☐ Run one test execution and confirm report lands in Notion\n☐ Confirm Discord notification fires with working Notion link\n☐ Publish the workflow",
        "height": 288,
        "width": 432
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -304
      ],
      "typeVersion": 1,
      "id": "ab3bfd92-ba33-4169-aed6-f0b8f0374d9f",
      "name": "Sticky Note2"
    }
  ],
  "pinData": {},
  "connections": {
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many database pages": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "HTTP Request (Claude)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript1": {
      "main": [
        [
          {
            "node": "HTTP Request1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request (Claude)": {
      "main": [
        [
          {
            "node": "Code in JavaScript1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request1": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Send a message2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send a message2": {
      "main": [
        [
          {
            "node": "Code in JavaScript2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update a database page": {
      "main": [
        []
      ]
    },
    "Send a message": {
      "main": [
        [
          {
            "node": "Code in JavaScript3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript2": {
      "main": [
        [
          {
            "node": "Update a database page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript3": {
      "main": [
        [
          {
            "node": "Update a database page1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Get many database pages",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "timeSavedMode": "fixed",
    "callerPolicy": "workflowsFromSameOwner",
    "availableInMCP": true
  },
  "versionId": "5975edb7-6110-4eb0-9a90-b6feabde7f91",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "5185a83f97534d4adc925ed1672fee925d013547b712fbeada89bb6c418f7edc"
  },
  "id": "rd5ysJVcmA3OYSZX",
  "tags": [
    {
      "updatedAt": "2025-09-04T13:14:26.735Z",
      "createdAt": "2025-09-04T13:14:26.735Z",
      "id": "DWbGCR01Eld9zt1C",
      "name": "Notion"
    },
    {
      "name": "Closer",
      "id": "x3UNwwyS6B7ZFtHW",
      "updatedAt": "2026-05-16T17:04:46.308Z",
      "createdAt": "2026-05-16T17:04:46.308Z"
    },
    {
      "updatedAt": "2026-05-15T17:51:36.837Z",
      "createdAt": "2026-05-15T17:51:36.837Z",
      "id": "j21tiBy6ag0iHLC3",
      "name": "Template"
    }
  ]
}