AutomationFlowsAI & RAG › Enrich B2b Leads for Attio CRM with Apollo, Linkedin, News and Gpt-4o

Enrich B2b Leads for Attio CRM with Apollo, Linkedin, News and Gpt-4o

ByBlaine Holt @fenrirlabsnl on n8n.io

This n8n template automates B2B lead research and enrichment for Attio CRM. It combines data from Apollo.io, LinkedIn scraping, and news sources with AI-powered analysis to generate actionable sales intelligence - turning hours of manual BDR research into minutes. Sales teams…

Event trigger★★★★★ complexityAI-powered62 nodesHTTP RequestN8N Nodes Scrape Creators@Tavily/N8N Nodes TavilyOpenAI ChatAgentOutput Parser StructuredTool ThinkN8N Nodes Attio
AI & RAG Trigger: Event Nodes: 62 Complexity: ★★★★★ AI nodes: yes Added:

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

This workflow follows the Agent → 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
{
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "name": "B2B Lead Enrichment - Attio CRM",
  "nodes": [
    {
      "id": "92b8a366-d717-47c8-91ba-b6f0ed3df9cb",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -400
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 128,
        "content": "## Business Outcome\n- Reduce the time spent by BDRs researching and enriching CRM leads\n- Reinvest that time in cultivating and building relationships with clients\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e88a10c6-6379-4598-ac07-14a2c2caf541",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -496
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 224,
        "content": "## System Outcomes\n- BDRs need to have trust in the outputs\n- It has minimal % chance of creating poor future moments between BDRs & Leads\n- It achieves human equivalence of a BDR trying to *quickly* complete enrichment\n- Fall back systems that give it the optimal chance to enrich\n- Fall back and graceful error handling when services are down or information can't be collected\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "40498cf0-6fbd-468f-9388-b1afbc5ee08e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -496
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 80,
        "content": "# B2B Lead Enrichment in Attio CRM\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b91b3d2c-ae8f-41b0-9681-0af03803c21e",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 144,
        "content": "### Direct Metric\n*Avg Time BDR Spent Enriching Leads*\n- Baseline: x hours per week \n- Target: x hours per week \n- Delta: x hours per week\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7b8475c1-6fc0-4d31-9f39-707f25ff9e8a",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 592,
        "height": 144,
        "content": "### Proxy / Lagging Metric\n*Delta Opportunities Won Post Implementation*\n*Avg Time BDR Spent Cultivating Leads*\n*Avg Deal Size Delta Post Implementation*\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9adf1c04-3ffd-4458-93be-393b4d4fa6fd",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -256
      ],
      "parameters": {
        "color": 7,
        "width": 1200,
        "height": 80,
        "content": "## What Does Success Look Like"
      },
      "typeVersion": 1
    },
    {
      "id": "0c676211-8a7e-4aff-9f06-18ada175d801",
      "name": "When clicking 'Execute workflow'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -96,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "da22627a-d1ec-46f9-b7b5-1ceae40341b7",
      "name": "SetFields",
      "type": "n8n-nodes-base.set",
      "position": [
        576,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "fb53582b-a3a7-4e8d-a73e-413f3a4283dc",
              "name": "id",
              "type": "string",
              "value": "={{ $json.organization.id }}"
            },
            {
              "id": "ebac0f2c-f81a-42d2-a5ad-89682fd96ffc",
              "name": "name",
              "type": "string",
              "value": "={{ $json.organization.name }}"
            },
            {
              "id": "9d44a585-c5a0-4b26-bc68-cbaf672adb4c",
              "name": "linkedin_url",
              "type": "string",
              "value": "={{ $json.organization.linkedin_url.replace('http', 'https') }}"
            },
            {
              "id": "9f6f086e-9006-4eab-9ce9-8ceb28ddcc66",
              "name": "twitter_url",
              "type": "string",
              "value": "={{ $json.organization.twitter_url }}"
            },
            {
              "id": "ef2decd2-2631-42d2-8b4d-7d0ff439beaf",
              "name": "facebook_url",
              "type": "string",
              "value": "={{ $json.organization.facebook_url }}"
            },
            {
              "id": "a4177647-8fec-4e5a-a39e-19fe76da3f7d",
              "name": "primary_phone",
              "type": "object",
              "value": "={{ $json.organization.primary_phone }}"
            },
            {
              "id": "c35324db-e0c0-4d24-b302-c51e49c81252",
              "name": "founded_year",
              "type": "number",
              "value": "={{ $json.organization.founded_year }}"
            },
            {
              "id": "66932fce-7c34-4246-a4f8-b83a29a8e9bb",
              "name": "logo_url",
              "type": "string",
              "value": "={{ $json.organization.logo_url }}"
            },
            {
              "id": "de4b49dd-3202-48fd-a32e-ff80cbb2a1ef",
              "name": "industry",
              "type": "string",
              "value": "={{ $json.organization.industry }}"
            },
            {
              "id": "50a8a0f4-5048-4395-b17a-0759a371d269",
              "name": "estimated_size",
              "type": "string",
              "value": "={{ $json.organization.estimated_num_employees }}"
            },
            {
              "id": "4d4ed083-2138-481d-9a2a-97ce9db3c785",
              "name": "raw_address",
              "type": "string",
              "value": "={{ $json.organization.raw_address }}"
            },
            {
              "id": "4bd7a60f-a114-4f70-83aa-645932a0e098",
              "name": "short_description",
              "type": "string",
              "value": "={{ $json.organization.short_description }}"
            },
            {
              "id": "dd5c2e9f-41c0-4d32-9386-6650cda0273d",
              "name": "suborganizations",
              "type": "array",
              "value": "={{ $json.organization.suborganizations }}"
            },
            {
              "id": "6d39a953-1704-44d1-b86c-831d8a15dad3",
              "name": "primary_domain",
              "type": "string",
              "value": "={{ $json.organization.primary_domain }}"
            },
            {
              "id": "e098de1a-78e2-475e-8a32-0ef9e32ba0fc",
              "name": "organization.organization_revenue",
              "type": "number",
              "value": "={{ $json.organization.organization_revenue }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "bb449aed-a26d-462c-adc9-9a579968f8ec",
      "name": "Apollo:EnrichCompany",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        128,
        192
      ],
      "parameters": {
        "url": "https://api.apollo.io/api/v1/organizations/enrich",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "domain",
              "value": "={{$json.domain}}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "287ba6a8-c8a9-4fa3-9bb4-fb3d6363beb0",
      "name": "Get a linked in company page",
      "type": "n8n-nodes-scrape-creators.scrapeCreators",
      "position": [
        1824,
        192
      ],
      "parameters": {
        "url": "={{ $('SetFields').item.json.linkedin_url }}",
        "resource": "linkedin",
        "operation": "getLinkedinCompanyPage",
        "requestOptions": {}
      },
      "credentials": {
        "scrapeCreatorsApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f39fc106-ec43-45fa-8d6a-6027e82e4c57",
      "name": "Apollo:LatestNews",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1824,
        -224
      ],
      "parameters": {
        "url": "https://api.apollo.io/api/v1/news_articles/search",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "organization_ids[]",
              "value": "={{ $('SetFields').item.json.id }}"
            },
            {
              "name": "published_at[min]",
              "value": "={{ $now.minus(6, 'months') }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "ba45bb11-71c2-499e-929f-990e81f31ce8",
      "name": "Extract",
      "type": "@tavily/n8n-nodes-tavily.tavily",
      "onError": "continueRegularOutput",
      "position": [
        2496,
        -224
      ],
      "parameters": {
        "urls": [
          "={{ $json.url }}"
        ],
        "options": {},
        "resource": "extract"
      },
      "credentials": {
        "tavilyApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e22c45c1-7063-4778-ae96-cf383b402540",
      "name": "Split Out1",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2272,
        192
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "posts"
      },
      "typeVersion": 1
    },
    {
      "id": "34904ea7-1d70-4611-9d05-c28ce88f73ef",
      "name": "Last 5 Posts",
      "type": "n8n-nodes-base.limit",
      "position": [
        2496,
        192
      ],
      "parameters": {
        "maxItems": 5
      },
      "typeVersion": 1
    },
    {
      "id": "08961d3e-32d8-4177-ac05-48849ccd4fce",
      "name": "Last 5 Articles",
      "type": "n8n-nodes-base.limit",
      "position": [
        2272,
        -224
      ],
      "parameters": {
        "maxItems": 5
      },
      "typeVersion": 1
    },
    {
      "id": "35588d2c-7d58-43f0-9bce-c4b784e39385",
      "name": "Edit Fields1",
      "type": "n8n-nodes-base.set",
      "position": [
        2720,
        592
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "2f39951c-c383-4e0b-bbe9-b1a86ffc9532",
              "name": "name",
              "type": "string",
              "value": "={{ $json.name }}"
            },
            {
              "id": "ceafdab1-c0ff-436a-ace0-68c086dbc2ca",
              "name": "image",
              "type": "string",
              "value": "={{ $json.image }}"
            },
            {
              "id": "af432dce-613e-4367-a70f-790756763477",
              "name": "about",
              "type": "string",
              "value": "={{ $json.about }}"
            },
            {
              "id": "93d5ef1f-2362-4221-99c6-8d88528682ef",
              "name": "activity",
              "type": "array",
              "value": "={{ $json.activity }}"
            },
            {
              "id": "e6290f84-be20-4aff-98b3-9c3f461b2630",
              "name": "publications",
              "type": "array",
              "value": "={{ $json.publications }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "769f8958-2b90-48b0-bd53-092f41e53345",
      "name": "Extract Post Text",
      "type": "n8n-nodes-base.set",
      "position": [
        2720,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "428dcbae-429e-4a6a-ba47-a6f0daaeb409",
              "name": "text",
              "type": "string",
              "value": "={{ $json.text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0b2b14c2-fb16-4aae-80e4-d72f558b416c",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2944,
        192
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "c431601b-436f-425d-96b2-7b44a9fc8553",
      "name": "Aggregate1",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2944,
        592
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "69692c82-1bd1-4b66-a935-3317001f44b8",
      "name": "Edit Fields2",
      "type": "n8n-nodes-base.set",
      "position": [
        2720,
        -224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "0f628c44-087d-4fa1-ae48-321d8c760cf2",
              "name": "raw_extract",
              "type": "string",
              "value": "={{ $json.results[0].raw_content }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "2e68a717-1dbf-4ff7-ba5f-a9a0c54ded3d",
      "name": "Aggregate2",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2944,
        -224
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "915d4c25-941e-4f53-a252-d4cb9aa8ab54",
      "name": "LLMHelper",
      "type": "n8n-nodes-base.code",
      "position": [
        3168,
        -224
      ],
      "parameters": {
        "jsCode": "const allItems = $input.all().map(item => item.json);\n\n// Create a nicely formatted string with context\nconst formattedJson = JSON.stringify(allItems, null, 2);\n\nconst llmPrompt = `Here is the data in JSON format:\n\n\\`\\`\\`json\n${formattedJson}\n\\`\\`\\`\n\nPlease analyze this data.`;\n\nreturn [{ json: { prompt: llmPrompt } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "0806b0d4-69df-4897-a00c-dd875cc7dc80",
      "name": "LLMHelper2",
      "type": "n8n-nodes-base.code",
      "position": [
        3168,
        192
      ],
      "parameters": {
        "jsCode": "const allItems = $input.all().map(item => item.json);\n\n// Create a nicely formatted string with context\nconst formattedJson = JSON.stringify(allItems, null, 2);\n\nconst llmPrompt = `Here is the data in JSON format:\n\n\\`\\`\\`json\n${formattedJson}\n\\`\\`\\`\n\nPlease analyze this data.`;\n\nreturn [{ json: { prompt: llmPrompt } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "b281af15-cda3-4a39-84cc-935ab9a008c3",
      "name": "LLMHelper1",
      "type": "n8n-nodes-base.code",
      "position": [
        3168,
        592
      ],
      "parameters": {
        "jsCode": "const allItems = $input.all().map(item => item.json);\n\n// Create a nicely formatted string with context\nconst formattedJson = JSON.stringify(allItems, null, 2);\n\nconst llmPrompt = `Here is the data in JSON format:\n\n\\`\\`\\`json\n${formattedJson}\n\\`\\`\\`\n\nPlease analyze this data.`;\n\nreturn [{ json: { prompt: llmPrompt } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "74ae379f-93e9-4041-bb29-642623a5e1a7",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3472,
        -96
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "be75a2b4-f503-4756-8ce5-24d4a374e1bb",
      "name": "OpenAI Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3472,
        816
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "b6d185c1-e8f4-4b77-9ca1-736039da8b86",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        3472,
        304
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "76cf1c01-7db5-45f5-89e8-330d14b0cf22",
      "name": "Apollo Summary Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3392,
        -320
      ],
      "parameters": {
        "text": "={{ $json.prompt }}",
        "options": {
          "systemMessage": "=## Role\nYou are an expert data extraction agent, specialising in summarising data for CRM enrichment that will feed into another agent for a specific customer\n\n## Goal\nDiscover key information about {{ $('SetFields').item.json.organization.name }} through recent article activity. Transform that information in key talking points for lead generation and enrichment\n\n## Rules / Guardrails\n- MUST only provide information that is relevant to {{ $('SetFields').item.json.organization.name }}"
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "32a559e9-ffcb-4942-b113-25775510ce20",
      "name": "LinkedIn Company Summary Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3392,
        80
      ],
      "parameters": {
        "text": "={{ $json.prompt }}",
        "options": {
          "systemMessage": "=## Role\nYou are an expert LinkedIn data extraction agent, specialising in summarising data for CRM enrichment that will feed into another agent.\n\n## Goal\nDiscover key information about {{ $('SetFields').item.json.organization.name }} through recent activities of their LinkedIn Posts. Transform that information in key talking points for lead generation and enrichment\n\n## Rules / Guardrails\n- MUST only provide information that is relevant to {{ $('SetFields').item.json.organization.name }}"
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "ada1af3d-5ade-47a7-8542-18a989f9cf2a",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        3744,
        176
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "1f3462b2-c43a-481d-9508-c8f5db9c0c50",
      "name": "Aggregate3",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        3968,
        192
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "aa9ebf93-6d7b-47cf-8c4b-c17a2824bfcd",
      "name": "Leadership Search Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1248,
        688
      ],
      "parameters": {
        "text": "=Company Name: {{ $('SetFields').item.json.organization.name }}\nDomain: {{ $('Apollo:EnrichCompany').item.json.organization.primary_domain }}",
        "options": {
          "systemMessage": "=## Role\nYou are an expert in identifying leadership teams within a company \n\n## Goal\nDiscover who makes up the leadership team of {{ $('SetFields').item.json.organization.name }} as of {{ $now }}\n\n## Rules / Guardrails\n- MUST only provide team information that is relevant to {{ $('SetFields').item.json.organization.name }}\n- MUST only provide people who are currently employed as of {{ $now }}\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "5fcbc702-c2de-4d4d-967d-b95e28217867",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1392,
        912
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"leadership_team\": [\n    {\n    \"name\": \"Blaine Holt\",\n    \"role\": \"CEO\",\n    \"asof\": \"Dec 2024\"\n    }\n  ]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "8635e777-8282-42b5-b676-e3209faa8efb",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2048,
        592
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "4b4b9ef5-f453-4e42-b8bc-255e7b7e587a",
              "name": "person.linkedin_url",
              "type": "string",
              "value": "={{ $json.person.linkedin_url.replace('http', 'https') }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "404ab71c-340a-4df0-8711-3810370a520d",
      "name": "Apollo:Fetch Person",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1824,
        688
      ],
      "parameters": {
        "url": "https://api.apollo.io/api/v1/people/match",
        "method": "POST",
        "options": {},
        "sendQuery": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "name",
              "value": "={{ $json.name }}"
            },
            {
              "name": "organization_name",
              "value": "={{ $('Apollo:EnrichCompany').item.json.organization.name }}"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.3
    },
    {
      "id": "c3640d68-f51d-4915-b042-ba5c4c9b29c4",
      "name": "Split People",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1600,
        688
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output.leadership_team"
      },
      "typeVersion": 1
    },
    {
      "id": "dfbda3c3-a38a-4467-897b-74c99363f66d",
      "name": "Split News",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        2048,
        -224
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "news_articles"
      },
      "typeVersion": 1
    },
    {
      "id": "9fba143b-1753-4acf-ab04-cab7c2fd3c5d",
      "name": "Get a LinkedIn Profile",
      "type": "n8n-nodes-scrape-creators.scrapeCreators",
      "onError": "continueRegularOutput",
      "position": [
        2496,
        592
      ],
      "parameters": {
        "url": "={{ $json.person.linkedin_url }}",
        "resource": "linkedin",
        "requestOptions": {}
      },
      "credentials": {
        "scrapeCreatorsApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "fa458072-8ab9-4584-89e2-3eef0b7a5790",
      "name": "If1",
      "type": "n8n-nodes-base.if",
      "position": [
        352,
        192
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "0a478207-500e-4bdd-8e25-dead08881cfe",
              "operator": {
                "type": "object",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.organization }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "1985fc73-c3b9-41a0-bc93-0a1e88435636",
      "name": "Think1",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        4464,
        400
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "004295c4-7dc5-4c0b-8bb3-ecf458d403b3",
      "name": "Edit Fields3",
      "type": "n8n-nodes-base.set",
      "position": [
        4192,
        192
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "40f107a6-d0c5-4e26-830c-e3f29929d86b",
              "name": "data",
              "type": "string",
              "value": "={{ $json.data[0].output }}\n---\n{{ $json.data[1].output }} \n---\n{{ $json.data[2].output }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "abfacb52-7969-448d-a664-3bac2f80d168",
      "name": "LinkedIn Leadership Summary",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        3392,
        592
      ],
      "parameters": {
        "text": "={{ $json.prompt }}",
        "options": {
          "systemMessage": "=## Role\nYou are an expert LinkedIn data extraction agent, specialising in summarising data for CRM enrichment that will feed into another agent.\n\n## Goal\nDiscover key information about {{ $('SetFields').item.json.organization.name }} through recent activities of employees. Transform that information in key talking points for lead generation and enrichment\n\n## Rules / Guardrails\n- MUST only provide information that is relevant to {{ $('SetFields').item.json.organization.name }}"
        },
        "promptType": "define"
      },
      "typeVersion": 3.1
    },
    {
      "id": "06ed6b6a-5971-451e-afe9-5f269522b86c",
      "name": "LLM Critic",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        4400,
        192
      ],
      "parameters": {
        "text": "=Company Name: {{ $('Apollo:EnrichCompany').item.json.organization.name }}\nDomain: {{ $('Apollo:EnrichCompany').item.json.organization.primary_domain }}\nResearch: {{ $json.data }}",
        "options": {
          "systemMessage": "=## Role\nYou are an expert LLM-as-a-Judge who verifies information provided by other LLMs. Your role is to review the claims being made are factual as of {{ $now }}\n\n\n## Goal\nProvide an analysis and recommended updates to the claims made\n\n## Rules / Guardrails\n- MUST only provide team information that is relevant to {{ $('SetFields').item.json.organization.name }}\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "c1b054f5-0cad-4313-90af-91a65061b7d8",
      "name": "Assert a record",
      "type": "n8n-nodes-attio.attio",
      "position": [
        2720,
        784
      ],
      "parameters": {
        "data": "={{ $json.data }}",
        "resource": "Records",
        "operation": "PUT -v2-objects--object--records",
        "matching_attribute": "email_addresses"
      },
      "credentials": {
        "attioApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "082240c5-3ea8-4a8d-bfcf-cc3787cf5ea0",
      "name": "Set Person Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        2048,
        784
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "81898e3e-ee5f-471f-a6fe-e695099a3dd1",
              "name": "name",
              "type": "string",
              "value": "={{ $('Split People').item.json.name }}"
            },
            {
              "id": "6e2ffebe-59a9-4921-8e99-0cb7e2e34cd1",
              "name": "role",
              "type": "string",
              "value": "={{ $('Split People').item.json.role }}"
            },
            {
              "id": "0e6c3c29-ee48-4a81-89b8-7dca5507dc5f",
              "name": "person.linkedin_url",
              "type": "string",
              "value": "={{ $json.person.linkedin_url || null }}"
            },
            {
              "id": "a871927c-af37-4cfd-b366-2c7bc2795f4b",
              "name": "person.email_status",
              "type": "string",
              "value": "={{ $json.person.email_status }}"
            },
            {
              "id": "b89eba04-3978-4d61-965e-6c68f4197fba",
              "name": "person.email",
              "type": "string",
              "value": "={{ $json.person.email }}"
            },
            {
              "id": "97cb5d41-71e2-42eb-860c-a43d0c19cca1",
              "name": "data.values.domains[0].domain",
              "type": "string",
              "value": "={{ $('Post Assert Body: Company').item.json.data.values.domains[0].domain }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0f721b6f-d83e-4b78-abe1-e3e5927c91ba",
      "name": "If Email & Domain",
      "type": "n8n-nodes-base.if",
      "position": [
        2272,
        784
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "82dbf67f-de3b-4388-963f-68de8a0f08dc",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.person.email }}",
              "rightValue": ""
            },
            {
              "id": "ec0832ab-02e7-4e09-bbf3-a27e9209a7b7",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.person.email.split(\"@\")[1] }}",
              "rightValue": "={{ $json.data.values.domains[0].domain }}"
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "97333040-b21f-4c71-b1ea-062b55b62259",
      "name": "Post Assert Body",
      "type": "n8n-nodes-base.code",
      "position": [
        2496,
        784
      ],
      "parameters": {
        "jsCode": "// Code node to format Attio People data\nconst items = $input.all();\n\nreturn items.map(item => {\n  const data = item.json;\n  const person = data.person || {};\n  \n  // Build the values object\n  const values = {};\n  \n  // Name (required, array format)\n  if (data.name) {\n    values.name = [data.name];\n  }\n  \n  // Job title (from role field)\n  if (data.role) {\n    values.job_title = [data.role];\n  }\n  \n  // LinkedIn URL - only include if valid\n  if (person.linkedin_url && person.linkedin_url !== 'null' && person.linkedin_url.includes('linkedin.com')) {\n    const linkedinUrl = person.linkedin_url.replace('http://', 'https://');\n    values.linkedin = [linkedinUrl];\n  }\n  \n  // Email addresses (skip if null or empty, trim whitespace)\n  if (person.email && person.email.trim()) {\n    values.email_addresses = [{\n      email_address: person.email.trim()\n    }];\n  }\n  \n  return {\n    json: {\n      data: {\n        values: values\n      }\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "14a7438b-e05b-4921-9dc4-2ea413f903cd",
      "name": "Post Assert Body: Company",
      "type": "n8n-nodes-base.code",
      "position": [
        800,
        192
      ],
      "parameters": {
        "jsCode": "// Code node to format for Attio\n\nconst items = $input.all();\n\n \n\nreturn items.map(item => {\n\n  const org = item.json;\n\n \n\n  // Build the values object\n\n  const values = {\n\n    name: [org.name || ''],\n\n    description: [org.short_description || ''],\n\n    linkedin: [org.linkedin_url || '']\n\n  };\n\n \n\n  // Only add domains if primary_domain exists and is not empty\n\n  if (org.primary_domain && org.primary_domain.trim() !== '') {\n\n    values.domains = [{\n\n      domain: org.primary_domain\n\n    }];\n\n  }\n\n \n\n  return {\n\n    json: {\n\n      data: {\n\n        values: values\n\n      }\n\n    }\n\n  };\n\n});\n\n \n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "c3377b0d-44a0-4041-a51f-ccef58102e1d",
      "name": "Assert Record: Company",
      "type": "n8n-nodes-attio.attio",
      "position": [
        1008,
        192
      ],
      "parameters": {
        "data": "={{ $json.data }}",
        "object": "companies",
        "resource": "Records",
        "operation": "PUT -v2-objects--object--records",
        "matching_attribute": "domains"
      },
      "credentials": {
        "attioApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "015753e6-170f-4d05-a98d-a30cc5e5e540",
      "name": "GPT 4o - Date Smart",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1264,
        912
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {
          "webSearch": {
            "searchContextSize": "medium"
          }
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a3fbdd44-5ca7-4792-b472-c2039d8b62c5",
      "name": "If LinkedIn Url",
      "type": "n8n-nodes-base.if",
      "position": [
        2272,
        592
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 3,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "96d4a6e6-92a5-4e37-9705-09e90f17ab31",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.person.linkedin_url }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "cce1dd77-02e8-49ba-93b8-62ed229a6a18",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1216,
        480
      ],
      "parameters": {
        "color": 7,
        "width": 2448,
        "height": 624,
        "content": "## Leadership Enrichment\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3dac72b3-2dae-4c7c-a05b-174f15d1e782",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        64
      ],
      "parameters": {
        "color": 7,
        "width": 2064,
        "height": 368,
        "content": "## LinkedIn Company Enrichment\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f10d73e3-a673-416f-900b-478e1ca12750",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -336
      ],
      "parameters": {
        "color": 7,
        "width": 2064,
        "height": 368,
        "content": "## Latest News Enrichment\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "226dc2eb-b37c-4b06-9eae-b23189f4c4dc",
      "name": "OpenAI Chat Model3",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4336,
        400
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {
          "webSearch": {
            "searchContextSize": "medium"
          }
        }
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "258a5ce3-abf0-41b9-b067-c0fa939d55a7",
      "name": "Structured Output Parser1",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        4608,
        400
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\t\"verification\": [\"verification1\", \"verification2\"],\n\t\"updates\": [\"updated1\", \"update2\"]\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "08dbb8ad-d062-46bd-9aea-d32898bb2bd2",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        4752,
        192
      ],
      "parameters": {
        "text": "=## Discovery Inputs\n{{ $('Edit Fields3').item.json.data }}\n\n\n## Critiques From LLM-as-Judge\n{{ $json.output.updates }}\n",
        "options": {
          "systemMessage": "=## Role\nYou are a expert Lead Enrichment Agent who ingests research and critiques done by other LLMs to produce a profile of a prospect to be entered in Attio CRM. \n\n## Goal\nCreate a dossier of a company into the following components:\n\n- Current Positioning: Paragraph on how they are positioning themselves today\n- Key Conversation Points: 1 - 3 key points to engage a sales conversation with\n- Leaderships Conversations: Paragraph on what their leadership team is saying\n\n## Rules / Guardrails\n- MUST only use input provided"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 3.1
    },
    {
      "id": "9c2fae38-7d60-4153-be77-5a17cf4eb870",
      "name": "Assert Record: Company1",
      "type": "n8n-nodes-attio.attio",
      "position": [
        5376,
        192
      ],
      "parameters": {
        "data": "={{ $json.data }}",
        "object": "companies",
        "resource": "Records",
        "operation": "PUT -v2-objects--object--records",
        "matching_attribute": "domains"
      },
      "credentials": {
        "attioApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6c954e61-73f8-4b40-9e7c-ac94236b838e",
      "name": "Structured Output Parser2",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        4928,
        400
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"positioning\": \"positioning\",\n  \"conversation_points\": \"conversation points\",\n  \"leadership_conversations\":\"leadership_conversations\"\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "08860afe-cf24-4f21-a3d5-b3937e99b3e8",
      "name": "OpenAI Chat Model4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4720,
        416
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {},
        "builtInTools": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "299532ec-d0f2-4453-bc83-44676dac3561",
      "name": "Think",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        4832,
        400
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "4e399d9c-70a6-475f-b561-25e3320f319b",
      "name": "Code in JavaScript",
      "type": "n8n-nodes-base.code",
      "position": [
        5104,
        192
      ],
      "parameters": {
        "jsCode": "// Code node to format insights for Attio\n\nconst items = $input.all();\n\nconst primaryDomain = $('SetFields').item.json.primary_domain;\n\n \n\nreturn items.map(item => {\n\n  const output = item.json.output;\n\n \n\n  // Build the values object\n\n  const values = {\n\n    positioning: [output.positioning || ''],\n\n    conversation_points: [output.conversation_points || ''],\n\n    leadership_conversations: [output.leadership_conversations || ''],\n\n    enrichment_status: ['complete' ||'']\n\n  };\n\n \n\n  // Only add domains if primary_domain exists and is not empty\n\n  if (primaryDomain && primaryDomain.trim() !== '') {\n\n    values.domains = [{\n\n      domain: primaryDomain\n\n    }];\n\n  }\n\n \n\n  return {\n\n    json: {\n\n      data: {\n\n        values: values\n\n      }\n\n    }\n\n  };\n\n});"
      },
      "typeVersion": 2
    }
  ],
  "connections": {
    "If1": {
      "main": [
        [
          {
            "node": "SetFields",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Merge": {
      "main": [
        [
          {
            "node": "Aggregate3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Think": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Think1": {
      "ai_tool": [
        [
          {
            "node": "LLM Critic",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Extract": {
      "main": [
        [
          {
            "node": "Edit Fields2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Code in JavaScript",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "LLMHelper2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLMHelper": {
      "main": [
        [
          {
            "node": "Apollo Summary Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "SetFields": {
      "main": [
        [
          {
            "node": "Post Assert Body: Company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate1": {
      "main": [
        [
          {
            "node": "LLMHelper1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate2": {
      "main": [
        [
          {
            "node": "LLMHelper",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate3": {
      "main": [
        [
          {
            "node": "Edit Fields3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLM Critic": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLMHelper1": {
      "main": [
        [
          {
            "node": "LinkedIn Leadership Summary",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLMHelper2": {
      "main": [
        [
          {
            "node": "LinkedIn Company Summary Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split News": {
      "main": [
        [
          {
            "node": "Last 5 Articles",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out1": {
      "main": [
        [
          {
            "node": "Last 5 Posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "If LinkedIn Url",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields1": {
      "main": [
        [
          {
            "node": "Aggregate1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields2": {
      "main": [
        [
          {
            "node": "Aggregate2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields3": {
      "main": [
        [
          {
            "node": "LLM Critic",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Last 5 Posts": {
      "main": [
        [
          {
            "node": "Extract Post Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split People": {
      "main": [
        [
          {
            "node": "Apollo:Fetch Person",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If LinkedIn Url": {
      "main": [
        [
          {
            "node": "Get a LinkedIn Profile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Last 5 Articles": {
      "main": [
        [
          {
            "node": "Extract",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Post Assert Body": {
      "main": [
        [
          {
            "node": "Assert a record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apollo:LatestNews": {
      "main": [
        [
          {
            "node": "Split News",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Post Text": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Email & Domain": {
      "main": [
        [
          {
            "node": "Post Assert Body",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Apollo Summary Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Set Person Fields": {
      "main": [
        [
          {
            "node": "If Email & Domain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code in JavaScript": {
      "main": [
        [
          {
            "node": "Assert Record: Company1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "LinkedIn Leadership Summary",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model2": {
      "ai_languageModel": [
        [
          {
            "node": "LinkedIn Company Summary Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model3": {
      "ai_languageModel": [
        [
          {
            "node": "LLM Critic",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model4": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Apollo:Fetch Person": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          },
          {
            "node": "Set Person Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GPT 4o - Date Smart": {
      "ai_languageModel": [
        [
          {
            "node": "Leadership Search Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Apollo Summary Agent": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apollo:EnrichCompany": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Assert Record: Company": {
      "main": [
        [
          {
            "node": "Apollo:LatestNews",
            "type": "main",
            "index": 0
          },
          {
            "node": "Leadership Search Agent",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get a linked in company page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get a LinkedIn Profile": {
      "main": [
        [
          {
            "node": "Edit Fields1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Leadership Search Agent": {
      "main": [
        [
          {
            "node": "Split People",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Leadership Search Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Post Assert Body: Company": {
      "main": [
        [
          {
            "node": "Assert Record: Company",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser1": {
      "ai_outputParser": [
        [
          {
            "node": "LLM Critic",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser2": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn Leadership Summary": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Get a linked in company page": {
      "main": [
        [
          {
            "node": "Split Out1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LinkedIn Company Summary Agent": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "When clicking 'Execute workflow'": {
      "main": [
        [
          {
            "node": "Apollo:EnrichCompany",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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

This n8n template automates B2B lead research and enrichment for Attio CRM. It combines data from Apollo.io, LinkedIn scraping, and news sources with AI-powered analysis to generate actionable sales intelligence - turning hours of manual BDR research into minutes. Sales teams…

Source: https://n8n.io/workflows/12710/ — 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

🎯 Create viral TikToks, Shorts, Reels, podcasts, and ASMR videos in minutes — all on autopilot.

OpenAI, HTTP Request, Form Trigger +7
AI & RAG

Generate AI viral videos with NanoBanana & VEO3, shared on socials via Blotato 2. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 94 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +9
AI & RAG

This template is designed for marketers, content creators, and e-commerce brands who want to automate the creation of professional ad videos at scale. It’s ideal for teams looking to generate consiste

Telegram, Telegram Trigger, Google Drive +8
AI & RAG

This workflow contains community nodes that are only compatible with the self-hosted version of n8n.

Output Parser Structured, Telegram, N8N Nodes Tesseractjs +14
AI & RAG

Create Video Ia. Uses @blotato/n8n-nodes-blotato, googleSheets, lmChatOpenAi, toolThink. Event-driven trigger; 47 nodes.

@Blotato/N8N Nodes Blotato, Google Sheets, OpenAI Chat +8