AutomationFlowsAI & RAG › Ai-powered Cold Call Machine with Linkedin, Openai & Sales Navigator

Ai-powered Cold Call Machine with Linkedin, Openai & Sales Navigator

ByMatthieu @yaznow on n8n.io

The AI-Powered Cold Call Machine is a fully automated workflow designed to generate qualified leads from LinkedIn, evaluate them using AI-based scoring, identify key decision-makers, and generate personalized cold call scripts. All results are saved to a Google Sheet-based CRM.…

Event trigger★★★★★ complexityAI-powered51 nodesHTTP RequestGoogle SheetsOpenAIStop And Error
AI & RAG Trigger: Event Nodes: 51 Complexity: ★★★★★ AI nodes: yes Added:
Ai-powered Cold Call Machine with Linkedin, Openai & Sales Navigator — n8n workflow card showing HTTP Request, Google Sheets, OpenAI integration

This workflow corresponds to n8n.io template #7140 — we link there as the canonical source.

This workflow follows the Google Sheets → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "KQi3dJRt8Jy86DKl",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI-Powered Cold Call Machine",
  "tags": [],
  "nodes": [
    {
      "id": "e7625dd8-e020-4dcd-a8c1-8268310a1d84",
      "name": "Process Each Company",
      "type": "n8n-nodes-base.splitInBatches",
      "onError": "continueRegularOutput",
      "position": [
        2420,
        -740
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3,
      "alwaysOutputData": false
    },
    {
      "id": "0998efcf-7b05-4ad1-844e-3fc4a5136c44",
      "name": "Get Company Info",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueRegularOutput",
      "position": [
        2640,
        -740
      ],
      "parameters": {
        "url": "https://api.ghostgenius.fr/v2/company",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Aggregate1').item.json.settings[6]['Value (edit with your use case)'] }}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2
    },
    {
      "id": "7c914bd6-1a42-4a6e-b09e-d553ca770de6",
      "name": "Filter Valid Companies",
      "type": "n8n-nodes-base.if",
      "onError": "continueRegularOutput",
      "position": [
        2840,
        -740
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5ea943a6-8f6c-4cb0-b194-8c92d4b2aacc",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.website }}",
              "rightValue": "[null]"
            },
            {
              "id": "8235b9bb-3cd4-4ed4-a5dc-921127ff47c7",
              "operator": {
                "type": "number",
                "operation": "gt"
              },
              "leftValue": "={{ $json.followers_count }}",
              "rightValue": 200
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9690999d-7a10-4b9b-8a73-0c1cc3cca7f0",
      "name": "Is New Company?",
      "type": "n8n-nodes-base.if",
      "position": [
        3280,
        -740
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "050c33be-c648-44d7-901c-51f6ff024e97",
              "operator": {
                "type": "object",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $('Check If Company Exists').all().first().json }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e0386eb6-1c98-454d-ac5d-cacca1f68ca5",
      "name": "Search Companies",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1900,
        -740
      ],
      "parameters": {
        "url": "https://api.ghostgenius.fr/v2/search/companies",
        "options": {
          "pagination": {
            "pagination": {
              "parameters": {
                "parameters": [
                  {
                    "name": "page",
                    "value": "={{ $pageCount + 1 }}"
                  }
                ]
              },
              "maxRequests": 1,
              "requestInterval": 2000,
              "limitPagesFetched": true,
              "completeExpression": "={{ $response.body.data.isEmpty() }}",
              "paginationCompleteWhen": "other"
            }
          }
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "keywords",
              "value": "={{ $json.message.content.keywords }}"
            },
            {
              "name": "locations",
              "value": "={{ $('Aggregate1').item.json.settings[4]['Value (edit with your use case)'] }}"
            },
            {
              "name": "company_size",
              "value": "={{ $('Aggregate1').item.json.settings[5]['Value (edit with your use case)'] }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Aggregate1').item.json.settings[6]['Value (edit with your use case)'] }}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "003c4ff2-ad82-43cb-8f77-85ba733bfec2",
      "name": "Extract Company Data",
      "type": "n8n-nodes-base.splitOut",
      "onError": "continueRegularOutput",
      "position": [
        2100,
        -740
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data"
      },
      "typeVersion": 1
    },
    {
      "id": "3616bf38-3e24-459b-a3a3-5c4f489c9c1e",
      "name": "Check If Company Exists",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3060,
        -740
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.id }}",
              "lookupColumn": "ID"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1j8AHiPiHEXVOkUhO2ms-lw1Ygu1eWIWW-8Qe1OoHpCo/edit#gid=0",
          "cachedResultName": "Companies"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5,
      "alwaysOutputData": true
    },
    {
      "id": "fcc1b9d9-468c-459c-9eca-825f72e2e958",
      "name": "AI Company Scoring",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3620,
        -740
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "o3-mini",
          "cachedResultName": "O3-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "=You are an AI assistant that evaluates companies to determine if they might be interested in {{ $('Aggregate1').item.json.settings[0]['Value (edit with your use case)'] }}.\n\nEvaluate the company information provided on a scale of 0 to 10, where:\n- 0 = Not at all likely to be interested\n- 10 = Extremely likely to be interested\n\nBase your evaluation on these criteria:\n1. Industry fit: How well does the company's industry align with {{ $('Aggregate1').item.json.settings[0]['Value (edit with your use case)'] }}?\n2. Company profile: Is the company size, growth stage, and location appropriate for {{ $('Aggregate1').item.json.settings[0]['Value (edit with your use case)'] }}?\n3. Pain points: Based on their description, do they likely have challenges that {{ $('Aggregate1').item.json.settings[0]['Value (edit with your use case)'] }} solves?\n\nRespond ONLY with this JSON format:\n```json\n{\n  \"score\": [number between 0 and 10],\n  \"explanation\":\n}"
            },
            {
              "content": "=Here is the company to analyze:\nName: {{ $('Filter Valid Companies').item.json.name }}\n{{ $('Filter Valid Companies').item.json.tagline }}\n{{ $('Filter Valid Companies').item.json.description }}\nNumber of employees: {{ $('Filter Valid Companies').item.json.staff_count }}\nIndustry: {{ $('Filter Valid Companies').item.json.industries }}\nSpecialties: {{ $('Filter Valid Companies').item.json.specialities }}\nLocation: {{ $('Filter Valid Companies').item.json.locations?.toJsonString() }}\nFounded in: {{ $('Filter Valid Companies').item.json.founded_on }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "746a7981-4dcc-494c-bc3f-4e65f8ab8b20",
      "name": "Add Company to CRM",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3980,
        -740
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Get Company Info').item.json.id }}",
            "Name": "={{ $('Get Company Info').item.json.name }}",
            "Score": "={{ $('AI Company Scoring').item.json.message.content.score }}",
            "State": "Qualified",
            "Summary": "={{ $('Get Company Info').item.json.description }}",
            "Website": "={{ $('Get Company Info').item.json.website }}",
            "LinkedIn": "={{ $('Get Company Info').item.json.url }}",
            "Explanation": "={{ $('AI Company Scoring').item.json.message.content.explanation }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Score",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Explanation",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Explanation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "State",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "State",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1j8AHiPiHEXVOkUhO2ms-lw1Ygu1eWIWW-8Qe1OoHpCo/edit#gid=0",
          "cachedResultName": "Companies"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "a17bb8d3-95fc-4d9d-b6d0-a49070591b0f",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        -1020
      ],
      "parameters": {
        "color": 6,
        "width": 1580,
        "height": 460,
        "content": "## LinkedIn company search\nThis section initiates the workflow and searches for your target companies on LinkedIn using the Ghost Genius API.\n\nYou can filter and refine your search by customizing the fields in the \"Settings\" sheet in the Google Sheet.\n\nNote that you can retrieve a maximum of 1000 companies per search (corresponding to 100 LinkedIn pages), so it's important not to exceed this number of results to avoid losing prospects.\n\nExample: Let's say I want to target Growth Marketing Agencies with 11-50 employees. I do my search and see that there are 10,000 results. So I refine my search by using location to go country by country and retrieve all 10,000 results in several batches ranging from 500 to 1000 depending on the country.\n\nTips: To test the workflow or to see the number of results of your search, change the pagination parameter (Max Pages) in the \"Search Companies\" node. It will be displayed at the very top of the response JSON."
      },
      "typeVersion": 1
    },
    {
      "id": "986ac080-9536-4b27-9e9c-09dc2ce843e9",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3520,
        -1020
      ],
      "parameters": {
        "color": 5,
        "width": 680,
        "height": 460,
        "content": "## AI scoring and storage\nThis section scores the company and stores it in a Google Sheet.\n\nIt's important to properly fill in the \"Settings\" sheet at the beginning of the workflow to get a result relevant to your use case. You can also manually modify the system prompt.\n\nWe add the company to the \"Companies\" sheet in this [Google Sheet](https://docs.google.com/spreadsheets/d/1j8AHiPiHEXVOkUhO2ms-lw1Ygu1eWIWW-8Qe1OoHpCo/edit?usp=sharing) which you can make a copy of and use.\n\nThis AI scoring functionality is extremely impressive once perfectly configured, so I recommend taking some time to test with several companies to ensure the scoring system works well for your needs!"
      },
      "typeVersion": 1
    },
    {
      "id": "e843bbc2-33aa-4145-b5a1-8d9483c25530",
      "name": "Aggregate1",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1180,
        -740
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "settings"
      },
      "typeVersion": 1
    },
    {
      "id": "7f58c3d4-dd04-4766-a632-23437c2131a3",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2340,
        -1020
      ],
      "parameters": {
        "color": 4,
        "width": 1120,
        "height": 460,
        "content": "## Company data processing \nThis section processes each company individually.\n\nWe retrieve all the company information using Get Company Details by using the LinkedIn link obtained from the previous section.\n\nThen we filter the company based on the number of followers, which gives us a first indication of the company's credibility (200 in this case), and whether their LinkedIn page has a website listed.\n\nYou can adjust these thresholds based on your target market - increasing the follower count for more established businesses or decreasing it for emerging markets.\n\nThe last two modules checks if the company already exists in your database (using LinkedIn ID) to prevent duplicates because when you do close enough searches, some companies may come up several times."
      },
      "typeVersion": 1
    },
    {
      "id": "0d1abba8-380e-429e-89d2-7f42bf4f9644",
      "name": "Start",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        780,
        -740
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "1353ecb3-72f9-49bf-ad0d-92e298a0d667",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        -1160
      ],
      "parameters": {
        "color": 7,
        "width": 3740,
        "height": 920,
        "content": "# Search LinkedIn companies, score them with AI, and send to your CRM"
      },
      "typeVersion": 1
    },
    {
      "id": "7651927b-f692-4194-a8ab-1df8aea75209",
      "name": "Make the perfect request",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1540,
        -740
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "o3-mini",
          "cachedResultName": "O3-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are an AI assistant that extracts clean, relevant keywords to search for companies on LinkedIn.\n\nThe user input is often noisy, vague, or includes unnecessary details. Your job is to return only **clear, concise keywords** that describe the **type of company** the user is looking for.\n\nOnly keep terms related to:\n- Industry or sector (e.g. fintech, legal tech, SaaS)\n- Company activity or profession (e.g. digital agency, HR software, logistics)\n\nIgnore anything related to:\n- Location (e.g. in Paris, Europe)\n- Company size (e.g. startups, large enterprise)\n- Intent or service needs (e.g. looking for CRM, needs automation)\n- Personal perspective (e.g. I\u2019m looking for, I want to target)\n\nYour answer must contain:\n- A space-separated list of keywords (no punctuation, no full sentences, no extra text)\n- If there are no relevant keywords, respond with: `no keywords`"
            },
            {
              "content": "=Extract the relevant company keywords from this input:\n\n{{ $json.settings[1]['Value (edit with your use case)'] }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5d93a57b-9ff4-4542-9a3f-5058ab151055",
      "name": "Get Settings",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        980,
        -740
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1782913168,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit#gid=1782913168",
          "cachedResultName": "Settings"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.5
    },
    {
      "id": "ddc20b06-bbd6-40de-9f86-8af7409309e5",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1340,
        -740
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1fb2a486-8581-4d1e-9a83-26992e4ff505",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[6]['Value (edit with your use case)'] }}",
              "rightValue": ""
            },
            {
              "id": "35ea5c51-10f6-4fe1-b802-9cbd202d8381",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[2]['Value (edit with your use case)'] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8c6a4ce8-bdd0-462b-9486-51f1a3df6d6a",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1480,
        -560
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 260,
        "content": "## Exit"
      },
      "typeVersion": 1
    },
    {
      "id": "d745c311-bb03-4a08-84c9-7c3aa8495a61",
      "name": "Missing API Key or Account ID",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        1640,
        -480
      ],
      "parameters": {
        "errorMessage": "Missing API Key or Account ID in the Google Sheet"
      },
      "typeVersion": 1
    },
    {
      "id": "eeb46f4b-5df9-4bcc-810a-d00e0245a6a8",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        920,
        260
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "settings"
      },
      "typeVersion": 1
    },
    {
      "id": "8ea6ffb9-3a8d-4f89-8b68-9cc24f94bbeb",
      "name": "Companies Recovery",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1360,
        260
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit#gid=0",
          "cachedResultName": "Companies"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "9c152cdb-e13f-4dfa-b3f8-4a792f969e3c",
      "name": "Filter Score and State",
      "type": "n8n-nodes-base.filter",
      "position": [
        1560,
        260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "146a686b-6a22-4a33-8e04-a4e7d0fc3eb9",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.Score }}",
              "rightValue": 7
            },
            {
              "id": "31a8bdd6-1f27-4dec-9fbf-f5895087d54b",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.State }}",
              "rightValue": "Qualified"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c8408cdb-c6ac-45b2-86e9-4b73c2f180d6",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        2080,
        260
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "a7174058-4bc4-4de9-a887-9672a7e9fd58",
      "name": "Find Employees",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2300,
        260
      ],
      "parameters": {
        "url": "https://api.ghostgenius.fr/v2/private/sales-navigator",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "current_company",
              "value": "={{ $('Loop Over Items').item.json.ID }}"
            },
            {
              "name": "account_id",
              "value": "={{ $('Aggregate').item.json.settings[2]['Value (edit with your use case)'] }}"
            },
            {
              "name": "current_title",
              "value": "={{ $('Aggregate').item.json.settings[3]['Value (edit with your use case)'] }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Aggregate').item.json.settings[6]['Value (edit with your use case)'] }}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 2000
    },
    {
      "id": "900c1a14-5716-4647-bc5c-c1caacd24870",
      "name": "Check profiles Found",
      "type": "n8n-nodes-base.if",
      "position": [
        2520,
        260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "62313990-929a-4859-aab7-0efe2f434dc9",
              "operator": {
                "type": "number",
                "operation": "gte"
              },
              "leftValue": "={{ $json.total }}",
              "rightValue": 1
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6a7f796a-56a5-4dc3-9783-ae29f5938ae5",
      "name": "Split Profiles",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2760,
        260
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data"
      },
      "typeVersion": 1
    },
    {
      "id": "1237a4bd-067c-456f-8b22-aa71c2b3dce1",
      "name": "Get Profile details",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2980,
        260
      ],
      "parameters": {
        "url": "https://api.ghostgenius.fr/v2/profile",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1,
              "batchInterval": 1500
            }
          }
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Aggregate').item.json.settings[6]['Value (edit with your use case)'] }}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 2000
    },
    {
      "id": "eb9b91c7-efbc-4578-9444-4d60f00fb3b5",
      "name": "Keep relevant information",
      "type": "n8n-nodes-base.code",
      "position": [
        3400,
        260
      ],
      "parameters": {
        "mode": "runOnceForEachItem",
        "jsCode": "const simplifiedItem = {\n  first_name: $('Get Profile details').item.json.first_name || null,\n  last_name: $('Get Profile details').item.json.last_name || null,\n  headline: $('Get Profile details').item.json.headline || null,\n  position: $('Get Profile details').item.json.experiences[0].position || null,\n  position_description: $('Get Profile details').item.json.experiences[0].description || null,\n  summary: $('Get Profile details').item.json.summary || null, \n  company_name: $('Loop Over Items').item.json.Name || null,\n  company_summary: $('Loop Over Items').item.json.Summary || null\n};\nreturn simplifiedItem;"
      },
      "typeVersion": 2
    },
    {
      "id": "ee8706a1-add1-4a8e-a975-1082b0c19f25",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        420,
        -20
      ],
      "parameters": {
        "color": 6,
        "width": 1520,
        "height": 460,
        "content": "## Data recovery\nHere, we retrieve the companies from the first automation, filtering them by their score (min. 7). Feel free to remove this filter or modify it. However, it is mandatory to keep the status filter.\n\nThe \"Limit\" node is used to avoid reaching the rate limit imposed by LinkedIn for Sales Navigator. Indeed, Sales Navigator has a daily limit of 2,500 search results. In this automation, one company search equals one request, which can yield up to 25 results. Therefore, to stay within the limits, you should not process more than 100 companies per day.\n\nIt's worth knowing that scraping Sales Navigator is much less risky than scraping regular LinkedIn for things like reactions, profiles, etc. Even if you accidentally reach the limit (the Ghost Genius API will block you automatically), you just won't be able to use your Sales Navigator for 24 hours, but nothing more. In any case, I recommend using [Ghost Genius](https://ghostgenius.fr) to take advantage of the cookieless feature (no need to use your own account) for all public endpoints (Get Profile, Get Company, Get Post reactions, etc.), and for private endpoints, the API automatically manages the limits."
      },
      "typeVersion": 1
    },
    {
      "id": "825a0a05-272a-4540-a268-79f370d50e20",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2000,
        -20
      ],
      "parameters": {
        "color": 4,
        "width": 1580,
        "height": 460,
        "content": "## Find the decision makers\nHere, for each company, we find the decision-makers (you can customize the job titles in the Google Sheet), then we enrich each profile, and finally, we find their email.\n\nTo find a prospect's email, we use their first name, last name, and the company's domain (which is why it's important in the first automation to filter out companies without a website). We use the Ghost Genius endpoint, which utilizes a waterfall enrichment system, allowing for a high success rate.\n\nIf no decision-makers are found in the company, the workflow stops here for that company, and we update its status in the Google Sheet."
      },
      "typeVersion": 1
    },
    {
      "id": "1c000d63-dffb-45e4-af0a-6db030ae31fa",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2600,
        440
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 260,
        "content": "## Exit"
      },
      "typeVersion": 1
    },
    {
      "id": "e25b5961-c5fa-45af-924a-50a35608093b",
      "name": "Limit",
      "type": "n8n-nodes-base.limit",
      "position": [
        1760,
        260
      ],
      "parameters": {
        "maxItems": 100
      },
      "typeVersion": 1
    },
    {
      "id": "3dce7f32-006c-4876-acfa-7914eab09af1",
      "name": "Get Settings1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        700,
        260
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1782913168,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit#gid=1782913168",
          "cachedResultName": "Settings"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.5
    },
    {
      "id": "79519765-6491-47ae-a6d5-aba61f2912cf",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        440
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 260,
        "content": "## Exit"
      },
      "typeVersion": 1
    },
    {
      "id": "196a5d4a-d307-4421-ab9f-8253777219b9",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        1120,
        260
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1fb2a486-8581-4d1e-9a83-26992e4ff505",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[6]['Value (edit with your use case)'] }}",
              "rightValue": ""
            },
            {
              "id": "35ea5c51-10f6-4fe1-b802-9cbd202d8381",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[2]['Value (edit with your use case)'] }}",
              "rightValue": ""
            },
            {
              "id": "31735671-356f-4070-9e68-063ec19b36d7",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[7]['Value (edit with your use case)'] }}",
              "rightValue": ""
            },
            {
              "id": "255cc82c-6014-4af6-8ccf-693402173d33",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.settings[8]['Value (edit with your use case)'] }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c7bcec5e-db22-430c-bc9c-0d4d09748a69",
      "name": "No decision maker found",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2760,
        520
      ],
      "parameters": {
        "columns": {
          "value": {
            "State": "No decision maker found",
            "LinkedIn": "={{ $('Loop Over Items').item.json.LinkedIn }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Score",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Explanation",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Explanation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "State",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "State",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "LinkedIn"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1j8AHiPiHEXVOkUhO2ms-lw1Ygu1eWIWW-8Qe1OoHpCo/edit#gid=0",
          "cachedResultName": "Companies"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "c58ddc51-6ce5-4548-b82d-35761e5835ec",
      "name": "Get Mobile",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3200,
        260
      ],
      "parameters": {
        "url": "https://api.ghostgenius.fr/v2/contact/phone",
        "options": {
          "batching": {
            "batch": {
              "batchSize": 1,
              "batchInterval": 1500
            }
          }
        },
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "url",
              "value": "={{ $json.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "=Bearer {{ $('Aggregate').item.json.settings[6]['Value (edit with your use case)'] }}"
            }
          ]
        }
      },
      "retryOnFail": true,
      "typeVersion": 4.2,
      "waitBetweenTries": 2000
    },
    {
      "id": "ea03d9c4-61e9-4777-a9ca-bdbf9ca4143f",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4080,
        260
      ],
      "parameters": {
        "columns": {
          "value": {
            "Phone": "='{{ $('Get Mobile').item.json.international_format }}",
            "Script": "={{ $json.message.content.script }}",
            "Lastname": "={{ $('Get Profile details').item.json.last_name }}",
            "LinkedIn": "={{ $('Get Profile details').item.json.url }}",
            "Firstname": "={{ $('Get Profile details').item.json.first_name }}",
            "Company name": "={{ $('Loop Over Items').item.json.Name }}",
            "Current Position": "={{ $('Get Profile details').item.json.experiences[0].position }}"
          },
          "schema": [
            {
              "id": "Firstname",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Firstname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Lastname",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Lastname",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Company name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Company name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Phone",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Phone",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Current Position",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Current Position",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Script",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Script",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 664133164,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit#gid=664133164",
          "cachedResultName": "Leads"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "f726199a-51bb-4660-81c5-2b53ef5258da",
      "name": "Lead(s) found",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4480,
        260
      ],
      "parameters": {
        "columns": {
          "value": {
            "State": "Enriched",
            "LinkedIn": "={{ $('Loop Over Items').item.json.LinkedIn }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Website",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "LinkedIn",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "LinkedIn",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Summary",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Summary",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Score",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Score",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Explanation",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Explanation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "State",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "State",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "LinkedIn"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1j8AHiPiHEXVOkUhO2ms-lw1Ygu1eWIWW-8Qe1OoHpCo/edit#gid=0",
          "cachedResultName": "Companies"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=drivesdk",
          "cachedResultName": "AI-Powered Cold Call Machine - Ghost Genius"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "947169c7-8385-40e4-8a5c-54ba5b136f87",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        -1680
      ],
      "parameters": {
        "color": 7,
        "width": 660,
        "height": 440,
        "content": "## Introduction\nWelcome to my template! Before explaining how to set it up, here's some **important information:**\n\nThis template is divided into two automations that complement each other.\n\nThe first part will allow you to search for companies based on your search criteria, enrich them, and then evaluate them using an AI scoring system.\n\nThe second part will find the decision-makers and their phone number within the companies (with a minimum score of 7) and will generate a custom call script tailored to each company and profile.\n\nKeep in mind that this automation is quite basic. If you need to adapt it to your CRM for example you will need a minimum level of technical skill to do so.\n\nThe first workflow is launched manually, unlike the second workflow which is launched daily.\n\n**If you are not comfortable with n8n or if you have any questions, feel free to [contact me on LinkedIn](www.linkedin.com/in/matthieu-belin83) :)**"
      },
      "typeVersion": 1
    },
    {
      "id": "3a4d4368-d74a-4918-a30d-fd4a3ff9380c",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        -1680
      ],
      "parameters": {
        "color": 7,
        "width": 600,
        "height": 440,
        "content": "## Setup\n- [Watch this video](https://www.youtube.com/watch?v=0EsdmETsZGE) (it's for a very similar automation, just the ending changes but the operation is the same)\n\n- Create an account on [Ghost Genius API](ghostgenius.fr) and get your API key.\n\n- Plug your LinkedIn Sales Navigator account in Ghost Genius API with [this video](https://www.youtube.com/watch?v=SH_4qN6sW7Q) and get your account ID.\n\n- Create a copy of this [Google Sheet](https://docs.google.com/spreadsheets/d/1o1W1UwM0tsEgQSszqph99DopFN7KBLCq2v1SiMbfG9Q/edit?usp=sharing) by clicking on File => Make a copy (in Google Sheet).\n\n- Configure your Google Sheet credential by following the [n8n documentation](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/) or [this video](https://www.youtube.com/watch?v=pWGXlZBGu4k).\n\n- Create an OpenAI key [here](https://platform.openai.com/docs/overview) and add the credential to the OpenAI nodes following the [n8n documentation](https://docs.n8n.io/integrations/builtin/credentials/openai/).\n\n- Add your information to the \"Settings\" sheet (in Google Sheet) and add your Ghost Genius API key."
      },
      "typeVersion": 1
    },
    {
      "id": "49143c1b-9093-4f04-a2d0-c6009a3fdaaa",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2840,
        -1680
      ],
      "parameters": {
        "color": 7,
        "width": 600,
        "height": 440,
        "content": "## Tools \n**(You can use the API and CRM of your choice; this is only a suggestion)**\n\n- API Linkedin: [Ghost Genius API](https://ghostgenius.fr) \n\n- API Documentation: [Documentation](https://ghostgenius.fr/docs)\n\n- CRM: [Google Sheet](https://workspace.google.com/intl/en/products/sheets/)\n\n- AI: [OpenAI](https://openai.com)\n\n- LinkedIn Location ID Finder: [Ghost Genius Locations ID Finder](https://ghostgenius.fr/tools/search-sales-navigator-locations-id)\n\n- LinkedIn Job title Finder: [Ghost Genius Job title Finder](https://www.ghostgenius.fr/tools/search-sales-navigator-current-titles-id)"
      },
      "typeVersion": 1
    },
    {
      "id": "08a32a0e-bf4e-4174-9b3b-bd9038af7a9d",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        500,
        260
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f9754c30-5ecb-43dc-8505-b7b9c0e770a9",
      "name": "Missing Informations",
      "type": "n8n-nodes-base.stopAndError",
      "position": [
        1380,
        520
      ],
      "parameters": {
        "errorMessage": "Missing Informations in the Google Sheet"
      },
      "typeVersion": 1
    },
    {
      "id": "cb8be6ee-e588-42c8-94a6-632a20055b62",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3640,
        -20
      ],
      "parameters": {
        "color": 5,
        "width": 1040,
        "height": 460,
        "content": "## Email generation and storage\nIn this section, we generate the call script, then store all the information in our Google Sheet, and finally, update the company's status.\n\nFor more context and relevance, you can modify the various system prompts inside the OpenAI nodes so that the call scripts are as personalized as possible to your product/service."
      },
      "typeVersion": 1
    },
    {
      "id": "b3f67f73-6c0c-4918-b81e-52ec5d43dd10",
      "name": "Script Generation",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        3720,
        260
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1",
          "cachedResultName": "GPT-4.1"
        },
        "options": {
          "temperature": 0.2
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You\u2019re a serial cold caller, specialized in writing call scripts with an incredibly high appointment booking rate.\n\nYour mission is to write a 20-second personalized call script using the prospect\u2019s information.\n\nHere are the rules to follow:\n\n- Your style is casual and upbeat, helping the person you\u2019re calling feel comfortable and at ease\n\n- You use formal \u201cyou\u201d (i.e., polite speech), but still call the person by their first name\n\n- The end of your script must always include a meeting proposal, giving the prospect a choice between two different days\n\n- The script must be pleasant to read and sound completely natural\n\n\nReturn a JSON with the script: \n'''\n\"script\":  \"\"\n'''"
            },
            {
              "content": "=Here is the prospect's information:\n\nFirst Name: {{ $json.first_name }}\n\nLast Name: {{ $json.last_name }}\n\nHeadline: {{ $json.headline }}\n\nPosition: {{ $json.position }}\n\nPosition Description: {{ $json.position_description }}\n\nProfile Summary: {{ $json.summary }}\n\nCompany Name: {{ $json.company_name }}\n\nCompany Description: {{ $json.company_summary }}\n\nHere is my information:\n\nFirst Name: {{ $('Aggregate').item.json.settings[8]['Value (edit with your use case)'] }}\n\nCompany Name: {{ $('Aggregate').item.json.settings[7]['Value (edit with your use case)'] }}\n\nProduct/Service Description: {{ $('Aggregate').item.json.settings[0]['Value (edit with your use case)'] }}"
            }
          ]
        },
        "jsonOutput": true
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "b7eb67d7-a1f7-4df7-b17c-baeeba60e961",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 4440,
        "height": 920,
        "content": "# Find decision-makers, get phone number, and generate call script with AI\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fe246efe-5b50-4dc6-b5ba-fc7aca085fba",
      "name": "Sticky Note15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2200,
        -1820
      ],
      "parameters": {
        "color": 7,
        "height": 80,
        "content": "# [Setup Video](https://www.youtube.com/watch?v=0EsdmETsZGE)"
      },
      "typeVersion": 1
    },
    {
      "id": "1083c453-5542-4e68-8ad3-18aca1d71f34",
      "name": "Sticky Note16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2500,
        -1820
      ],
      "parameters": {
        "color": 7,
        "height": 80,
        "content": "# [Contact me](https://www.linkedin.com/in/matthieu-belin83/)"
      },
      "typeVersion": 1
    },
    {
      "id": "6f14bae9-1057-4816-8d54-395dda3e619a",
      "name": "Wait",
      "type": "n8n-nodes-base.wait",
      "position": [
        4280,
        260
      ],
      "parameters": {
        "amount": 3
      },
      "typeVersion": 1.1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5e2da463-7327-47db-8be8-c148b8bb670c",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Make the perfect request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Missing API Key or Account ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If1": {
      "main": [
        [
          {
            "node": "Companies Recovery",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Missing Informations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Lead(s) found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Limit": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start": {
      "main": [
        [
          {
            "node": "Get Settings",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate1": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Mobile": {
      "main": [
        [
          {
            "node": "Keep relevant information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Settings": {
      "main": [
        [
          {
            "node": "Aggregate1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Settings1": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Lead(s) found": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type":

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

The AI-Powered Cold Call Machine is a fully automated workflow designed to generate qualified leads from LinkedIn, evaluate them using AI-based scoring, identify key decision-makers, and generate personalized cold call scripts. All results are saved to a Google Sheet-based CRM.…

Source: https://n8n.io/workflows/7140/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is designed for SEO professionals, digital agencies, content creators, and WordPress site owners who want to improve their search engine rankings automatically. It’s also perfect for cur

OpenAI, Google Sheets, XML +3
AI & RAG

Ask questions like “How much did I spend on food last month?” and get instant answers from your financial data — directly in Telegram.

Telegram Trigger, OpenAI, Google Sheets +2
AI & RAG

The Problem That it Solves

Google Drive Trigger, OpenAI, Google Drive +5
AI & RAG

This intelligent email automation workflow helps you maximize engagement through domain-based outreach. It utilizes AI-powered personalization and strategic follow-ups to increase response rates. The

Gmail, HTTP Request, Google Sheets +1
AI & RAG

Note: Now includes an Apify alternative for Rapid API (Some users can't create new accounts on Rapid API, so I have added an alternative for you. But immediately you are able to get access to Rapid AP

Form Trigger, Google Sheets Trigger, OpenAI +2