{
  "id": "VeezeeProspectEnrich",
  "name": "Search and enrich LinkedIn prospects with Veezee",
  "nodes": [
    {
      "parameters": {
        "content": "## Search and enrich LinkedIn prospects\n\n**Who's it for:** sales, recruiting, and research teams that need LinkedIn people and company data in their automations.\n\n**How it works:**\n1. *Set search inputs* holds the three values you edit: keywords, company, limit.\n2. *Search people* finds matches (10 credits for the first 10 results).\n3. *Get profile* enriches the top match (4 credits).\n4. *Enriched output* shapes the result for your CRM or sheet.\n\nEach node's notes list its exact cost. Prices: https://veezee.io/pricing.",
        "height": 480,
        "width": 460
      },
      "name": "About this workflow",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -780,
        -220
      ],
      "id": "sticky-about-this-workflow"
    },
    {
      "parameters": {
        "content": "## Setup\n\n1. Mint a free key (no signup, no card): `curl -X POST https://api.veezee.io/v1/keys/mint`. The key is shown once. Free calls share 200 credits per IP per day, recent data only.\n2. Create a **Header Auth** credential named `Veezee API`: header name `Authorization`, value `Bearer <your key>`.\n3. Select that credential on **Search people** and **Get profile**.\n4. Edit the values in **Set search inputs**, then click Execute Workflow.\n\nMore credits, same key: confirm an email at https://veezee.io/login for a one-time grant of 10,000 credits, or buy a pack at https://veezee.io/upgrade.",
        "height": 480,
        "width": 460,
        "color": 7
      },
      "name": "Setup",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -290,
        -220
      ],
      "id": "sticky-setup"
    },
    {
      "id": "8f2c1a10-1b2c-4a3d-9e4f-000000000001",
      "name": "Run manually",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        300
      ],
      "parameters": {},
      "notes": "Select the Veezee API credential on the two HTTP nodes (see the Setup note), then click Execute Workflow.",
      "notesInFlow": true
    },
    {
      "id": "8f2c1a10-1b2c-4a3d-9e4f-000000000002",
      "name": "Set search inputs",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        260,
        300
      ],
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000011",
              "name": "keywords",
              "type": "string",
              "value": "software engineer"
            },
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000012",
              "name": "current_company",
              "type": "string",
              "value": "Shopify"
            },
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000013",
              "name": "limit",
              "type": "string",
              "value": "10"
            }
          ]
        },
        "options": {}
      },
      "notes": "Edit these three values: keywords, current_company, and limit (max 30 results; free keys are capped at 10).",
      "notesInFlow": true
    },
    {
      "id": "8f2c1a10-1b2c-4a3d-9e4f-000000000003",
      "name": "Search people",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        520,
        300
      ],
      "parameters": {
        "method": "GET",
        "url": "https://api.veezee.io/v1/linkedin/search",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "keywords",
              "value": "={{ $json.keywords }}"
            },
            {
              "name": "current_company",
              "value": "={{ $json.current_company }}"
            },
            {
              "name": "limit",
              "value": "={{ $json.limit }}"
            }
          ]
        },
        "sendHeaders": true,
        "specifyHeaders": "keypair",
        "headerParameters": {
          "parameters": [
            {
              "name": "Idempotency-Key",
              "value": "={{ $execution.id }}-{{ $itemIndex }}"
            }
          ]
        },
        "options": {}
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "PLACEHOLDER",
          "name": "Veezee API"
        }
      },
      "notes": "GET /v1/linkedin/search using the Veezee API credential. Costs 10 credits for the first 10 results, +1 credit per further 10 (max 30 per call; free keys are capped at 10). Change who you're searching for by editing the values in the Set search inputs node. Free keys share 200 credits per IP per day; buying credits at https://veezee.io/upgrade tops up the same key. Prices: https://veezee.io/pricing.",
      "notesInFlow": true
    },
    {
      "id": "8f2c1a10-1b2c-4a3d-9e4f-000000000004",
      "name": "Get profile",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        780,
        300
      ],
      "parameters": {
        "method": "GET",
        "url": "https://api.veezee.io/v1/linkedin/profiles",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "identifier",
              "value": "={{ $json.common.results[0].urn || $json.common.results[0].public_identifier }}"
            },
            {
              "name": "sections",
              "value": "experience"
            }
          ]
        },
        "sendHeaders": true,
        "specifyHeaders": "keypair",
        "headerParameters": {
          "parameters": [
            {
              "name": "Idempotency-Key",
              "value": "={{ $execution.id }}-{{ $itemIndex }}"
            }
          ]
        },
        "options": {}
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "PLACEHOLDER",
          "name": "Veezee API"
        }
      },
      "notes": "GET /v1/linkedin/profiles for the top search match (results[0]), using the same Veezee API credential. Costs 4 credits; the requested 'experience' section is inside the 2 included sections, so no extra charge. Read-only lookup: no bulk export, no ongoing monitoring.",
      "notesInFlow": true
    },
    {
      "id": "8f2c1a10-1b2c-4a3d-9e4f-000000000005",
      "name": "Enriched output",
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        1040,
        300
      ],
      "parameters": {
        "mode": "manual",
        "assignments": {
          "assignments": [
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000001",
              "name": "name",
              "type": "string",
              "value": "={{ $json.common.full_name }}"
            },
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000002",
              "name": "headline",
              "type": "string",
              "value": "={{ $json.common.headline }}"
            },
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000003",
              "name": "current_company",
              "type": "string",
              "value": "={{ $json.common.current_position?.company_name }}"
            },
            {
              "id": "9c1b2a10-1b2c-4a3d-9e4f-000000000004",
              "name": "url",
              "type": "string",
              "value": "={{ $json.common.url }}"
            }
          ]
        },
        "options": {}
      },
      "notes": "Shapes the enriched profile into flat fields: name, headline, current_company, url.",
      "notesInFlow": true
    }
  ],
  "connections": {
    "Run manually": {
      "main": [
        [
          {
            "node": "Set search inputs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set search inputs": {
      "main": [
        [
          {
            "node": "Search people",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Search people": {
      "main": [
        [
          {
            "node": "Get profile",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get profile": {
      "main": [
        [
          {
            "node": "Enriched output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}
