Skip to main content

Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase

Workflow preview

Workflow preview
100%
Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This workflow contains community nodes that are only compatible with the self hosted version of n8n. Overview This workflow connects to LinkedIn via automation nodes and enriches profile data using...

Best for

  • AI Summarization automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

@brightdata/n8n-nodes-brightdata.brightdata, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.informationextractor, @n8n/n8n-nodes-langchain.lmchatgooglegemini, n8n-nodes-base.supabase, n8n-nodes-base.merge, n8n-nodes-base.aggregate, n8n-nodes-base.webhook

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Ranjan Dailata.

Original n8n.io source

1.1 Workflow description

Title
Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase
Workflow name
Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase

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

Overview

This workflow connects to LinkedIn via automation nodes and enriches profile data using AI to generate insights such as professional summary, skills highlights, and potential interest areas. All parsed information will be persisted on Supabase for further analysis and reporting purposes.

Who this is for?

This workflow is for recruiters, HR tech builders, data analysts, and growth teams who want to:

  • Automate LinkedIn data collection

  • Enrich raw profile/job data with AI

  • Store structured insights for dashboards, CRMs, or analytics

Good to know

At time of writing, each data enrichment request to Gemini costs ~$0.002–$0.004 USD depending on model. See [Gemini Pricing](Gemini Pricing) for updated info.

The Gemini enrichment model is geo-restricted. If you encounter "model not found," it may not be available in your country.

Scraping via Bright Data carries cost depending on volume. See [Bright Data Pricing](Bright Data Pricing).

What problem is this workflow solving?

Manually extracting insights from LinkedIn is:

  • Slow → Recruiters spend hours on profile research

  • Unstructured → Scraping only gives raw HTML/text

  • Incomplete → No standardized skills or trend insights

This workflow provides a repeatable pipeline that converts raw LinkedIn data into structured, enriched insights stored in Supabase for immediate use.

What this workflow does

  • Webhook by default but it could be updated to trigger manually or it could be scheduled as well

  • Scrape LinkedIn data via Bright Data API

  • Clean and normalize profile or job post data

  • AI Enrichment with Gemini → extract skills, roles, industries, seniority, career paths

  • Store results in Supabase for querying, dashboards, or API access

Setup

Accounts required:
  • Bright Data (LinkedIn scraping API)

  • Gemini API key (for AI enrichment)

  • Supabase project (for structured storage)

  • n8n instance (self-hosted or cloud)

Nodes in the workflow:
  • Manual Trigger (replace with webhook or cron if needed)

  • Bright Data Node (Bright Data API call)

  • Gemini Node (LLM enrichment)

  • Supabase Node (insert structured records)

Supabase DB Setup

Please create a project on Supabase and use the following script for the creation of a new table and indexes for persisting the LinkedIn data extract or mining information.

CREATE TABLE linkedin_data_mining (
    id BIGSERIAL PRIMARY KEY,  -- Auto-generated unique ID
    loggedin_user TEXT NOT NULL,

    -- LinkedIn profile identity fields
    first_name TEXT NOT NULL,
    last_name TEXT NOT NULL,
    title TEXT NOT NULL,
    full_name TEXT GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED,
    
    skills JSONB NOT NULL,
    basic_profile JSONB NOT NULL,
    emerging_roles JSONB NOT NULL,
    markdown_content JSONB NOT NULL,
    summary JSONB NOT NULL,
    
    -- Audit fields
    created_by TEXT NOT NULL,
    created_date TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
    updated_by TEXT NULL,
    updated_date TIMESTAMP WITH TIME ZONE NULL
);

-- Indexes for performance
CREATE INDEX idx_linkedin_data_mining_full_name ON linkedin_data_mining(full_name);
CREATE INDEX idx_linkedin_data_mining_first_name ON linkedin_data_mining(first_name);
CREATE INDEX idx_linkedin_data_mining_last_name ON linkedin_data_mining(last_name);
CREATE INDEX idx_linkedin_data_mining_skills ON linkedin_data_mining USING GIN (skills);
CREATE INDEX idx_linkedin_data_mining_basic_profile ON linkedin_data_mining USING GIN (basic_profile);
CREATE INDEX idx_linkedin_data_mining_emerging_roles ON linkedin_data_mining USING GIN (emerging_roles);
CREATE INDEX idx_linkedin_data_mining_markdown_content ON linkedin_data_mining USING GIN (markdown_content);
CREATE INDEX idx_linkedin_data_mining_summary ON linkedin_data_mining USING GIN (summary);
Connections:

Configure your API credentials for Bright Data, Gemini, and Supabase inside n8n’s credentials manager.

How to customize this workflow to your needs

  • Triggers: Replace manual trigger with webhook → scrape & enrich on demand (e.g., when a lead form is submitted).

  • Prompts: Adjust Gemini prompts to extract attributes like seniority, technologies, career transitions, or hiring signals.

  • Destinations: Store enriched data in Supabase, or send to Google Sheets, Slack, or HubSpot for immediate team use.

Connect with Me

Email: [email protected]

LinkedIn: https://www.linkedin.com/in/ranjan-dailata/

Get Bright Data: Bright Data (Supports free workflows with a small commission)

#LinkedInAutomation #n8n #WebScraping #DataAutomation #BrightData #GeminiAI #Supabase #AIEnrichment #RecruitmentTech #HRTech #SalesAutomation #MarketIntelligence #DataPipeline #WorkflowAutomation #OpenSourceAutomation

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Access and extract data from a specific URL

Type / Role
@brightdata/n8n-nodes-brightdata.brightData - brightData
Config choices
Version 1

Block 2 - Set the Input Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 3 - Summarizer

Type / Role
@n8n/n8n-nodes-langchain.informationExtractor - informationExtractor
Config choices
Version 1.2

Block 4 - Skills Extractor

Type / Role
@n8n/n8n-nodes-langchain.informationExtractor - informationExtractor
Config choices
Version 1.2

Block 5 - Google Gemini Chat Model for Skill Extraction

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 6 - Google Gemini Chat Model for Summarization

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 7 - Google Gemini Chat Model for Experiences

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 8 - Markdown Content

Type / Role
@n8n/n8n-nodes-langchain.informationExtractor - informationExtractor
Config choices
Version 1.2

Block 9 - Google Gemini Chat Model for Emerging Roles

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 10 - Emerging Roles

Type / Role
@n8n/n8n-nodes-langchain.informationExtractor - informationExtractor
Config choices
Version 1.2

Block 11 - Create a row

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 12 - Google Gemini Chat Model for Basic Profile Info

Type / Role
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - lmChatGoogleGemini
Config choices
Version 1

Block 13 - Basic Profile Info

Type / Role
@n8n/n8n-nodes-langchain.informationExtractor - informationExtractor
Config choices
Version 1.2

Block 14 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 15 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 16 - Webhook

Type / Role
n8n-nodes-base.webhook - webhook
Config choices
Version 2

Block 17 - Set the Scraped Response

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 18 - Get a row

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 19 - Update Row

Type / Role
n8n-nodes-base.supabase - supabase
Config choices
Version 1

Block 20 - Respond to Webhook

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Block 21 - Stop and Error

Type / Role
n8n-nodes-base.stopAndError - stopAndError
Config choices
Version 1

Block 22 - Respond to Webhook Create

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Block 23 - Respond to Webhook Update

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Block 24 - Respond to Webhook Not Found

Type / Role
n8n-nodes-base.respondToWebhook - respondToWebhook
Config choices
Version 1.4

Showing the first 24 of 31 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase
Complexity advanced
Nodes 31
Categories AI Summarization, Multimodal AI
Author Ranjan Dailata
Published 17 Aug 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/7519/7519.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Extract & summarize LinkedIn profiles with Bright Data, Google Gemini & Supabase do?

This workflow contains community nodes that are only compatible with the self hosted version of n8n. Overview This workflow connects to LinkedIn via automation nodes and enriches profile data using...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your AI Summarization, Multimodal AI use case.