Hey n8n Community,
A follow-up to my earlier CV summary workflow. The recruiter using that one hit a new bottleneck further down her pipeline: reference letters. They arrive as scanned email attachments, often several forwarded in a single email, and she was reading each one by hand to gauge whether it was positive and what the candidate’s strengths and weaknesses were.
This workflow handles that end to end:
A Gmail label triggers on incoming reference emails and downloads attachments
Multi-attachment emails are split so each letter is processed individually, with a filter that drops logos and footer images
Each letter is read into 10 structured fields: referee, relationship, duration known, strengths, weaknesses, would-rehire signal, and tone
A deterministic JavaScript step computes a 0–100 sentiment score, kept out of the LLM so it stays consistent across letters, plus a high/mid/low tier
One row per reference is appended to a Google Sheet, and the email is relabelled so it won’t be picked up again
Sorted by candidate and score, the sheet turns a pile of prose into something scannable.
Extraction uses the easybits Extractor node. It reads the scans directly and returns clean JSON; the schema fits the free plan at 10 fields.
Workflow JSON with sticky notes and full setup guide:
Open question for the community: I weighted the would-rehire signal most heavily in the score, with tone second. Curious whether others would balance those differently.
Best,
Felix
