๐ŸŽฃ Enrich Airtable company phones from website, LinkedIn, Google Maps, and Claude

โšก 30 views ยท ๐ŸŽฃ Lead Generation & Enrichment

๐Ÿ’ก Pro Tip โ€” If youโ€™re pulling LinkedIn data through HTTP requests or dealing with API restrictions, thereโ€™s a community node called ScraperNode that handles this natively. It has dedicated scrapers for profiles, companies, jobs, and people search โ€” you just pass a URL and get structured data back.

View All Scrapers

Description

โš ๏ธ Self-hosted only โ€” This template uses a community node (Firecrawl) and cannot run on n8n Cloud.

> ๐Ÿ“ธ Add a workflow screenshot at the top of this listing.

Who itโ€™s for

This workflow is for sales teams, lead generation agencies, and growth operators who maintain a company database in Airtable and need to automatically enrich records with phone numbers from multiple web sources.

How it works

  1. A manual trigger fetches all Airtable records where the phone number field is empty.
  2. Records are processed one by one through a loop.
  3. Each companyโ€™s website is scraped using Firecrawl, and the raw markdown is cleaned with a custom code node.
  4. A Claude Sonnet AI agent analyzes the cleaned content and attempts to extract a phone number using a structured output parser.
  5. If the AI finds no phone, the workflow falls back to an Apify LinkedIn scraper, first checking whether the company profile exists.
  6. If LinkedIn also yields nothing, a second fallback calls an Apify Google Maps scraper to search by company name and location.
  7. Whichever source returns a phone number, a code node normalizes the data and writes it back to Airtable. If no source finds a phone, the record is marked as unavailable.

How to set up

Requirements

How to customize

๐Ÿ”— Nodes Used

Airtable, HTTP Request, AI Agent, Anthropic Chat Model, Structured Output Parser

๐Ÿ“ฅ Import

Download workflow.json and import into n8n: Workflow menu โ†’ Import from File

๐Ÿ“– Importing guide ยท ๐Ÿ”‘ Credential setup