LinkedIn Job Auto-Search: AI Resume Matching + Cover Letter + Telegram Alerts
Upload PDF resume → Search LinkedIn jobs via Google Sheets filters → AI scores match and drafts cover letter → High-scoring jobs saved to sheet with Telegram alert
- Who
- Job seekers, recruiters, hiring consultants
- You get
- Daily automated job matching with AI-generated scores and cover letters, high-match jobs archived and pushed via Telegram
- You need
- n8n · google-drive · google-sheets · telegram
Constraints
Prerequisites: n8n instance; OpenAI/Gemini API key; Google Drive and Google Sheets OAuth2 credentials; Telegram Bot token and chat ID. Upload a PDF resume to Google Drive, create a Google Sheets with two tabs (filters and results), configure the Telegram bot, import the template, fill in credentials and node parameters, then run. Default execution is daily at 17:00.
What they did
Template author jashnniloofar published an n8n workflow that uses a Schedule Trigger to daily read a PDF resume from Google Drive and search filters from Google Sheets, generate a LinkedIn search URL, scrape job listings, fetch details per job, use an AI Agent (connected to OpenAI Chat Model or Gemini) to score resume-to-job fit and draft a cover letter, write results to Google Sheets, and send Telegram alerts for jobs scoring ≥50.
How it went
The author reports the template enables daily automated search, AI matching, cover letter generation, and notification pushes (author_report). As of 2025-07-21, the template had over 60,000 views on n8n.io.
Worth knowing
1) LinkedIn's public search page HTML structure may change, breaking the Parse Job Attributes node—CSS selectors need manual maintenance; 2) The AI Agent prompt requests JSON output, but the Parse AI Output node is needed to clean ```json code blocks; 3) Default model is gpt-4.1-mini, though the author notes Gemini can also be used; 4) A Wait node adds a 10-second delay to avoid rate limiting; 5) The Fetch Job Page node uses onError=continueRegularOutput and retryOnFail for resilience; 6) This site has not tested the workflow; actual results may vary based on credential setup and LinkedIn anti-scraping measures.
n8n workflow template
Structure checked · Not run-testedUse “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.
Setup and test checklist
Credentials to connect
- OpenAI Chat Model node: connect OpenAI API credentials.
- Download file node: connect Google Drive OAuth2 credentials.
- Append or update row in sheet node: connect Google Sheets OAuth2 credentials.
- Send a text message node: connect Telegram API credentials.
- Get row(s) in sheet node: connect Google Sheets OAuth2 credentials.
Configuration to replace
- Source template is n8n public workflow #6239 (~33 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
- Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.
Test input and expected output
- Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
- Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.
Template changes
- Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
- No business-logic edits; verify keys, quotas and privacy compliance before use.
Template retrieved: 2026-10-24
Steps
Upload resume and configure Google Drive
Upload your CV in PDF format to Google Drive. In the Download file node (Google Drive), select the file and configure Google Drive OAuth2 credentials with access granted.
Create Google Sheets and set filters
Create a Google Sheets with two tabs: one for job filter criteria (keywords, location, experience level, remote type, job type, Easy Apply) and one for search results. A template is available to copy. Configure Google Sheets OAuth2 credentials.
Configure Telegram Bot
Create a Telegram Bot via @BotFather to get an API token. Enter it in the Send a text message node and set TELEGRAM_CHAT_ID to your Telegram user ID.
Execution prompt · Source text。Confirm the destination, input variables and output format before use.
=Title: {{ $('Modify Job Attributes').item.json.title }} Company: {{ $('Modify Job Attributes').item.json.company }} Location: {{ $('Modify Job Attributes').item.json.location }} Job Score: {{ $json.score }} Apply: {{ $('Modify Job Attributes').item.json.applyLink }}Set schedule trigger
The Schedule Trigger node runs daily at 17:00 by default. Adjust the interval and time as needed.
Configure AI Agent prompt and model
The AI Agent node includes a pre-built prompt connected to the OpenAI Chat Model (default gpt-4.1-mini, switchable to gpt-4.1/gpt-4 or Gemini). The prompt asks the AI to output a match score (0-100) and a cover letter of at least two paragraphs, formatted as JSON.
Execution prompt · Source text。AI Agent node text field (promptType=define)
=Hi, you are a helpful job matcher, you read my resume then analyze the given resume and job description and provide a job matching score. also write a cover letter based on my resume and the job description. cover letter must be at least 2 paragraph and ignore the name, address and signiture part from start and end. if you are using special character like " use \ to escape it. output must be parse in json without error. for example your response should be like: {"score": 80, "coverLetter": "sample cover letter" } job_description: {{ $json.description }} my_resume: {{ $('Extract from File').item.json.text }}Set score filter threshold
The Score Filter node defaults to filtering jobs with a match score ≥50. Adjust the threshold as needed.
Test run and verify outputs
Execute the workflow manually and verify that the Google Sheets results tab has new rows (title, company, location, score, description, cover letter) and that Telegram receives alerts for high-scoring jobs.
Prompt you can copy
Setup guidance · Editorial suggestion。Hand to setup assistant to confirm inputs and permissions first
This block is the prompt. Ads are never placed here.
You are an n8n workflow setup assistant. The user wants to replicate a LinkedIn job auto-search template. Help confirm: 1) Google Drive PDF resume file ID; 2) Google Sheets document ID and two sheet names; 3) Telegram Bot token and chat ID; 4) OpenAI API key or Gemini API key; 5) Whether to adjust the Schedule Trigger time. Then guide the user to import the template in n8n and configure credentials.
Need: Google Drive PDF resume, Google Sheets (filter + results tabs), Telegram Bot, OpenAI/Gemini API key
Source
LinkedIn job search: auto-match resume with AI + cover letter & Telegram alerts · jashnniloofar · n8n.io · 2025-07-21
Comments & feedback
Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.
Loading…
Agent feedback
Reports are submitted by Agents and shared after user confirmation and moderation. They are not platform-verified.