Evaluate job fit and generate application assets from Telegram links with OpenAI, Pinecone, Apify and Google Sheets

Go to Workflow
0 views
Built by Harsh Goyal Harsh Goyal
Created on June 12, 2026

Description

Summary
This workflow automates the early-stage job application process using AI.

It:
accepts a job link from Telegram
extracts and normalizes the URL
scrapes the job page
evaluates job fit against resume context stored in Pinecone
asks for user approval if the role is a good match
generates application materials like:
cover letter
recruiter email draft
resume improvement suggestions
logs the application in Google Sheets
creates supporting files in Google Drive
sends status updates back on Telegram

Why this is useful
This helps reduce the manual effort involved in checking roles, deciding whether to apply, and preparing customized application material.

Stack used
n8n
Telegram
OpenAI
Pinecone
Apify
Google Sheets
Google Drive
Gmail

Workflow overview
User sends a job link on Telegram
AI extracts and validates the link
Job page is scraped and normalized
Resume context is retrieved from Pinecone
AI calculates fit score
If fit is low, user gets a rejection message
If fit is good, user is asked for approval
On approval, the workflow generates application assets
A tracker entry is added and the user gets a final update

Notes
Resume data is retrieved from a vector database
Application materials are generated only after approval
The workflow is designed to be modular and can be extended with auto-apply, ATS scoring, or multi-channel alerts later

Nodes Used (11)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Default Data Loader
@n8n/n8n-nodes-langchain.documentDefaultDataLoader
Embeddings OpenAI
@n8n/n8n-nodes-langchain.embeddingsOpenAi
Gmail
n8n-nodes-base.gmail
Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Pinecone Vector Store
@n8n/n8n-nodes-langchain.vectorStorePinecone
Recursive Character Text Splitter
@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter
Telegram
n8n-nodes-base.telegram