Automated resume tailoring with Telegram Bot, LinkedIn & OpenRouter AI
Ready for 3.0What this workflow does
This AI workflow has 16 nodes and runs on Telegram events (message). Along the way it connects OpenRouter Chat Model and Telegram. It also calls gist.githubusercontent.com over HTTP.
How it runs
Trigger: On Telegram events (message).
- IsLinkedinUrl (If): checks a condition and branches into true / false
- SetJobLink (Edit Fields (Set)): sets 1 field: job_link
- GetJsonResume (HTTP Request): calls gist.githubusercontent.com
- MapJob (Code): runs custom JavaScript code
- SetAllFields (Edit Fields (Set)): sets 4 fields: jd, resume_schema, job_id…
- GetJobHTML (HTTP Request): calls an HTTP API
- GetTailoredJsonResume (Basic LLM Chain): sends a prompt to an LLM, with model: OpenRouter Chat Model; output parser: EnsureJsonResumeSchema
- ParseJobHTML (HTML): parses or builds HTML
- SetJsonResume (Edit Fields (Set)): sets or maps fields
- GenerateResume (HTTP Request): calls an HTTP API (POST)
…plus 3 more steps. See the full node list below.
Services it uses
HTTP calls to: gist.githubusercontent.com
Scraping pages by hand? Firecrawl is a simpler option (10% off for new users).
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 (10)
- OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter - Telegram
n8n-nodes-base.telegram - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured - Edit Fields (Set)
n8n-nodes-base.set - HTTP Request
n8n-nodes-base.httpRequest - If
n8n-nodes-base.if - Code
n8n-nodes-base.code - HTML
n8n-nodes-base.html - Telegram Trigger
n8n-nodes-base.telegramTrigger
From the author
This n8n workflow lets you effortlessly tailor your resume for any job using Telegram and LinkedIn. Simply send a LinkedIn job URL or paste a job description to the Telegram bot, and the workflow will: Extract the job information (using optional proxy if…