{
  "id": "ZHXRCYewmdPybb2a",
  "meta": {
    "instanceId": "de7078f0855f0e960f39df9530d5e9762516cd1dfa98b13db725c63cf3f45fe9",
    "templateCredsSetupCompleted": true
  },
  "name": "Template v07/31 - Custom Cold Email Icebreaker Writer",
  "tags": [
    {
      "id": "Gn50itWF7nQz4HWE",
      "name": "Advetica AI Automations",
      "createdAt": "2025-07-16T17:56:49.888Z",
      "updatedAt": "2025-07-16T17:56:49.888Z"
    },
    {
      "id": "Ki43TEjHd7EDcykZ",
      "name": "My Templates",
      "createdAt": "2025-07-31T13:58:06.976Z",
      "updatedAt": "2025-07-31T13:58:06.976Z"
    }
  ],
  "nodes": [
    {
      "id": "5e4e86bd-775b-4162-ab47-ef4050a39c59",
      "name": "Website Summary",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1104,
        -256
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are a helpful assistant. From a social media marketing agency's website, you get its scraped content as a plain text. You turn each website's content into a summarized short paragraph of what that agency offers to people.\n\nYou also include something specific, unique that agency offers. Something that can be congratulated on, something that they achieved, is extraordinary or be commented in a cold email."
            },
            {
              "content": "=User Input:\nWebsite content: {{ $json.plainText }}\nAgency Name: {{ $('Keep Fields').item.json.organization_name }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "credential-id",
          "name": "openAiApi Credential"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "fa5c8394-9908-44ae-9f5e-6e66e9f774e2",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        176,
        -272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "b3df97ad-4a8d-4dcd-ab06-7b423ff1e1a6",
      "name": "Icebreaker Writer",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        624,
        48
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are an AI assistant responsible for writing short, natural-sounding cold emails for business owners. You’ll get the lead’s first name, agency name, their city, and content scraped from their website. Your job is to write a concise, human email that feels personal, short and starts a real conversation — not a sales pitch.\n\n# Goal\nGenerate a short cold email icebreaker that contains a personalized comment from their website content.\n\n# Structure\n- Use this:\nHey {{ $('Keep Fields').item.json.first_name }}, Love {something unique about {business_name}}. Also doing (marketing) in {{ $('Keep Fields').item.json.city }}. Wanted to run something by you.\n  - Keep the \"{something unique about {agency_name}}\" quite short, don't overcomplicate! Cut out some words of a sentence if needed to make it more direct and natural. Keep it at 8–12 words. Always include the business' name in the first sentence. If you don’t have the business' name, just use “you” (e.g. “Love how you…”)\n  - The word “business” can be varied, based on what the business is doing / offering as a service / which niche they're in — examples are “digital marketing”, “SEO”, “web dev”, etc., or describe what the business helps clients do (e.g. “also helping brands scale paid traffic”)\n\n# Notes\n- The first sentence must include something real from their website — a standout phrase, specialty, service focus, etc. — but keep it short (8–12 words).\n- DO NOT use or imply any \"blends\", \"mixtures\", \"combines\", \"fusions\", or anything similar. (IMPORTANT)\n- You can say \"...you guys at {business_name}...\" — feel free to shorten long names. If you don't have the agency name, just include \"you\" instead (e.g. “Love how you…”)\n- Be quick, natural, and direct. Use casual language, like a human.\n- NEVER be cringe.\n- One adjective max if describing something.\n- Always start with: \"Hey {First Name},\" — with the comma! Do not add another comma in the sentence.\n- No parentheses ().\n- Tone: warm, confident, unpolished — like talking to someone at a bar. Not marketing.\n- No over-explaining. No emojis. No hype. No “salesy” phrases.\n- If there’s no info on the website, use this fallback:\n  Hey {{ $('Keep Fields').item.json.first_name }}, Came across {{ $('Keep Fields').item.json.organization_name }} and wanted to reach out. Also doing (business) in {{ $('Keep Fields').item.json.city }}. Thought you might find this useful.\n\n# Forbidden Words / Phrases (HARD REJECTION if used or implied):\n- blend / blends\n- vibe\n- thoughtful\n- approach\n- awesome\n- amazing\n- innovative\n- disrupt\n- nails\n- combine / combines / combined\n- fuse / fuses / fused\n- mix / mixes / mixed\n- mixture / mixtures\n\n# If any banned word appears in the scraped content, you MUST rephrase in plain, human terms.\n# NEVER imply a \"blend\" or \"combination\" using other language.\n\n# Input Formatting Rules\n- First name must be capitalized like this:\n  - \"Richard\", \"Aaron\", \"Abaya\"\n  - Keep initials like “A.J.” as is\n\n# Examples\n\n✅ Good icebreakers:\n\"Love your UGC push for meal brands\"\n\"Love the Shopify work you did for Bombas\"\n\"Love how you use TikTok for product drops\"\n\"Love the recent Klarna partnership rollout\"\n\"Love that meta humor in your agency reel\"\n\n❌ Bad icebreakers:\n\"Love your thoughtful strategy\"\n\"Love your creative vibe\"\n\"Love your innovative blend of data and storytelling\"\n\"Love how your team blends design and analytics\"\n\n# Input Fields\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Business Name: {{ $('Keep Fields').item.json.organization_name }}\n- City: {{ $('Keep Fields').item.json.city }}\n- Website Content: {{ $json.message.content }}\n\n# Utility Function (pseudocode to implement in agent logic):\nfunction formatName(name) {\n  if (name.match(/^[A-Z]\\.[A-Z]\\.$/)) return name; // e.g., A.J.\n  return name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();\n}\n"
            },
            {
              "content": "=# Input Fields\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Agency Name: {{ $('Keep Fields').item.json.organization_name }}\n- City: {{ $('Keep Fields').item.json.city }}\n- Website Content: {{ $json.message.content }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "credential-id",
          "name": "openAiApi Credential"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "79f58fdf-cf76-4697-b52a-04535eadd2a8",
      "name": "Subject Line Writer",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1024,
        48
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "GPT-4.1-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are an AI assistant responsible for generating a single short and natural-sounding subject line for a cold email sent to a business owners.\n\n# Goal\nWrite a subject line that:\n- Feels personal — like it came from a thoughtful peer, not a marketer\n- Sounds casual and human, as if part of a conversation\n- Sparks curiosity without trying to sell\n- Relates naturally to the cold email's opening line\n\n# Rules\n- Output only **one** subject line (no bullet points, no prefix like \"Subject:\")\n- Keep it under **40 characters**\n- Include the lead’s **first name** if it fits naturally\n- Reflect the tone or theme of the email's personalized opening (e.g., if the email mentions something about their style or launch, hint at that)\n- NEVER use:\n  - Clickbait or gimmicks (e.g., “FWD:”, “Re:”)\n  - Buzzwords (“growth,” “optimize,” “revenue”, \"streamline\")\n  - Emojis or punctuation like “!”  \n- DO NOT start with “Subject:” or quotation marks\n- You don't always have to point out a specific thing - sometimes, you can also write \"Thought this might fit\", \"Congrats — quick thing\", \"Bianca, quick thought\"\n\n# Input Variables\n- First Name: {{ $('Keep Fields').item.json.first_name }}\n- Website Content: {{ $('Website Summary').item.json.message.content }}\n- Cold Email: {{ $json.message.content }}\n\n# Examples\n\n**If First Name = Bianca**  \nOpening Line = “Saw you teach both Pilates and strength classes — love that blend.”  \n→ Bianca, loved that combo  \n→ Bianca, quick thought\n→ Something for your coaching flow\n\n**If First Name = Jordan**  \nOpening Line = “Congrats on launching the new group program — saw it on your site.”  \n→ Jordan, saw the launch  \n→ Thought this might fit  \n→ Congrats — quick thing\n\n# Voice & Intention\nYour tone should be warm and specific — never robotic or salesy.  \nYou’re not trying to pitch. You’re trying to get them to open the email because it sounds like it’s from someone who actually paid attention.\n"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "credential-id",
          "name": "openAiApi Credential"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "964c47b1-6723-423a-a4e8-99e7feeca275",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1648,
        -288
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d3b4360f-1667-4e80-81f6-05f3d364c527",
      "name": "Create spreadsheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1424,
        -288
      ],
      "parameters": {
        "title": "Scraped Leads",
        "options": {},
        "resource": "spreadsheet"
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "credential-id",
          "name": "googleSheetsOAuth2Api Credential"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "3b894213-ddcf-4bc8-b83a-cb4426d0563f",
      "name": "EDIT Apollo URL + Amount",
      "type": "n8n-nodes-base.set",
      "position": [
        -1072,
        -704
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "57cb10ee-3189-464e-b20d-514ee13017c3",
              "name": "Apollo URL",
              "type": "string",
              "value": ""
            },
            {
              "id": "04a61783-c3ed-4fbf-b905-ec4530ff147d",
              "name": "Amount to Scrape",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "a7b45d3c-0e18-4fd4-8de5-7f36c3a807b4",
      "name": "Keep Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -112,
        -272
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "5eb4ef62-cdf5-4b5f-a4a6-bfa0295f075a",
              "name": "first_name",
              "type": "string",
              "value": "={{ $json.first_name }}"
            },
            {
              "id": "f06da4be-cf02-4cd7-adba-3f45ebbc6ca2",
              "name": "last_name",
              "type": "string",
              "value": "={{ $json.last_name }}"
            },
            {
              "id": "ad32e977-b973-40a3-94d4-283b9760c6b0",
              "name": "email",
              "type": "string",
              "value": "={{ $json.email }}"
            },
            {
              "id": "eb1e5f3f-daf3-44a7-b641-17ec11a56503",
              "name": "organization_name",
              "type": "string",
              "value": "={{ $json.organization_name }}"
            },
            {
              "id": "98ba5b54-ef78-48bf-997e-c3c3d2d06e8b",
              "name": "organization_website_url",
              "type": "string",
              "value": "={{ $json.organization_website_url }}"
            },
            {
              "id": "5634ba39-ed23-4ef6-80f8-7ca0babbf476",
              "name": "city",
              "type": "string",
              "value": "={{ $json.city }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b5780b16-1b89-4daf-9ffe-8e8113a249c6",
      "name": "Filter URL + Email",
      "type": "n8n-nodes-base.filter",
      "position": [
        -304,
        -272
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "cb033b7d-fcc8-4504-a534-397c42e05b88",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.email }}",
              "rightValue": ""
            },
            {
              "id": "3f48d7e0-f786-48b4-9094-119e444feba1",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.organization_website_url }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "62ad69c8-526d-4718-ab3d-014a69e5aa5c",
      "name": "Call Apify Scraper",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -736,
        -272
      ],
      "parameters": {
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"cleanOutput\": true,\n    \"totalRecords\": {{ $json['Amount to Scrape'] }},\n    \"url\": \"{{ $json['Apollo URL'] }}\"\n} ",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "e7d1d155-fe52-4bc4-9cd4-414ee5c2cc59",
      "name": "Receive Scraper's Data",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -512,
        -272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "85c8ec84-c536-44ac-b6cf-47bfa9e2bce7",
      "name": "Append or update row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1024,
        304
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $('Create spreadsheet').item.json.sheets[0].properties.title }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create spreadsheet').item.json.spreadsheetId }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "credential-id",
          "name": "googleSheetsOAuth2Api Credential"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "890010b8-307d-47d7-810a-6cf579b4919c",
      "name": "Save To Spreadsheet",
      "type": "n8n-nodes-base.set",
      "position": [
        800,
        304
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a0d72f35-2b21-4969-9cfb-81388e04a0b0",
              "name": "First Name",
              "type": "string",
              "value": "={{ $('Keep Fields').item.json.first_name }}"
            },
            {
              "id": "33d6f687-b08d-439b-853e-aa81f840a003",
              "name": "Last Name",
              "type": "string",
              "value": "={{ $('Keep Fields').item.json.last_name }}"
            },
            {
              "id": "1f741189-c595-4818-927a-5e17721974ba",
              "name": "Email",
              "type": "string",
              "value": "={{ $('Keep Fields').item.json.email }}"
            },
            {
              "id": "14f2b0f7-ca94-445e-8e3a-865c2bab4f4d",
              "name": "Business Name",
              "type": "string",
              "value": "={{ $('Keep Fields').item.json.organization_name }}"
            },
            {
              "id": "ac403aaa-6aac-41ea-88fa-304a61eb6b67",
              "name": "Website URL",
              "type": "string",
              "value": "={{ $('Keep Fields').item.json.organization_website_url }}"
            },
            {
              "id": "80faaa28-9725-4ae5-adf4-cc38f14c0479",
              "name": "Icebreaker",
              "type": "string",
              "value": "={{ $('Icebreaker Writer').item.json.message.content }}"
            },
            {
              "id": "c94f9c56-ad9a-4672-86ba-e7c08af05adb",
              "name": "Subject Line",
              "type": "string",
              "value": "={{ $json.message.content }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9aaff82c-d078-4e30-b144-f736d98b00df",
      "name": "HTTP -> Plain Text",
      "type": "n8n-nodes-base.code",
      "position": [
        752,
        -256
      ],
      "parameters": {
        "jsCode": "// HTML to Plain Text Converter for n8n Code Node\n// This code takes HTML content and converts it to clean plain text\n\n// Get the HTML content from the previous node\n// Adjust the field name based on your input data structure\nconst htmlContent = $input.first().json.data\n\nif (!htmlContent) {\n  return [{ json: { error: \"No HTML content found in input\" } }];\n}\n\n// Function to strip HTML tags and decode HTML entities\nfunction htmlToPlainText(html) {\n  let text = html;\n  \n  // Remove script and style elements completely\n  text = text.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/gi, '');\n  text = text.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/gi, '');\n  \n  // Replace common block elements with line breaks\n  text = text.replace(/<\\/?(div|p|br|h[1-6]|li|tr)[^>]*>/gi, '\\n');\n  \n  // Replace list items with bullet points\n  text = text.replace(/<li[^>]*>/gi, '• ');\n  \n  // Remove all remaining HTML tags\n  text = text.replace(/<[^>]*>/g, '');\n  \n  // Decode common HTML entities\n  const entityMap = {\n    '&amp;': '&',\n    '&lt;': '<',\n    '&gt;': '>',\n    '&quot;': '\"',\n    '&#39;': \"'\",\n    '&apos;': \"'\",\n    '&nbsp;': ' ',\n    '&copy;': '©',\n    '&reg;': '®',\n    '&trade;': '™',\n    '&hellip;': '...',\n    '&mdash;': '—',\n    '&ndash;': '–'\n  };\n  \n  for (const [entity, char] of Object.entries(entityMap)) {\n    text = text.replace(new RegExp(entity, 'g'), char);\n  }\n  \n  // Decode numeric HTML entities (e.g., &#123;)\n  text = text.replace(/&#(\\d+);/g, (match, dec) => {\n    return String.fromCharCode(dec);\n  });\n  \n  // Decode hex HTML entities (e.g., &#x1F;)\n  text = text.replace(/&#x([0-9A-Fa-f]+);/g, (match, hex) => {\n    return String.fromCharCode(parseInt(hex, 16));\n  });\n  \n  // Clean up whitespace\n  text = text.replace(/\\n\\s*\\n/g, '\\n\\n'); // Remove excessive line breaks\n  text = text.replace(/[ \\t]+/g, ' '); // Replace multiple spaces/tabs with single space\n  text = text.trim(); // Remove leading/trailing whitespace\n  \n  return text;\n}\n\ntry {\n  const plainText = htmlToPlainText(htmlContent);\n  \n  return [{\n    json: {\n      originalHtml: htmlContent,\n      plainText: plainText,\n      characterCount: plainText.length,\n      wordCount: plainText.split(/\\s+/).filter(word => word.length > 0).length,\n      success: true\n    }\n  }];\n  \n} catch (error) {\n  return [{\n    json: {\n      error: `Failed to convert HTML to text: ${error.message}`,\n      originalHtml: htmlContent,\n      success: false\n    }\n  }];\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "b329a42d-1cc3-4b61-b567-e3d834e7d75a",
      "name": "Crawl Website Content",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        528,
        -256
      ],
      "parameters": {
        "url": "={{ $json.organization_website_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "453c94dc-3f83-4872-85df-48b84e2291cb",
      "name": "Send a message",
      "type": "n8n-nodes-base.slack",
      "position": [
        608,
        -624
      ],
      "webhookId": "210406a4-6d26-42d6-8164-fe0c84be50dd",
      "parameters": {
        "otherOptions": {}
      },
      "typeVersion": 2.3
    },
    {
      "id": "27f8c017-0946-40f0-8deb-5fccca97f9e6",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        -448
      ],
      "parameters": {
        "width": 544,
        "height": 400,
        "content": "## Create Spreadsheet To Capture Leads\n\n- This section creates a spreadsheet inside your Google Drive Account to capture all leads and their Icebreaker / Subject Line.\n- Make sure to add credentials."
      },
      "typeVersion": 1
    },
    {
      "id": "616c91c6-4310-4f4c-81f7-4bde3134e51f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1216,
        -816
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 304,
        "content": "## Edit This\n- Inside this node, insert the Apollo URL you want to scrape, and how many (must be at least 500)."
      },
      "typeVersion": 1
    },
    {
      "id": "fe957012-f7b0-4027-86a8-ebeecdbd0912",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -448
      ],
      "parameters": {
        "width": 864,
        "height": 400,
        "content": "## Apollo Scraper\n- The first node calls the \"🔥Apollo Scraper - Scrape upto 50k Leads\" Apify scraper. For that, insert the \"Run Actor synchronously\" API inside API > API Endpoints.\n- The second node receives the scraper's data. Insert the \"Get last run dataset items\" API.\n- Filters out those leads how do not have a website or email included."
      },
      "typeVersion": 1
    },
    {
      "id": "17701486-28c9-4997-8f25-2a60a7eb01a0",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -352
      ],
      "parameters": {
        "width": 528,
        "height": 256,
        "content": "## Crawl Website Content and Convert to Plain Text"
      },
      "typeVersion": 1
    },
    {
      "id": "aec44523-f375-43bb-9723-9841160b7f76",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -32
      ],
      "parameters": {
        "width": 1040,
        "height": 224,
        "content": "## Write Icebreaker and Subject Line"
      },
      "typeVersion": 1
    },
    {
      "id": "2e5432f7-2563-4666-ab32-295b93c2aeb0",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -352
      ],
      "parameters": {
        "width": 432,
        "height": 256,
        "content": "## Summarise Website's Content"
      },
      "typeVersion": 1
    },
    {
      "id": "f939ef76-10e0-475b-b884-c9923c15c69c",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        240
      ],
      "parameters": {
        "color": 4,
        "width": 1040,
        "height": 272,
        "content": "## Save to Spreadsheet"
      },
      "typeVersion": 1
    },
    {
      "id": "a3cdfbcd-e338-4fc5-97f3-5ec2f6a0dd2f",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        -704
      ],
      "parameters": {
        "color": 4,
        "width": 352,
        "height": 240,
        "content": "## Send Slack Notification Once Done"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "91b75e6f-10e5-4e2f-9ef3-04a81cfadd97",
  "connections": {
    "Keep Fields": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Crawl Website Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Website Summary": {
      "main": [
        [
          {
            "node": "Icebreaker Writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Icebreaker Writer": {
      "main": [
        [
          {
            "node": "Subject Line Writer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Call Apify Scraper": {
      "main": [
        [
          {
            "node": "Receive Scraper's Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create spreadsheet": {
      "main": [
        [
          {
            "node": "EDIT Apollo URL + Amount",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter URL + Email": {
      "main": [
        [
          {
            "node": "Keep Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP -> Plain Text": {
      "main": [
        [
          {
            "node": "Website Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Save To Spreadsheet": {
      "main": [
        [
          {
            "node": "Append or update row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Subject Line Writer": {
      "main": [
        [
          {
            "node": "Save To Spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Crawl Website Content": {
      "main": [
        [
          {
            "node": "HTTP -> Plain Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive Scraper's Data": {
      "main": [
        [
          {
            "node": "Filter URL + Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "EDIT Apollo URL + Amount": {
      "main": [
        [
          {
            "node": "Call Apify Scraper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append or update row in sheet": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Create spreadsheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}