Parse CVs from emails with OCR & GPT for Notion database
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
What this workflow does
This AI workflow has 10 nodes and runs on Gmail events. Along the way it connects OpenAI, Gmail and Notion. It also calls api.ocr.space over HTTP.
How it runs
Trigger: On Gmail events.
- Code: runs custom JavaScript code
- HTTP Request: calls api.ocr.space (POST)
- If: checks a condition and branches into true / false
- Message a model (OpenAI): uses OpenAI
- If: checks a condition and branches into true / false
- Map Fields (Edit Fields (Set)): sets 8 fields: message.content.full_name, message.content.email, message.content.location…
- Get many entries (Notion): get many (database page)
- If: checks a condition and branches into true / false
- Create entry (Notion): work with database page
Services it uses
HTTP calls to: api.ocr.space
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
- Still check Gmail Trigger below v1.4 runs as v1.4 (drafts skipped, max emails per poll) (Gmail Trigger).
Nodes used (7)
- OpenAI
@n8n/n8n-nodes-langchain.openAi - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Gmail Trigger
n8n-nodes-base.gmailTrigger - Code
n8n-nodes-base.code - Edit Fields (Set)
n8n-nodes-base.set - Notion
n8n-nodes-base.notion
From the author
It allows you to automate candidate retrieval and onboarding in your HR processes. How it works - It monitors a Gmail address for new emails with a PDF attachment - It expects the PDF to be a candidate’s CV, extracts the text using OCR, and then structures…