Track and store open job listings with Firecrawl, OpenAI, and Airtable

Go to Workflow
0 views
Built by Luka Margiani Luka Margiani
Created on October 02, 2026

Description

Quick overview
This workflow runs weekly to keep an Airtable jobs database up to date by validating or discovering each organisation’s career page with Firecrawl, extracting open roles with OpenAI, and creating new vacancy records while skipping roles that already exist.

How it works
Runs every week on a schedule.
Reads organisations and previously stored vacancies from Airtable.
For each organisation, checks whether the saved career page URL exists and returns a 200 response.
If the career page URL is missing or broken, scrapes the organisation’s website with Firecrawl to find likely career links, selects the best match, and writes the updated career page URL back to Airtable.
Scrapes the (existing or newly found) career page with Firecrawl and sends the page content to OpenAI to extract a structured list of open job postings.
Compares the extracted roles to known Airtable vacancies by title and snippet to drop already-seen roles.
Creates a new Airtable vacancy record for each remaining role, linking it to the organisation and setting status, deadline, and discovery date.

Setup
Create an Airtable base with an Organisations table (including “Organisation Name”, “Website URL”, and “Career Page”) and a Vacancies table with fields that match the workflow’s mappings.
Add an Airtable Personal Access Token credential in n8n and replace the base ID and table IDs used in the Airtable nodes.
Provide a Firecrawl API key as the FIRECRAWL_API_KEY environment variable used by the HTTP requests.
Add an OpenAI API credential in n8n and ensure the selected model is available in your OpenAI account.

Requirements
Firecrawl API, Airtable (Or any other DB - Excel, Postgres), OpenAI API

This workflow was created by Luka Margiani and shared publicly on the n8n community template library. n8nFind indexes it for discovery — the workflow remains the property of its original creator.

Nodes Used (4)

Airtable
n8n-nodes-base.airtable
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
OpenAI
@n8n/n8n-nodes-langchain.openAi