Enrich company records with social media URLs using Supabase and GPT-4o
Needs changesNeeds changes. This template uses 1 thing(s) that n8n 3.0 removes: AI Agent v1 (old agent modes). 1 breaking item(s) found. Static check, last run 2026-10-19.
What to replace before upgrading
| Removed in 3.0 | Replace with |
|---|---|
| AI Agent v1 (old agent modes) Crawl website (v1.6) | Latest AI Agent node (Tools Agent). For SQL Agent, use a Postgres or MySQL tool with a recent AI Agent. |
Nodes used (8)
- Call n8n Workflow Tool
@n8n/n8n-nodes-langchain.toolWorkflow - OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Edit Fields (Set)
n8n-nodes-base.set - Manual Trigger
n8n-nodes-base.manualTrigger - Supabase
n8n-nodes-base.supabase - Merge
n8n-nodes-base.merge - AI Agent
@n8n/n8n-nodes-langchain.agent
What it does
Quick overview This workflow pulls companies from Supabase, uses an OpenAI (GPT-4o) agent to crawl each company website and collect social media profile URLs via HTTP requests and HTML parsing, and then writes the enriched company record (name, website, and social links) back to Supabase. How it works 1. Runs manually and loads all company records from a Supabase companiesinput table. 2. Keeps only each company’s name and website fields and sends the website to an OpenAI (GPT-4o) agent. 3. The agent fetches page text (HTML converted to Markdown) and extracts links from pages (anchor hrefs), following additional URLs as needed to find social profiles. 4. The agent returns a structured JSON object of social media platforms and their profile URLs. 5. The workflow combines the extracted social links with the original company name and website. 6. Inserts the enriched record into the Supabase companiesoutput table. Setup 1. Add a Supabase credential and set the correct workspace/project so the workflow can read from companiesinput and write to companiesoutput. 2. Add an OpenAI API key in the OpenAI Chat Model node (configured for GPT-4o). 3. Ensure your input table contains name and website fields (or update the field mapping to match your schema).