Créer des sujets de brise-glace personnalisés et pilotés par l'IA à partir de données de sites web en utilisant Google Sheets et GPT
Ceci est unLead Generation, Multimodal AIworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme Wait, Limit, Markdown, HttpRequest, GoogleSheets. Créer des sujets de brise-glace personnalisés et pilotés par l'IA à partir de données de site web avec Google Sheets et GPT
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
Nœuds utilisés (15)
Catégorie
{
"meta": {
"instanceId": "a88d54d0dc140647df8f628579b3d5aae0dedb13c983a1f5c11ee14f54f18774",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "31d817cd-d810-4fa1-9b27-b893b482462d",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
180,
0
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupColumn": "personalization"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1248286451,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk/edit#gid=1248286451",
"cachedResultName": "Data"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk/edit?usp=drivesdk",
"cachedResultName": "High ticket coaching FINAL"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "G2spLXJSxhwVIeSU",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "3047835b-39f6-4124-b511-9e5d26335a56",
"name": "Google Sheets1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1700,
60
],
"parameters": {
"columns": {
"value": {
"email": "={{ $('Google Sheets').item.json.email }}",
"newCompanyName": "={{ $json.message.content.companyName }}",
"personalization": "={{ $json.message.content.icebreaker }}"
},
"schema": [
{
"id": "profileUrl",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "profileUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "firstName",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "firstName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "lastName",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "lastName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "headline",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "headline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "about",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "about",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "oldCompanyName",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "oldCompanyName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "newCompanyName",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "newCompanyName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "personalization",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "personalization",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "organization_website_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "organization_website_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_industry",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_industry",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "fullName",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "fullName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "city",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "city",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"email"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1248286451,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk/edit#gid=1248286451",
"cachedResultName": "Data"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ozF4HA8LpZVKY62B8MoxVshKKnLvUKachs8XARaLbDk/edit?usp=drivesdk",
"cachedResultName": "High ticket coaching FINAL"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "G2spLXJSxhwVIeSU",
"name": "Google Sheets account"
}
},
"typeVersion": 4.6
},
{
"id": "6b46b00a-2a90-4079-9777-e07e8590ea4d",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
780,
60
],
"parameters": {
"url": "={{ $('Google Sheets').item.json.organization_website_url }}",
"options": {}
},
"notesInFlow": true,
"typeVersion": 4.2,
"alwaysOutputData": true
},
{
"id": "429c9859-f108-4f9c-901d-bc27e54e9cda",
"name": "Markdown",
"type": "n8n-nodes-base.markdown",
"notes": " ",
"onError": "continueRegularOutput",
"position": [
940,
60
],
"parameters": {
"html": "={{ $json.data }}",
"options": {}
},
"notesInFlow": true,
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "b515488f-aa5d-4bfa-9b74-a0ea0ab50cce",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
580,
0
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "b9205910-0456-46f3-9636-470affa10571",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1900,
60
],
"webhookId": "fc3b53fe-fcc7-4098-99ce-2a39d7c0df77",
"parameters": {
"amount": 2
},
"typeVersion": 1.1
},
{
"id": "598378f7-1c34-4d12-9cf2-c963ae247d71",
"name": "Website Copy",
"type": "@n8n/n8n-nodes-langchain.openAi",
"onError": "continueRegularOutput",
"position": [
1080,
60
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "You're a helpful, intelligent web scraping assistant."
},
{
"content": "Your task is to take the raw markdown of a website and convert it into structured plain text copy. Remove any links or urls.\n\nIf you can't access the website or there is a problem, just output nothing.\n\nReturn your response in JSON using this format:\n\n{\"websiteCopy\":\"a long string containing just the text of the site, no formatting\"}"
},
{
"content": "=Markdown: {{ $json.data }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "E9waf1c33TsN4RCh",
"name": "OpenAi account"
}
},
"notesInFlow": true,
"typeVersion": 1.8,
"alwaysOutputData": true
},
{
"id": "cfa2bff4-4e4e-4c4a-8711-a9838cfc547a",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"position": [
380,
0
],
"parameters": {
"maxItems": 500
},
"typeVersion": 1
},
{
"id": "a8820e58-898e-4e9c-a71c-1783b3022938",
"name": "When clicking ‘Execute workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-20,
0
],
"parameters": {},
"typeVersion": 1
},
{
"id": "873ea6f7-6d5b-4fb0-bc30-28ce3aad5a64",
"name": "Personalization",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1400,
60
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini",
"cachedResultName": "GPT-4.1-MINI"
},
"options": {
"temperature": 0.5
},
"messages": {
"values": [
{
"role": "system",
"content": "You're a helpful, intelligent copywriting assistant. You will be given a bunch of info about a lead and their company. You task is to generate 2 fields:\nicebreaker: a personalized icebreaker we will send to them in an email sequence\ncompanyName: An abbreviated shortened name of their company"
},
{
"content": "=Your task is to take the info I provide about a prospect and turn them into catchy, personalized openers for a cold email campaign to imply that the rest of the email is personalized.\n\nYou'll return your response in the following JSON format:\n\n{\"icebreaker\":\"Hey {name}, love {interestingThingAboutThem}. {ComplimentAccomplishmentorExperience}. Found you on LinkedIn and figured I'd reach out.\\n\\nForgive me for digging into your site, but given your {addressPainPointSubtly} or {thingAboutCompany}, how easy are you finding it to scale and acquire new clients?\",\n\"companyName\":\"(shortenedCompanyName)\"}\n\n\nRules:\n- Write in a spartan/laconic tone of voice.\n- Keep the compliment short.\n- Make sure to stick to the above formats\n-Try to make the pain point related to client acquisition but subtle and natural. The goal is to be conversational, not hard sell my offer(AI Personalized Cold Outreach)\n- Shorten all corporate/company/program names and use abbreviation wherever possible (say, \"XYZ\" instead of \"XYZ Agency\"). More examples: \"AMS\" instead of \"AMS Professional Services\", \"WSJ\" instead of \"Wall Street Journal\", etc. This is done to make it seem more human and natural. \n-Remove all legal symbols like \"TM\"\n- Do the same with locations. \"San Fran\" instead of \"San Francisco\", \"BC\" instead of \"British Columbia\", etc.\n- For your variables, focus on small, non-obvious and interesting things to paraphrase. The idea is to make people think we *really* dove deep into them, so don't use something obvious. Do not say cookie-cutter stuff like \"Love your website!\" or \"Love your take on marketing!\". Again, keep it short."
},
{
"content": "=Profile: Radhika Sethi, CMO at Beyond The Panorama - A creative & content marketing agency, Beyond The Panorama, San Francisco Bay Area\n\nLinkedIn About: I work with founders & marketers of small brands to create a meaningful story for their brands, that resonate with the right audiences. In 8 eventful years of consulting with brands, I have developed robust content ecosystems to build memorable brands in the direct-to-consumer space.\n\nAt the core, I am a storyteller and that’s what I translate into brand content strategies.\n\nConsulting with brands across industries, especially D2C - nutrition, F&B, fashion, skincare, fem-tech.\n\nWebsite Scrape: \"Home\\nThe Content Marketing Blog\\nThe Magazine\\n Short Stories\\n Romance Short Stories\\n Relationships Short Stories\\n Interesting Short Stories\\n Thriller and Horror Short Stories\\n Mystery Short Stories\\n Poetry\\n Thoughts & Opinions\\nContact\\nAbout\\nSubscribe\\n\\nContent Marketing & Social Media Company\\nAND A STORYTELLING PLATFORM\\n\\nCONTENT STRATEGY\\nCONTENT WRITING\\nSOCIAL MEDIA\\nBRAND LITERATURE\\nMICRO CONTENT CREATION\\n\\nHello.\\n\\nWriting content that customers actually want to read\\nHelping brands create a content ecosystem.\\n\\nContent Strategy\\nBuilding an integrated communication strategy for brands. This involves building a personality for the brand and creating the brand literature. A strategic, yet realistic and executable, content strategy that will help your brand grow across channels.\\n\\nContent Writing\\nBrand story, website content, blogs, stories, product descriptions, newsletters, social media captions, white papers, e-books, social media campaigns, and more. Did we miss what you were looking for? Just reach out and let’s have a chat about your writing requirement.\\n\\nSocial Media\\nBuilding a channel-wise digital marketing strategy for brands, monthly content calendars and analytical reporting. BTP’s social media plans are a successful mix of content that is educative, engaging, and share-worthy.\\n\\nContent Creation\\nCreating social media graphics, GIFs and a whole lot of engaging content. We also create a lot of original content in-house in terms of photos, videos, reels, because we know – a photoshoot is time-consuming and expensive and cannot be done very often. But fresh content needs to keep coming and BTP is here for it!\\n\\nghost writing\\nIf you are a thought leader or a brand that needs lots and lots of content published under your name, we are your friends! This writing solution includes our team of writers creating content for your company’s assets. Yes, we do also ghost-write books.\\n\\ntechnical writing\\nWith over 30 years in business strategy, our small team is brimming with the knowledge they love to share. If you need well-researched technical articles, white papers, or e-books – we would love to have a conversation with you.\\n\\nAmazon Content\\nJust as important as your website is your marketplace content. The main objective on marketplaces like Amazon is to stand out amidst the very many brands. Not just that, once someone has become interested in your brand or product, the story must be compelling enough to sell. That’s what we help do! Create great content and creatives for Amazon.\\n\\nAt the core, we are storytellers that create brand stories website content blogs social media content newsletters e-books\\nWhen the passion for storytelling is coupled with strong business acumen and 3 decades of experience, it can create magical things.\\nThe lifeblood of digital-marketing anatomy is content, and Team BTP’s expertise lies in building a Content Ecosystem that integrates and synergises every content touchpoint for your business.\\nBTP is NOT an end to end or a full-service marketing agency. It is a specialised content marketing agency to help your business create compelling, creative, and engaging content.\\n\\nIn addition to being a content marketing agency, Beyond The Panorama is a publishing platform for authors, poets, and marketers. An exclusive curation of short stories and poetry with an Indian context. This is your daily dose of non-news reading. Written by carefully selected writers and poets, the BTP Magazine is a work of passion and love for the art of storytelling.\\n\\nWho We Are\\nGet in touch\\nLangford Gardens, Bangalore – 560025, India\\n\\nhello@beyondthepanorama.com\\n\\n© 2022 A Unit of Vineet Sethi\""
},
{
"role": "assistant",
"content": "={\"icebreaker\":\"Hey Radhika,\\n\\nlove your storytelling approach to brand strategy. 8 years of consulting is impressive. Found you on LinkedIn and figured I'd reach out.\\n\\nForgive me for digging into your site, but given your specialized focus in content marketing(read the part about not being a 360-degree marketing agency), how easy are you finding it to scale and acquire new clients?\",\n\"companyName\":\"BTP\"}\n\n\n\n"
},
{
"content": "=Profile: {{ $('Google Sheets').item.json.firstName }} {{ $('Google Sheets').item.json.lastName }}, {{ $('Google Sheets').item.json.headline }}, {{ $('Google Sheets').item.json.oldCompanyName }}, {{ $('Google Sheets').item.json.organization_city }}\n\nLinkedIn About: {{ $('Google Sheets').item.json.about }}\n\nWebsite Scrape: {{ $('Website Copy').item.json.message.content.websiteCopy }}"
}
]
},
"jsonOutput": true
},
"credentials": {
"openAiApi": {
"id": "E9waf1c33TsN4RCh",
"name": "OpenAi account"
}
},
"typeVersion": 1.6
},
{
"id": "cb4d1d53-cfb8-4edf-8d55-bad99a61034f",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-60
],
"parameters": {
"color": 4,
"width": 600,
"height": 260,
"content": "## Search Lead Database\n"
},
"typeVersion": 1
},
{
"id": "6befc404-f2d2-47f9-8a61-315bd551242d",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
-20
],
"parameters": {
"color": 5,
"width": 620,
"height": 240,
"content": "## Scrape website\n"
},
"typeVersion": 1
},
{
"id": "82f71075-9904-49b5-94bb-900d1d5b5326",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1380,
-20
],
"parameters": {
"color": 4,
"width": 640,
"height": 240,
"content": "## Create Personalized Icebreaker & add to row\n"
},
"typeVersion": 1
},
{
"id": "3a7e20c1-35c2-460e-a294-29fba5181050",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-780,
-420
],
"parameters": {
"width": 660,
"height": 1080,
"content": "# Generate personalized icebreakers from website data in Google Sheets\n## Overview\n\nCreate hyper-personalized cold outreach messages at scale by combining Google Sheets, web scraping, and AI.\nThis workflow is perfect for sales teams, SDRs, and agency owners looking to boost reply rates with icebreakers that *actually feel personal*. It takes lead info from a Google Sheet—including name, email, company, and website—then visits each site, pulls meaningful text, and crafts a tailored message using AI. The personalized message is then written back into your lead sheet, ready for use in cold email, LinkedIn DMs, or CRM enrichment.\n\n### Who’s it for\n- Cold email outreach specialists \n- B2B sales and SDR teams \n- Lead generation agencies \n- Founders doing outbound manually \n\n### How it works\n- Pull lead data from Google Sheets \n- Loop through each lead and scrape their website using an HTTP node \n- Clean and format the website content \n- Use OpenAI to generate a custom-written icebreaker for each lead \n- Write the final icebreaker back into the spreadsheet\n\n### How to set up\n1. Connect your Google Sheets account \n2. Replace the spreadsheet ID and column names with your own \n3. Set up your OpenAI credentials (or whichever LLM you prefer) \n4. Tweak the prompt for tone or style \n5. Hit \"Execute Workflow\" and watch the sheet populate\n\n### Requirements\n- Google Sheets credentials \n- OpenAI (or any compatible LLM node) \n- The websites listed must be publicly accessible and static\n\n### How to customize\n- Modify the scraping logic to focus on specific sections (e.g. About page, Case Studies) \n- Adjust the AI prompt to match your brand’s tone \n- Add filtering logic to skip low-value leads \n- Integrate with your CRM to send the data downstream\n"
},
"typeVersion": 1
},
{
"id": "437389e4-d043-461d-bf27-a0a60cfcaf46",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
280
],
"parameters": {
"color": 5,
"width": 540,
"height": 200,
"content": "## Hey, I'm Abdul 👋\n### I build growth-focused systems. If you want to work together or need help automating your business, check out my website: **https://www.builtbyabdul.com/**\n### Or email me at **builtbyabdul@gmail.com**\n### Have a lovely day ;)`"
},
"typeVersion": 1
}
],
"pinData": {
"When clicking ‘Execute workflow’": [
{}
]
},
"connections": {
"b9205910-0456-46f3-9636-470affa10571": {
"main": [
[
{
"node": "b515488f-aa5d-4bfa-9b74-a0ea0ab50cce",
"type": "main",
"index": 0
}
]
]
},
"cfa2bff4-4e4e-4c4a-8711-a9838cfc547a": {
"main": [
[
{
"node": "b515488f-aa5d-4bfa-9b74-a0ea0ab50cce",
"type": "main",
"index": 0
}
]
]
},
"429c9859-f108-4f9c-901d-bc27e54e9cda": {
"main": [
[
{
"node": "598378f7-1c34-4d12-9cf2-c963ae247d71",
"type": "main",
"index": 0
}
]
]
},
"6b46b00a-2a90-4079-9777-e07e8590ea4d": {
"main": [
[
{
"node": "429c9859-f108-4f9c-901d-bc27e54e9cda",
"type": "main",
"index": 0
}
]
]
},
"598378f7-1c34-4d12-9cf2-c963ae247d71": {
"main": [
[
{
"node": "873ea6f7-6d5b-4fb0-bc30-28ce3aad5a64",
"type": "main",
"index": 0
}
]
]
},
"31d817cd-d810-4fa1-9b27-b893b482462d": {
"main": [
[
{
"node": "cfa2bff4-4e4e-4c4a-8711-a9838cfc547a",
"type": "main",
"index": 0
}
]
]
},
"3047835b-39f6-4124-b511-9e5d26335a56": {
"main": [
[
{
"node": "b9205910-0456-46f3-9636-470affa10571",
"type": "main",
"index": 0
}
]
]
},
"b515488f-aa5d-4bfa-9b74-a0ea0ab50cce": {
"main": [
[],
[
{
"node": "6b46b00a-2a90-4079-9777-e07e8590ea4d",
"type": "main",
"index": 0
}
]
]
},
"873ea6f7-6d5b-4fb0-bc30-28ce3aad5a64": {
"main": [
[
{
"node": "3047835b-39f6-4124-b511-9e5d26335a56",
"type": "main",
"index": 0
}
]
]
},
"a8820e58-898e-4e9c-a71c-1783b3022938": {
"main": [
[
{
"node": "31d817cd-d810-4fa1-9b27-b893b482462d",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Génération de leads, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Abdul Mir
@abdulmirHey 👋 I'm Abdul. I build AI-powered systems for marketing agencies and consultants who want to move fast and automate the boring stuff. Think lead gen agents, proposal generators, and content creation systems. I specialize in growth-focused automations and share workflows that save time and land clients.
Partager ce workflow