Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that reads company names and websites from a Supabase table. An AI agent opens each site, follows its links and returns the social media profiles, which are saved to a second table.
Crawler agent that saves company social links to Supabase is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Manual start
It starts when you click Test workflow in n8n, and it works through the rows of a table:
One row per company in companies_output, with its name, its website and a list of social media platforms with their URLs
What you need before you start.
Language model
Runs gpt-4o for the agent, which decides which pages to open and returns the links as JSON.
NeedsOpenAI API key
Database
Supplies the company list from companies_input and stores the results in companies_output.
NeedsA Supabase project, its host and a service role key
Checked by Mindket on 13 Nov 2026
This n8n workflow finds the social media profile links of a list of companies. It reads company names and websites from a Supabase table called companies_input. For each company an AI agent, GPT-4o, opens the website, reads its text and its links, follows the ones it needs and returns the profiles it finds as JSON. The workflow then writes the company name, its website and those links into a second table, companies_output. Twelve nodes run the flow. Two of them are tools that each hold a small workflow, and sixteen unconnected copies of those steps sit on the canvas beside ten sticky notes.
Teams that keep a list of companies and want the social profiles filled in without copying links by hand, such as sales, marketing and research teams. Skip it for sites that need a login or build their pages with JavaScript. The tools read plain HTML only.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Sales | Sales operations teams | Fill in the social profiles of a lead list before outreach | A rep sees a prospect’s LinkedIn and X links in one table beside the website. |
| Marketing | Agencies | Check which platforms a client’s rivals are on | An agency lists the platforms of ten rivals from their home pages. |
| Research | Analysts | Add social links to a company database | An analyst adds profile links to a list of startups. |
| Recruiting | Recruiters | Keep a company’s channels beside each open role | A recruiter follows a company’s pages before an interview. |
You need a little n8n: import a file, add two credentials and create two Supabase tables. The workflow’s own sticky notes give no setup time.
Any n8n that can reach OpenAI, Supabase and the websites you list will run it.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Two accounts and two tables cover every step.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key that can use gpt-4o |
| Supabase | A project with the tables companies_input and companies_output and its service role key |
companies_input with the text columns name and website. Create companies_output with the text columns company_name and company_website and a jsonb column social_media.companies_input.workflow.json.OpenAI Chat Model.Get companies and Insert new row.companies_output. Each company should have a row with its social links.Fill companies_input, click Test workflow and read companies_output. The agent opens each site’s home page, reads the text and the links, and may open more pages, such as a contact page, to find profiles. Each result is a list of platforms with their URLs, saved as JSON beside the company’s name and website.
| To change | Where |
|---|---|
| What it looks for | The prompt and system message in Crawl website, and the schema in JSON Parser |
| The model | OpenAI Chat Model |
| The source and target tables | Get companies and Insert new row |
| How many companies | The limit in Get companies, or its Return All switch |
| The fields read from a row | Select company name and website |
A row in companies_input holds the name Acme Tools and its website. The agent opens the home page, finds links to LinkedIn and Instagram in the footer and returns them.
Insert new row writes one row to companies_output: company_name, company_website and social_media with the two platforms and their URLs. Nobody copied a link by hand.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Here an AI agent is the middle box with two tools under it. Start with one company, then open the run to see which pages the agent fetched.
For experts. The two tools store their workflows inside the tool nodes, so the canvas copies do not run.
| Node | What it does | What to know |
|---|---|---|
Crawl website | Agent version 1.6 with the model, two tools and an output parser | This version runs as a Tools Agent, and the prompt asks for social profile URLs only |
Text | A Tool Workflow node with a stored workflow | Returns the page as Markdown without links or images, and adds http:// to an address with no protocol |
URLs | A Tool Workflow node with a stored workflow | Reads the attributes of every a tag, so a link needs an href, and completes only links that start with / |
Merge all data | Combines two inputs by position | Needs the agent’s output and the mapped fields in the same order |
The model is near its shutdown, a run reads 50 rows by default and a crawl can go wrong in a few ways.
gpt-4o-2024-08-06 and gpt-4o-2024-11-20 with a shutdown on 14 January 2027 and names gpt-6-luna as the replacement. It does not list the name gpt-4o itself. Mindket’s copy keeps gpt-4o, so change it in OpenAI Chat Model before that dayGet companies has no Return All switch turned on, so it reads its default limit of 50/ and is not a full URL is droppedAn n8n workflow that reads company names and websites from a Supabase table, then sends an AI agent to each site. The agent
reads the home page, follows the links it finds and returns the company's social media profile links in one JSON shape. A last
step writes the company, its website and those links into a second Supabase table.
workflow.json: the workflow as n8n exports it, twelve nodes that run, sixteen unconnected copies of the tool steps and tenREADME.md: these notes.JSON Parser listed platforms as a required key, and no property has that name. It now lists social_media,gpt-4o. See "Good to know" for its shutdown date.gpt-4o.companies_input with the text columns name and website, one row per company.companies_output with the text columns company_name and company_website and a jsonb column social_media.companies_input. Start with two or three rows.workflow.json.OpenAI Chat Model.Get companies and Insert new row.companies_output.companies_output. Each row holds the company name, its website and social_media, a list of platforms with their URLs.The agent calls two tools. Each is a Tool Workflow node with its workflow stored inside the node, so nothing else has to be saved
or linked. Each one takes a single query field, the full website address.
Text (text_retrieval_tool) adds http:// to an address that has no protocol, fetches the page, turns the HTML intoURLs (url_retrieval_tool) fetches the page and reads the attributes of every a tag. It drops tags without an href,/, keeps only valid URLs and returns theThe sixteen unconnected nodes on the canvas are drawn copies of these steps, shown so you can see them. The tools run what is
stored inside their own nodes. If you change a step, change it in the tool's workflow, not on the canvas.
Execute workflow starts it. Get companies reads rows from companies_input, and Select company name and website keepsname and website.Map company name and website renames the fields to company_name and company_website. `CrawlText and URLs as often as it decides, then answers in the shape JSON Parser defines: a social_media listplatform and a list of urls.Set social media array copies that list into a field of its own. Merge all data joins it to the mapped name and website,Insert new row adds the result to companies_output.Crawl website, and the schema in JSON Parser. Edit both together.OpenAI Chat Model.Get companies and Insert new row. Any database n8n has a node for can take their place.Select company name and website.gpt-4o-2024-08-06 and gpt-4o-2024-11-20 with a shutdowngpt-6-luna as the replacement. The page does not list the name gpt-4o itself. Change the modelOpenAI Chat Model before that day.Get companies has no Return All switch turned on, so it reads the node's default limit of 50 rows. Turn Return All on, orMerge all data pairs items by position, so keep the/ and is not a full URL is dropped.NOTICE.md 582 B README.md 6 KB workflow.json 34 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…