Automate job search with LinkedIn, Google Sheets & AI
Ready for 3.0What this workflow does
This AI workflow has 20 nodes and runs on a schedule (every day at 05:00). Along the way it connects Google Drive, Google Sheets, Google Gemini Chat Model and Gmail.
How it runs
Trigger: On a schedule (every day at 05:00).
- Download file (Google Drive): download
- Extract from File: extracts data from a file (pdf)
- Get row(s) in sheet (Google Sheets): uses Google Sheets
- LinkedIn Search URL (Code): runs custom JavaScript code
- Fetch jobs from LinkedIn (HTTP Request): calls an HTTP API
- HTML: parses or builds HTML
- Split Out: splits a list into separate items
- Loop Over Items (Loop Over Items (Split in Batches)): loops over the items in batches
- Send a message (Gmail): uses Gmail
- Wait: waits 2 seconds
…plus 7 more steps. See the full node list below.
Services it uses
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.
Nodes used (14)
- Google Drive
n8n-nodes-base.googleDrive - Extract from File
n8n-nodes-base.extractFromFile - Google Sheets
n8n-nodes-base.googleSheets - Code
n8n-nodes-base.code - HTTP Request
n8n-nodes-base.httpRequest - HTML
n8n-nodes-base.html - Split Out
n8n-nodes-base.splitOut - Loop Over Items (Split in Batches)
n8n-nodes-base.splitInBatches - Wait
n8n-nodes-base.wait - Edit Fields (Set)
n8n-nodes-base.set - AI Agent
@n8n/n8n-nodes-langchain.agent - Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini - Gmail
n8n-nodes-base.gmail - Schedule Trigger
n8n-nodes-base.scheduleTrigger
From the author
When I was applying for roles, I learned the hard way that a one-size-fits-all resume never wins. I obsessively tailored my resume for each posting, reflecting the exact scope, impact, and stack the team cared about. That’s when the callbacks really started…