Skip to main content

AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable

Workflow preview

Workflow preview
100%
AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable preview
Open on n8n.io

Important notice

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

1. Workflow Overview

Who’s it for Recruiting agencies, executive search firms, and in house talent teams that want to automate candidate sourcing and prequalification. Instead of spending hours searching, scoring, and ...

Best for

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

Tools used

n8n-nodes-base.formtrigger, n8n-nodes-base.set, @n8n/n8n-nodes-langchain.outputparserautofixing, @n8n/n8n-nodes-langchain.lmchatopenai, @n8n/n8n-nodes-langchain.outputparserstructured, n8n-nodes-base.switch, n8n-nodes-base.httprequest, @n8n/n8n-nodes-langchain.lmchatanthropic

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable
Workflow name
AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable

Who’s it for

Recruiting agencies, executive search firms, and in-house talent teams that want to automate candidate sourcing and prequalification. Instead of spending hours searching, scoring, and writing outreach, this workflow turns any job description into a ready-to-use shortlist with personalized messages.

Youtube Walkthrough

What it does (How it works)

This workflow takes a job description (title, description, and location) and runs a complete recruiting automation pipeline:

  • Normalize job titles and generate variations to widen search coverage.
  • Search candidates in Apollo (or your CRM / database of choice).
  • Remove duplicates to keep clean lists.
  • Score candidates with AI (0–5) and provide concise reasoning across experience, industry, and seniority.
  • Enrich LinkedIn profiles (name, title, image, location, experience).
  • Create structured candidate assessments (summary, alignment, red flags, positives).
  • Generate outreach messages (email + LinkedIn DM) tailored to the candidate.
  • Write to Airtable for job/candidate tracking and downstream automation.

Everything is plug-and-play, with no manual searching or copy-pasting required.

Requirements

  • n8n (Cloud or self-hosted)
  • Airtable account + API access
  • Apollo API or your preferred candidate source
  • LLM provider: OpenAI or Anthropic
  • LinkedIn enrichment API (RapidAPI, Apify, etc.)

> ⚠️ Do not hardcode API keys in HTTP nodes. Always use Credentials in n8n.

Airtable table specifications

Create one base (e.g., Candidate Search – From Job Description) with two tables:

Jobs Table

  • Job Title (text)
  • Job Description (long text)
  • Job Location (text)
  • Candidates (linked to Candidates table)

Candidates Table

  • Core fields: Name, LinkedIn URL, Job Title, Location, Image URL, Job Searches (linked)
  • Assessment fields: Summary Fit Score, Executive Summary, Title Alignment, Skill Alignment, Industry Alignment, Seniority Alignment, Company Type Alignment, Educational Alignment, Potential Red Flags, Positive Signals, Final Recommendation, Next Steps Suggestion
  • Outreach fields: Email Subject, Email Body, LinkedIn Message

How to set up

  1. Connect credentials
    Add Airtable, Apollo/CRM, and OpenAI/Anthropic credentials under n8n Credentials.

  2. Create Airtable base/tables
    Follow the above spec for Jobs and Candidates. Match field names exactly to avoid mapping errors.

  3. Configure the trigger
    The workflow starts from a Form/Webhook node. It captures:

    • Job Title (required)
    • Job Description (required)
    • Location (required)
    • Target Companies (optional, comma-separated domains)
  4. Job title mutation
    The workflow uses an AI node to normalize the job title and generate up to 5 variations for broader candidate searches.

  5. Candidate search
    Apollo (or your CRM API) is queried with the generated titles and location filters. Results are deduped.

  6. AI scoring & structuring
    Candidates are scored 0–5 with clear reasoning (experience, industry, seniority, general fit). Profiles are formatted into structured JSON for Airtable.

  7. LinkedIn enrichment
    Enrichment API fetches missing data (geo, image, job history).

  8. Candidate assessment
    An AI model produces a full recruiter-ready evaluation (fit summary, strengths, red flags).

  9. Outreach generation
    The workflow drafts a concise cold email (<75 words) and LinkedIn DM (<60 words), consultative in tone.

  10. Write to Airtable
    All jobs and candidates (with assessments and outreach messages) are logged for review and integration.

How to customize

  • Swap Apollo with your CRM (Greenhouse, Bullhorn, etc.).
  • Adjust scoring prompts to match your niche (sales, engineering, healthcare).
  • Add custom filters for target companies or industries.
  • Change outreach tone to align with your brand voice.
  • Limit by score (e.g., only push candidates with score ≥4).

Security & best practices

  • Store all keys in n8n Credentials (never in nodes).
  • Use Set nodes to centralize editable variables (title, location, filters).
  • Always add sticky notes in your workflow explaining steps.
  • Rename nodes clearly for readability.

Troubleshooting

  • No candidates found? Loosen title variations or broaden location.
  • Low fit scores? Refine keywords and required skills in scoring prompts.
  • Airtable errors? Double-check Base ID, Table ID, and field names.
  • API rate limits? Enable batching/pagination and increase intervals.

SEO title:
Build candidate shortlists from a job description to Airtable with Apollo, AI scoring, and personalized outreach

Keywords: recruiting automation, Apollo people search, candidate enrichment, AI scoring, Airtable recruiting CRM, LinkedIn outreach, n8n workflow template

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 - On form submission

Type / Role
n8n-nodes-base.formTrigger - formTrigger
Config choices
Version 2.2

Block 2 - Edit Fields

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

Block 3 - Auto-fixing Output Parser

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

Block 4 - OpenAI Chat Model1

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

Block 5 - Structured Output Parser

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

Block 6 - Switch

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

Block 7 - Edit Fields1

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

Block 8 - LinkedIn Profile Enrichment

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 9 - OpenAI Chat Model2

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

Block 10 - Auto-fixing Output Parser1

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

Block 11 - OpenAI Chat Model3

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

Block 12 - Structured Output Parser1

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

Block 13 - Anthropic Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatAnthropic - lmChatAnthropic
Config choices
Version 1.3

Block 14 - Auto-fixing Output Parser2

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

Block 15 - OpenAI Chat Model4

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

Block 16 - Structured Output Parser2

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

Block 17 - Create Candidates in AirTable

Type / Role
n8n-nodes-base.airtable - airtable
Config choices
Version 2.1

Block 18 - Add Job to AirTable

Type / Role
n8n-nodes-base.airtable - airtable
Config choices
Version 2.1

Block 19 - Create Candidate Assessment

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.6

Block 20 - Limit

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

Block 21 - Limit1

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

Block 22 - Sticky Note

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

Block 23 - Sticky Note1

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

Block 24 - Sticky Note2

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

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

3. Summary Table

Workflow AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable
Complexity advanced
Nodes 40
Categories HR, AI Summarization
Author Fabian Herhold
Published 05 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8292/8292.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 AI recruiting pipeline: Job to candidate shortlist with Apollo & Airtable do?

Who’s it for Recruiting agencies, executive search firms, and in house talent teams that want to automate candidate sourcing and prequalification. Instead of spending hours searching, scoring, and ...

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 HR, AI Summarization use case.