⚙️ Automatisation de la recherche de prospects et de l'externalisation personnalisée pour les appels commerciaux
Ceci est unLead Nurturing, Multimodal AIworkflow d'automatisation du domainecontenant 15 nœuds.Utilise principalement des nœuds comme GoogleSheets, ManualTrigger, Agent, GoogleSheetsTool, LmChatOpenAi. Automatiser le prospecting commercial pour la recherche de prospects avec OpenAI, Tavily et Google Sheets
- •Informations d'identification Google Sheets API
- •Clé API OpenAI
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
Nœuds utilisés (15)
Catégorie
{
"id": "PN2BI4GGD6HE5lcu",
"meta": {
"instanceId": "9f2d25c77f55013c8efee3de456573aadd7369e6f0aaea70d0311a32c92bead1"
},
"name": "⚙️ Automate Prospect Research and Personalized Outreach for Sales Calls",
"tags": [],
"nodes": [
{
"id": "7dc4bbec-dae0-459f-840b-909b9bc46e5a",
"name": "Lors du clic sur 'Tester le workflow'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
256,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"name": "Agent IA",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
688,
-80
],
"parameters": {
"text": "=Please research these sales call attendees\n\nName: {{ $json.Name }}\nEmail: {{ $json.Email }}\nCompany Name: {{ $json['Company Name'] }}\nWebsite: {{ $json.Website }}\nBusiness Type: {{ $json['Business Type'] }}\nProject: {{ $json.Project }}",
"options": {
"systemMessage": "# Overview \nYou are an AI agent responsible for gathering company data and updating a Google Sheet with structured output. \n\n## Context \n- After generating output, you must call the **Update Sheet** tool with six specific fields. \n- Do not skip this step or simply return JSON. The tool must be called explicitly to trigger the Google Sheet update. \n\n## Instructions \n1. Accept and parse the input fields. \n2. Use the **Tavily** tool to gather and summarize: \n - `company_overview` \n - `tech_stack` \n - `company_updates` \n3. Use the **Product List** tool to identify: \n - `primary_solution` \n - `solution_2` \n - `solution_3` \n4. Format all results as valid JSON with exactly six fields. \n5. Immediately call the **Update Sheet** tool using the structure shown below. \n\n## Tools \n- **Tavily**: Use to research company background, tech stack, and updates. \n- **Product List**: Use to find relevant products based on business type and project. \n- **Update Sheet**: Required to write the six outputs into Google Sheets. \n\n## Examples \n### Example Input \n```json\n{\n \"Name\": \"Acme Inc.\",\n \"Website\": \"https://www.acme.com\",\n \"Business Type\": \"E-commerce\",\n \"Project\": \"Streamlining logistics with automation\"\n}\n``` \n\n### Example Tavily Summary \n```json\n{\n \"company_overview\": \"Acme Inc. is a fast-scaling e-commerce company focused on home goods and lifestyle products.\",\n \"tech_stack\": \"Shopify, Klaviyo, ShipBob, Gorgias\",\n \"company_updates\": \"Recently launched a same-day delivery program in select cities and expanded product categories in Q2.\"\n}\n``` \n\n### Example Product List Result \n```json\n{\n \"primary_solution\": \"Logistics Automation Suite\",\n \"solution_2\": \"Customer Retention AI\",\n \"solution_3\": \"Real-Time Order Tracking\"\n}\n``` \n\n### Example Tool Call \n```json\n{\n \"tool_call\": {\n \"tool\": \"Update Sheet\",\n \"parameters\": {\n \"company_overview\": \"Acme Inc. is a fast-scaling e-commerce company focused on home goods and lifestyle products.\",\n \"tech_stack\": \"Shopify, Klaviyo, ShipBob, Gorgias\",\n \"company_updates\": \"Recently launched a same-day delivery program in select cities and expanded product categories in Q2.\",\n \"primary_solution\": \"Logistics Automation Suite\",\n \"solution_2\": \"Customer Retention AI\",\n \"solution_3\": \"Real-Time Order Tracking\"\n }\n }\n}\n``` \n\n## SOP (Standard Operating Procedure) \n1. Parse and validate input fields. \n2. Use Tavily to collect: \n - company_overview \n - tech_stack \n - company_updates \n3. Use Product List to determine: \n - primary_solution \n - solution_2 \n - solution_3 \n4. Combine results into a valid JSON object using exact field names. \n5. Call the Update Sheet tool using that object. \n\n## Final Notes \n- Return only valid JSON — no extra text or descriptions. \n- Always include all six fields, even if data is limited. \n- Use of the Update Sheet tool is mandatory to complete the task. \n---\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "bd083da2-6ad3-410e-a651-4ad3a8330bb2",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
544,
144
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"typeVersion": 1.2
},
{
"id": "ef3cb50c-32c4-4ff4-9964-1a2192966ffb",
"name": "Tavily",
"type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
"position": [
656,
144
],
"parameters": {
"url": "https://api.tavily.com/search",
"method": "POST",
"jsonBody": "{\n \"api_key\": \"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\",\n \"query\": \"{searchTerm}\",\n \"search_depth\": \"basic\",\n \"include_answer\": true,\n \"topic\": \"news\",\n \"include_raw_content\": true,\n \"max_results\": 3\n} ",
"sendBody": true,
"specifyBody": "json",
"toolDescription": "Use this tool to search the internet",
"placeholderDefinitions": {
"values": [
{
"name": "searchTerm",
"type": "string",
"description": "What the user has requested to search the internet for"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "210bb30f-aa00-4a35-9d7c-1865611d52f7",
"name": "Liste de Produits",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
768,
288
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1986928329,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit#gid=1986928329",
"cachedResultName": "Products"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit?usp=drivesdk",
"cachedResultName": "Mock Data"
}
},
"typeVersion": 4.5
},
{
"id": "dd39dd98-d366-4329-9e38-547123f0914b",
"name": "Mettre à jour la Feuille",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
880,
224
],
"parameters": {
"columns": {
"value": {
"Email": "={{ $json.Email }}",
"solution_2": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('solution_2', ``, 'string') }}",
"solution_3": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('solution_3', ``, 'string') }}",
"tech_stack": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('tech_stack', ``, 'string') }}",
"company_updates": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('company_updates', ``, 'string') }}",
"company_overview": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('company_overview', ``, 'string') }}",
"primary_solution": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('primary_solution', ``, 'string') }}"
},
"schema": [
{
"id": "Call Date",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Call Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Company Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Website",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Business Type",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Business Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Project",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_overview",
"type": "string",
"display": true,
"required": false,
"displayName": "company_overview",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tech_stack",
"type": "string",
"display": true,
"required": false,
"displayName": "tech_stack",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_updates",
"type": "string",
"display": true,
"required": false,
"displayName": "company_updates",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_solution",
"type": "string",
"display": true,
"required": false,
"displayName": "primary_solution",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "solution_2",
"type": "string",
"display": true,
"required": false,
"displayName": "solution_2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "solution_3",
"type": "string",
"display": true,
"required": false,
"displayName": "solution_3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_subject",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "email_subject",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_text",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "email_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "sms",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "sms",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": true,
"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": 236449331,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit#gid=236449331",
"cachedResultName": "Meeting Data"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit?usp=drivesdk",
"cachedResultName": "Mock Data"
}
},
"typeVersion": 4.5
},
{
"id": "3ed64385-9943-46e0-b9c6-0db5de32b94e",
"name": "Analyseur de Sortie Structurée",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
976,
128
],
"parameters": {
"jsonSchemaExample": "{\n \"company_overview\": \"string (max 100 tokens)\",\n \"tech_stack\": [\"string\", \"string\", \"...\"],\n \"company_updates\": \"string (max 150 tokens)\",\n \"primary_solution\": \"string\",\n \"solution_2\": \"string\",\n \"solution_3\": \"string\"\n}\n"
},
"typeVersion": 1.2
},
{
"id": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"name": "Assistant de Rédaction Commerciale",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1184,
-80
],
"parameters": {
"text": "=Name: {{ $('Review Calls').item.json.Name }}\nEmail: {{ $('Review Calls').item.json.Email }}\nCompany Name: {{ $('Review Calls').item.json['Company Name'] }}\nWebsite: {{ $('Review Calls').item.json.Website }}\nBusiness Type: {{ $('Review Calls').item.json['Business Type'] }}\nProject: {{ $('Review Calls').item.json.Project }}\ncompany_overview: {{ $json.output.company_overview }}\ntech_stack: {{ $json.output.tech_stack }}\ncompany_updates: {{ $json.output.company_updates }}\nprimary_solution: {{ $json.output.primary_solution }}\nsolution_2: {{ $json.output.solution_2 }}\nsolution_3: {{ $json.output.solution_3 }}\n",
"options": {
"systemMessage": "# Overview \nYou are a Sales Writing Assistant AI agent responsible for generating a short, personal, and persuasive email, subject line, and SMS right after a prospect books a call. The format must feel handcrafted and human, while integrating strong personalization and a sharp testimonial to build conviction fast. \n\n## Context \n- The prospect should feel like the message was written specifically for them—not templated or generic. \n- The core structure focuses on one key problem they face, followed by immediate proof that we’ve solved that problem for someone just like them. \n- Messaging must be short, clean, confident, and natural—written like a thoughtful sales rep, not a marketer. \n- SMS should be simple, friendly, and casual. \n- Final output must also be logged in a Google Sheet. \n\n## Instructions \n1. Analyze the input fields to identify: \n - Prospect’s first name, company, business type, and project \n - Their specific pain point or goal \n - Tech stack or approach they’re using to solve it \n2. Use the Testimonials Tool to find a success story with a company similar in size, industry, or problem. Pull: \n - Company name \n - Business type \n - Specific result \n - Outcome \n - Solution used \n3. Draft a subject line like: \n - “Excited to connect, (first name)” \n4. Write the email using the following exact structure and voice: \n ```\n Subject: Excited to connect, (first name)\n\n Hey (first name),\n\n Saw your booking—excited to dive in on (meeting date).\n\n Automating (problem/project) is right in our wheelhouse. We actually just helped (testimonial first name) who owns (testimonial business name/type) [achieve similar outcome] and (outcome)—just by (solution).\n\n Looking forward to showing you what’s possible.\n\n – Nolan\n ```\n5. Draft the SMS message using this format: \n - “Hey (first name)! Nolan from Agent Stack here—just saw your appointment come through. Pumped to hear more about (project details). See you on (meeting day/date)!” \n6. Output must include: \n - Subject \n - Email \n - Text Message \n\n## Tools \n- Testimonials Tool: For pulling relevant proof points \n- Email Agent: For formatting and polishing \n- Update Sheets 2: To store outputs \n\n## Examples \n- **Output Subject:** \n Excited to connect, Jason \n\n- **Output Email:** \n Hey Jason, \n\n Saw your booking—excited to dive in on Thursday. \n\n Automating custom proposal workflows is right in our wheelhouse. We actually just helped Vibe Studios who runs a creative agency cut 12+ hrs/week of manual drafting and boost proposal output by 4x—just by automating creative packaging from content requests. \n\n Looking forward to showing you what’s possible. \n\n – Nolan \n\n- **Output Text Message:** \n Hey Jason! Nolan from Agent Stack here—just saw your appointment come through. Pumped to hear more about your proposal automation plans. See you on Thursday! \n\n## SOP (Standard Operating Procedure) \n1. Parse all inputs and identify: \n - Name \n - Specific problem or goal \n - Relevant testimonial \n2. Draft: \n - Subject line using first name \n - Email using the provided structure and tone \n - SMS with natural tone \n3. Output fields: \n - Output Subject \n - Output Email \n - Output Text Message \n4. Use Update Sheets 2 to store the following: \n - Name \n - Email \n - Company Name \n - Subject \n - Email Body \n - SMS Message \n\n## Final Notes \n- Use clean, minimal formatting—no fluff, no pitchy language. \n- The testimonial is central—tie it directly to the prospect’s challenge. \n- The tone should sound like a proactive, thoughtful rep who did their homework. \n---\n\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.9
},
{
"id": "cbfff133-26cf-4664-941f-f16e3f7d6941",
"name": "Examen des Appels",
"type": "n8n-nodes-base.googleSheets",
"position": [
480,
-80
],
"parameters": {
"options": {},
"filtersUI": {
"values": [
{
"lookupValue": "FILL",
"lookupColumn": "company_overview"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 236449331,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit#gid=236449331",
"cachedResultName": "Meeting Data"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit?usp=drivesdk",
"cachedResultName": "Mock Data"
}
},
"typeVersion": 4.5
},
{
"id": "2b18954c-9d14-47db-9883-1b44f5b44b8c",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1136,
160
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1",
"cachedResultName": "gpt-4.1"
},
"options": {}
},
"typeVersion": 1.2
},
{
"id": "30ea88b4-5c47-4301-9255-8a2744e776cf",
"name": "Outil de Témoignages",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1264,
320
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 2060485763,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit#gid=2060485763",
"cachedResultName": "Success Stories"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit?usp=drivesdk",
"cachedResultName": "Mock Data"
}
},
"typeVersion": 4.5
},
{
"id": "30a1b721-3131-4a33-b655-f2fcb749c816",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1488,
128
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"subject\": {\n \"type\": \"string\",\n \"description\": \"The subject line of the confirmation email\"\n },\n \"email\": {\n \"type\": \"string\",\n \"description\": \"The full content of the confirmation email\"\n },\n \"text_message\": {\n \"type\": \"string\",\n \"description\": \"The full content of the confirmation SMS message\"\n }\n },\n \"required\": [\"subject\", \"email\", \"text_message\"]\n}\n"
},
"typeVersion": 1.2
},
{
"id": "8bb34416-b063-47db-bf67-c5df5e0b9cfa",
"name": "Mettre à jour la Feuille 2",
"type": "n8n-nodes-base.googleSheetsTool",
"position": [
1408,
272
],
"parameters": {
"columns": {
"value": {
"sms": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('sms', ``, 'string') }}",
"Email": "={{ $('Review Calls').item.json.Email }}",
"email_text": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('email_text', ``, 'string') }}",
"email_subject": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('email_subject', ``, 'string') }}"
},
"schema": [
{
"id": "Call Date",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Call Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company Name",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Company Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Website",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Business Type",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Business Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Project",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_overview",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "company_overview",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tech_stack",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "tech_stack",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_updates",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "company_updates",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_solution",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "primary_solution",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "solution_2",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "solution_2",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "solution_3",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "solution_3",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_subject",
"type": "string",
"display": true,
"required": false,
"displayName": "email_subject",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "email_text",
"type": "string",
"display": true,
"required": false,
"displayName": "email_text",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "sms",
"type": "string",
"display": true,
"required": false,
"displayName": "sms",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": true,
"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": 236449331,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit#gid=236449331",
"cachedResultName": "Meeting Data"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4/edit?usp=drivesdk",
"cachedResultName": "Mock Data"
}
},
"typeVersion": 4.5
},
{
"id": "51640668-4212-4a55-92cb-e71829734de1",
"name": "Note Adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
-400
],
"parameters": {
"width": 464,
"height": 768,
"content": "### ⚙️ Sales Assistant Build: Automate Prospect Research and Personalized Outreach for Sales Calls\n\n### 🧑💻 Author: [LeeWei]\n\n---\n\n### 🚀 Steps to Connect:\n\n1. **Google Sheets Setup**\n - Connect your Google account via OAuth2 in the \"Review Calls\", \"Product List\", \"Testimonials Tool\", \"Update Sheet\", and \"Update Sheets 2\" nodes.\n - Duplicate the mock Google Sheet (ID: `1u3WMJwYGwZewW1IztY8dfbEf5yBQxVh8oH7LQp4rAk4`) to your drive and update the `documentId` in all Google Sheets nodes to match your copy's ID.\n - Ensure the sheet has tabs for \"Meeting Data\", \"Products\", and \"Success Stories\" populated with your data.\n - Setup time: ~5 minutes.\n\n2. **OpenAI API Key**\n - Go to [OpenAI](https://platform.openai.com/) and generate your API key.\n - Paste this key into the credentials for both \"OpenAI Chat Model\" and \"OpenAI Chat Model1\" nodes.\n - Setup time: ~2 minutes.\n\n3. **Tavily API Key**\n - Sign up at [Tavily](https://tavily.com/) and get your API key.\n - In the \"Tavily\" node, replace the placeholder `api_key` in the JSON body with your key (e.g., `\"api_key\": \"your-tavily-key-here\"`).\n - Setup time: ~3 minutes.\n\n---\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "bcde15ce-da96-4ef2-a57a-41f595a3d490",
"name": "Note Adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
-400
],
"parameters": {
"width": 640,
"height": 304,
"content": "\n### How it Works\n\n• Triggers on a new sales call booking (manual for testing). \n• Pulls prospect details from Google Sheets and researches their company, tech stack, and updates using Tavily. \n• Matches relevant products/solutions from your product list and updates the sheet. \n• Generates personalized email confirmation (subject + body) and SMS using testimonials for relevance. \n• Updates the sheet with the outreach content for easy follow-up.\n\nSetup takes ~10-15 minutes total. All nodes are pre-configured—edit only the fields above. Detailed notes (e.g., prompt tweaks) are in sticky notes within the workflow.\n)"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "4e4ba2bb-63bb-467c-bd53-fa2faee83424",
"connections": {
"ef3cb50c-32c4-4ff4-9964-1a2192966ffb": {
"ai_tool": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "ai_tool",
"index": 0
}
]
]
},
"a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9": {
"main": [
[
{
"node": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"type": "main",
"index": 0
}
]
]
},
"210bb30f-aa00-4a35-9d7c-1865611d52f7": {
"ai_tool": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "ai_tool",
"index": 0
}
]
]
},
"cbfff133-26cf-4664-941f-f16e3f7d6941": {
"main": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "main",
"index": 0
}
]
]
},
"dd39dd98-d366-4329-9e38-547123f0914b": {
"ai_tool": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "ai_tool",
"index": 0
}
]
]
},
"8bb34416-b063-47db-bf67-c5df5e0b9cfa": {
"ai_tool": [
[
{
"node": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"type": "ai_tool",
"index": 0
}
]
]
},
"bd083da2-6ad3-410e-a651-4ad3a8330bb2": {
"ai_languageModel": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"30ea88b4-5c47-4301-9255-8a2744e776cf": {
"ai_tool": [
[
{
"node": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"type": "ai_tool",
"index": 0
}
]
]
},
"2b18954c-9d14-47db-9883-1b44f5b44b8c": {
"ai_languageModel": [
[
{
"node": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"3ed64385-9943-46e0-b9c6-0db5de32b94e": {
"ai_outputParser": [
[
{
"node": "a7ab2ed8-4b80-43c8-9ee6-f5df7f30fcb9",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"30a1b721-3131-4a33-b655-f2fcb749c816": {
"ai_outputParser": [
[
{
"node": "77d1ddb7-4a7f-436e-8fd2-1d5aa5720481",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"7dc4bbec-dae0-459f-840b-909b9bc46e5a": {
"main": [
[
{
"node": "cbfff133-26cf-4664-941f-f16e3f7d6941",
"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 - Nurturing 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
LeeWei
@leeweihernandez07Partager ce workflow