n8n Workflow Template: Instantly Enrich LinkedIn Profiles in Google Sheets

By the Linkepy Team 5 min read
Google Sheet enriched with Linkepy data via n8n automation

In our last post, we taught you how to build an automation from scratch. This time, we're giving you the fish.

Stop wasting time building nodes. Below is a ready-to-use n8n workflow JSON you can copy-paste directly into your n8n instance. This workflow automatically:

  1. Reads a list of LinkedIn URLs from your Google Sheet.
  2. Uses the Linkepy API to fetch the full, rich profile data (name, title, company, etc.).
  3. Writes all that data back into the same Google Sheet, right next to the URL.

It's the easiest way to turn a simple list of profiles into a fully enriched lead database.

The n8n Workflow JSON (Copy-Paste This Code)

Simply copy the JSON code below. In n8n, go to New Workflow → Import from Clipboard and paste it in.

workflow.json
{
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [-320, -32],
      "id": "16820790-2c55-41bd-8e79-c7d5241f2b8f",
      "name": "When clicking Execute workflow"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID_HERE",
          "mode": "list"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [-48, -32],
      "id": "caed5892-f0c5-4eda-bb09-67bd5e7ce26d",
      "name": "Get rows in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_N8N_GOOGLE_CREDENTIAL_ID",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [304, -32],
      "id": "06817cfd-9c53-4710-a3f2-199fdc5223e5",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "url": "https://customerapi.linkepy.com/api/enrichment/profile",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "apiKey",
              "value": "YOUR_LINKEPY_API_KEY_HERE"
            },
            {
              "name": "socialUrl",
              "value": "=$json[LinkedIn URL]"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [608, -16],
      "id": "14a17916-5458-4562-8fe6-9528e9920521",
      "name": "Linkepy api"
    },
    {
      "parameters": {
        "operation": "appendOrUpdate",
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID_HERE",
          "mode": "list"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "LinkedIn URL": "=$json.data.person.linkedInUrl",
            "linkedin Data": "=$json.data"
          },
          "matchingColumns": ["LinkedIn URL"],
          "schema": [
            {
              "id": "LinkedIn URL",
              "displayName": "LinkedIn URL",
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            },
            {
              "id": "linkedin Data",
              "displayName": "linkedin Data",
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [1120, -160],
      "id": "f8d70202-d4af-4e6c-8550-02926c2895d8",
      "name": "Append or update row in sheet",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "YOUR_N8N_GOOGLE_CREDENTIAL_ID",
          "name": "Google Sheets account"
        }
      }
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "version": 2
          },
          "conditions": [
            {
              "id": "a3daa4bf-8593-49f8-bf82-a511c025dcce",
              "leftValue": "=$json.success",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.2,
      "position": [816, -16],
      "id": "7eb21af2-56aa-402b-a760-692b6dc13524",
      "name": "If"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [1424, 160],
      "id": "a7d25dcf-fbcc-4f13-bf63-4398a09b56a6",
      "name": "No Operation do nothing"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.noOp",
      "typeVersion": 1,
      "position": [1024, 32],
      "id": "1a54f80c-f6d9-47bd-8b42-b73609808fe2",
      "name": "No Operation do nothing1"
    }
  ],
  "connections": {
    "When clicking Execute workflow": {
      "main": [[{
        "node": "Get rows in sheet",
        "type": "main",
        "index": 0
      }]]
    },
    "Get rows in sheet": {
      "main": [[{
        "node": "Loop Over Items",
        "type": "main",
        "index": 0
      }]]
    },
    "Loop Over Items": {
      "main": [[], [{
        "node": "Linkepy api",
        "type": "main",
        "index": 0
      }]]
    },
    "Linkepy api": {
      "main": [[{
        "node": "If",
        "type": "main",
        "index": 0
      }]]
    },
    "Append or update row in sheet": {
      "main": [[{
        "node": "No Operation do nothing",
        "type": "main",
        "index": 0
      }]]
    },
    "If": {
      "main": [[{
        "node": "Append or update row in sheet",
        "type": "main",
        "index": 0
      }], [{
        "node": "No Operation do nothing1",
        "type": "main",
        "index": 0
      }]]
    },
    "No Operation do nothing": {
      "main": [[{
        "node": "Loop Over Items",
        "type": "main",
        "index": 0
      }]]
    },
    "No Operation do nothing1": {
      "main": [[{
        "node": "Loop Over Items",
        "type": "main",
        "index": 0
      }]]
    }
  }
}

How to Use This Template (3 Easy Steps)

Pasting the JSON will build 90% of the workflow. You just need to fill in your 3 unique keys.

Step 1: Set Up Your Google Sheet

This workflow is designed to read from one column and write to another. Make sure your Google Sheet has at least these two column headers (case-sensitive):

  • LinkedIn URL (This is the input)
  • linkedin Data (This is the output)

Step 2: Update Your Google Sheet Nodes

In your n8n workflow, click on the "Get rows in sheet" node AND the "Append or update row in sheet" node. In both nodes, you must:

  1. Select your Google Sheets Credential.
  2. Enter your Spreadsheet ID (the long string in your sheet's URL).

(Our template uses YOUR_GOOGLE_SHEET_ID_HERE and YOUR_N8N_GOOGLE_CREDENTIAL_ID as placeholders.)

Step 3: Add Your Linkepy API Key

This is the most important step.

  1. Click on the "Linkepy api" (HTTP Request) node.
  2. Go to the "Header Parameters" section.
  3. Replace YOUR_LINKEPY_API_KEY_HERE with your personal API key from your Linkepy dashboard.

That's it! Activate the workflow and click "Execute" to watch your sheet fill with rich data.

Don't Have a Linkepy API Key?

This template relies on the Linkepy API, which uses AI-powered "live hunts" to find data other tools miss. Our API is 50% more affordable than other providers.

Sign up now to get 100 free credits and your API key instantly.

Get Your API Key in 30 Seconds

Start enriching your Google Sheets with LinkedIn data today

Get Your 100 Free Credits & API Key

No credit card required • Real-time AI Search • Full API Access