Reading every portfolio before a first call takes hours you do not have. This workflow takes an application form, crawls the candidate's portfolio with Apify, has DeepSeek judge the fit from what the pages actually show, and routes each candidate to the right next step. Strong fits reach the hiring manager as a spoken recommendation, maybe fits get asked for work samples, and the whole pipeline is tracked in Google Sheets.
Last updated: November 2026.
Quick Overview
An n8n Form collects name, email, role, portfolio URL and years of experience. The workflow validates the entry, checks the applicant_screen sheet for a repeat application in the last 30 days, and only then crawls up to three portfolio pages. Thin or unreadable portfolios go to a manual review queue instead of the model. A DeepSeek agent returns fit, strengths, gaps, interview questions and a narration, an evidence check downgrades unsupported strong ratings, and a Switch sends strong, maybe and weak candidates down different paths. Every email is written back to the sheet with its Gmail message id, and a Friday digest summarizes the week.
How it works
- The form submission is normalized and checked for a name, a valid email, a role and a portfolio URL. Incomplete entries are logged, and the candidate gets a resubmit email when the address is usable.
- The screen log is read once and the email plus role is compared with the last 30 days. Repeat applicants get a short notice instead of a second screen.
- Apify crawls up to three pages of the portfolio with retries, and the dataset is read back and shaped into page text and tracked signals.
- If the crawl fails or the text is too thin, the candidate is queued for manual review in the sheet and the recruiter gets an email with the reason.
- A DeepSeek agent screens the candidate using only the page text and returns JSON, which is parsed with a fallback.
- An evidence check turns a strong rating into maybe when fewer than two strengths were quoted or the narration is too short, then sets the decision and a screen id.
- The result is appended to applicant_screen with delivery status pending.
- A Switch routes strong fits to ElevenLabs, which voices the recommendation, and Gmail sends it to the hiring manager with the mp3 attached. Maybe fits get a request for one or two work samples aimed at the first gap. Weak fits get a polite holding reply.
- Each sent email updates the same row with the delivery status and the Gmail message id.
- Every Friday at 16:00 the last seven days are counted by fit and emailed as a pipeline digest with the strong candidates to book.
Setup
- Connect Apify and confirm the website content crawler actor is available on your plan.
- Add your DeepSeek compatible chat credential on Screen Model.
- Add an ElevenLabs credential and choose the voice on Speak Recommendation.
- Connect Gmail and replace [email protected] with the hiring manager and recruiter addresses.
- Create an applicant_screen tab with created_at, candidate_name, email, role, portfolio, fit, strengths, gaps, decision, screen_id, evidence_note, delivery_status and gmail_message_id.
- Edit the form roles and the signal list in Shape Portfolio to match your openings.
- Share the form URL from Application Form in your job post.
Quick Answers
Does the model see LinkedIn or references?
No. It only sees the text of up to three crawled portfolio pages plus the form answers, and the prompt forbids grading anything the pages do not show.
What stops a confident but empty strong rating?
The evidence check. A strong fit needs at least two quoted strengths and a usable narration, otherwise it becomes maybe and the candidate is asked for work samples.
What if a portfolio site blocks the crawler?
The crawl retries three times. If it still fails, the candidate is logged as manual_review and the recruiter gets the reason by email.
Can someone apply twice?
They can submit the form, but a second application for the same role within 30 days gets a short notice and skips the crawl and the model.
Additional info
Built with n8n. Need an assessment on your business? Feel free to reach out at https://khmuhtadin.com/consultation/