
Post: 7 Steps to Automate Candidate Screening with n8n and Greenhouse in 2026
Seven steps connect n8n to Greenhouse ATS for automated candidate screening, cutting the time from application received to scored shortlist from 4 hours to under 10 minutes. The integration parses resumes, scores them against a rubric, writes results back to Greenhouse, and routes exceptions to human review — without a recruiter touching the keyboard. Here is the exact build sequence.
Step 1: What Greenhouse Harvest API Credentials Do You Need?
Generate a Harvest API key in Greenhouse with read access to Applications and Candidates and write access to Custom Fields. Store the key in n8n’s credential store — never in a workflow node directly. This separation ensures the key survives workflow edits without re-entry. The Harvest API rate limit is 50 requests per 10 seconds; build a 200ms delay node after every batch call to stay within limits.
Step 2: How Do You Trigger the n8n Workflow on New Applications?
Configure a Greenhouse webhook to fire on the application.submitted event, pointing to your n8n webhook URL. In n8n, use a Webhook node as the trigger. Immediately after the trigger, write the raw payload to a log table so you have a receipt even if the workflow fails mid-run. This two-step pattern — receive, log, then process — is the OpsMap™ standard for all high-stakes HR automation triggers. See the Make.com HR Workflow guide for parallel patterns in Make.com™ environments.
Step 3: How Do You Extract the Resume for Parsing?
Use n8n’s HTTP Request node to call the Harvest API GET /v1/applications/{id}/attachments endpoint and retrieve the resume URL. Download the file to n8n’s binary data field, then send it to your AI parsing service (Affinda, Sovren, or equivalent) via a second HTTP Request node with a multipart/form-data body. The parser returns a structured JSON object containing skills, experience, education, and contact fields — this JSON is your scoring input.
Step 4: How Do You Score the Parsed Resume in n8n?
Add a Code node immediately after the parser response. In the code node, implement your scoring rubric: required skills intersection (40 pts), experience years check (20 pts), education match (15 pts), location fit (15 pts), keyword density (10 pts). The code node outputs a total score and a JSON breakdown. This logic runs in under 500ms per resume and scales to any volume without additional infrastructure cost.
Step 5: How Do You Write the Score Back to Greenhouse?
Use the Harvest API PATCH /v1/applications/{id} endpoint to write the total score and dimension breakdown to custom fields you created in your Greenhouse configuration. Standard custom field names: ai_screening_score, ai_screening_breakdown, ai_screening_date. Writing back to Greenhouse creates a permanent audit trail that survives n8n configuration changes or vendor switches.
Step 6: How Do You Route Candidates Based on Score?
Add an IF node after the score write. Candidates with scores above 65 advance to a “Shortlist” Greenhouse stage via the POST /v1/applications/{id}/advance endpoint. Candidates below 65 receive an automated acknowledgment email via Greenhouse’s email API and are marked “Screened Out.” Parse exceptions (confidence below 80%) route to a Greenhouse stage called “Manual Review” with a Slack notification to the recruiting team.
Step 7: How Do You Monitor the n8n-Greenhouse Integration for Failures?
Enable n8n’s error workflow feature and configure it to write every failed execution to a Teamwork™ task with the application ID, error message, and timestamp. Set a daily summary that counts executions, success rate, and average processing time. Alert if success rate drops below 95% in any 24-hour window. David’s manufacturing HR team runs 150–300 applications per week through this integration and targets 98%+ success rate — achievable with proper error handling in Steps 2 and 4.
Expert Take — Jeff Arnold, 4Spot Consulting™
n8n is a strong alternative to Make.com™ for teams that need self-hosted deployment or prefer the code-node approach for complex scoring logic. The Greenhouse integration is well-documented and stable. The one failure point I see repeatedly is the resume download step — binary data handling in n8n requires careful node configuration. Test with 20 real resumes in different formats before going live.
Key Takeaways
- Store Greenhouse Harvest API keys in n8n credentials — never hard-code in nodes.
- Log every incoming webhook payload before processing to ensure receipt records.
- Download resumes via the Attachments API and send to a dedicated AI parsing service.
- Implement scoring rubric in a Code node for sub-500ms per-resume performance.
- Write scores back to Greenhouse custom fields for permanent ATS audit trails.
- Route on three paths: shortlist (65+), screened out (below 65), manual review (parse error).
- Monitor via n8n error workflows writing to Teamwork™; alert on sub-95% success rate.
Frequently Asked Questions
Is n8n or Make.com better for Greenhouse ATS integration?
Make.com™ is better for teams that want a visual builder with minimal code. n8n is better for teams that need self-hosted deployment, custom JavaScript logic in scoring nodes, or per-execution cost control at high volume. Both integrate with Greenhouse’s Harvest API; the choice depends on your technical capacity and hosting preferences.
Does n8n support the full Greenhouse Harvest API?
n8n’s Greenhouse node covers the most common endpoints. For advanced operations like custom field writes and stage advances, use n8n’s HTTP Request node with the Harvest API directly — this gives full API coverage without waiting for n8n’s native node to be updated.
How do you handle resumes in non-standard formats like LinkedIn PDFs?
LinkedIn PDF exports parse reliably with major AI parsers (Affinda, Sovren). The main format challenge is scanned image PDFs, which require OCR pre-processing before AI parsing. Add an OCR step (AWS Textract or equivalent) for any PDF where the text extraction node returns empty fields.

