Quick overview
This workflow logs job postings sent via Telegram into Google Sheets using Anthropic Claude to extract structured fields, and generates an on-demand Telegram report (/report) that analyzes trends across all saved postings.
How it works
- Triggers when a new Telegram message is received by the bot.
- Checks the sender’s Telegram chat ID against an allowed user ID to block unauthorized access.
- If the message is "/report", reads all logged job rows from Google Sheets and sends them to Anthropic Claude to generate a short, Telegram-friendly market trends report.
- Sends the generated report back to the same Telegram chat.
- If the message is not "/report", sends the raw job posting text to Anthropic Claude to extract structured job data as JSON.
- Parses the JSON and appends a new row to Google Sheets with the extracted job details (company, role, seniority, requirements, tech stack, salary, location, domain, and key signal).
- Replies in Telegram to confirm the job entry was logged.
Setup
- Create a Telegram bot with @BotFather and add a Telegram credential in n8n with the bot token.
- Add an Anthropic credential (API key) and ensure the selected Claude model is available to your account.
- Create a Google Sheet with the required header columns (Date, Company, Role, Seniority, Hard Requirements, Tech Stack, Salary, Location, Domain, Key Signal) and share it with your Google service account email.
- Add Google Sheets service account credentials in n8n and set the target spreadsheet ID and sheet name in the configuration values.
- Replace the allowed Telegram chat ID in the authorization check so only your user can run the workflow.
Requirements
- Telegram Bot
- Anthropic API Key
- Google Service Account
- Google Sheet shared with Service Account and with headers: Date | Company | Role | Seniority | Hard Requirements | Tech Stack | Salary | Location | Domain | Key Signal