Send personalized job application emails with Telegram, OpenAI, and Gmail
Setup Guide - Hiring Bot Workflow []( π Prerequisites Before importing this workflow, make sure you have: - β n8n Instance (cloud or self-hosted) - β Telegram Bot Token (from @BotFather) - β OpenAI API Key (with GPT-4 Vision access) - β Gmail Account (with OAuth setup) - β Google Drive (to store your resume) - β Redis Instance (free tier available at Redis Cloud) --- π Step-by-Step Setup 1οΈβ£ Upload Your Resume to OpenAI First, you need to upload your resume to OpenAI's Files API: Important: Save
At a glance
Send personalized job application emails with Telegram, OpenAI, and Gmail is a ready-made n8n workflow you import as a workflow JSON file β no build required. It connects Gmail, OpenAI, WordPress, Google Drive. It's free to download. Follow the 5-step import below to go live in minutes.
- Platform
- n8n
- Connects
- Gmail, OpenAI, WordPress, Google Drive, Telegram, LinkedIn
- Modules
- 18
- Price
- Free
- Version
- v1.0

About this workflow
Setup Guide - Hiring Bot Workflow []( π Prerequisites Before importing this workflow, make sure you have: - β n8n Instance (cloud or self-hosted) - β Telegram Bot Token (from @BotFather) - β OpenAI API Key (with GPT-4 Vision access) - β Gmail Account (with OAuth setup) - β Google Drive (to store your resume) - β Redis Instance (free tier available at Redis Cloud) --- π Step-by-Step Setup 1οΈβ£ Upload Your Resume to OpenAI First, you need to upload your resume to OpenAI's Files API: Important: Save the fileid from the response (looks like file-xxxxxxxxxxxxx) Alternative: Use OpenAI Playground or Python: --- 2οΈβ£ Upload Your Resume to Google Drive 1. Go to Google Drive 2. Upload your resume PDF 3. Right-click β "Get link" β Copy the file ID from URL - URL format: - Example ID: 1h79U8IFtI2dpOBtnyhdGaarWpKb9qq9 --- 3οΈβ£ Create a Telegram Bot 1. Open Telegram and message @BotFather 2. Send /newbot 3. Choose a name and username 4. Save the Bot Token (looks like 123456789:ABCdefGHIjklMNOpqrsTUVwxyz) 5. (Optional) Set bot commands: --- 4οΈβ£ Set Up Redis Option A: Redis Cloud (Recommended - Free) 1. Go to Redis Cloud 2. Create a free account 3. Create a database 4. Note: Host, Port, Password Option B: Local Redis --- 5οΈβ£ Import the Workflow to n8n 1. Open n8n 2. Click "+" β "Import from File" 3. Select HiringBotAnonymized.json 4. Workflow will import with placeholder values --- 6οΈβ£ Configure Credentials A. Telegram Bot Credentials 1. In n8n, go to Credentials β Create New 2. Select "Telegram API" 3. Enter your Bot Token from Step 3 4. Test & Save B. OpenAI API Credentials 1. Go to Credentials β Create New 2. Select "OpenAI API" 3. Enter your OpenAI API Key 4. Test & Save C. Redis Credentials 1. Go to Credentials β Create New 2. Select "Redis" 3. Enter: - Host: Your Redis host - Port: 6379 (default) - Password: Your Redis password 4. Test & Save D. Gmail Credentials 1. Go to Credentials β Create New 2. Select "Gmail OAuth2 API" 3. Follow OAuth setup flow 4. Authorize n8n to access Gmail 5. Test & Save E. Google Drive Credentials 1. Go to Credentials β Create New 2. Select "Google Drive OAuth2 API" 3. Follow OAuth setup flow 4. Authorize n8n to access Drive 5. Test & Save --- 7οΈβ£ Update Node Values A. Update OpenAI File ID in "PayloadForReply" Node 1. Double-click the "PayloadForReply" node 2. Find this line in the code: 3. Replace with your actual OpenAI file ID from Step 1: 4. Save the node B. Update Google Drive File ID (Both "Download Resume" Nodes) There are TWO nodes that need updating: Node 1: "Download Resume" 1. Double-click the node 2. In the "File ID" field, click "Expression" 3. Replace YOURGOOGLEDRIVEFILEID with your actual ID 4. Update "Cached Result Name" to your resume filename 5. Save Node 2: "Download Resume1" (same process) 1. Double-click the node 2. Update File ID 3. Update filename 4. Save --- 8οΈβ£ Assign Credentials to Nodes After importing, you need to assign your credentials to each node: Nodes that need credentials: | Node Name | Credential Type | |-----------|----------------| | Telegram Trigger | Telegram API | | Generating Reply | OpenAI API | | Store AI Reply | Redis | | GetValues | Redis | | Download Resume | Google Drive OAuth2 | | Download Resume1 | Google Drive OAuth2 | | Schedule Email | Gmail OAuth2 | | SendConfirmation | Telegram API | | Send a message | Telegram API | | Edit a text message | Telegram API | | Send a text message | Telegram API | | Send a chat action | Telegram API | How to assign: 1. Click on each node 2. In the "Credentials" section, select your saved credential 3. Save the node --- π§ͺ Testing the Workflow 1οΈβ£ Activate the Workflow 1. Click the "Active" toggle in the top-right 2. Workflow should now be listening for Telegram messages 2οΈβ£ Test with a Job Post 1. Find a job post online (LinkedIn, Indeed, etc.) 2. Take a screenshot 3. Send it to your Telegram bot 4. Bot should respond with: - "Analyzing job post..." (typing indicator) - Full email draft with confirmation button 3οΈβ£ Test Email Sending 1. Click "Send The Email" button 2. Check Gmail to verify email was sent 3. Check if resume was attached --- π Troubleshooting Issue: "No binary image found" - Solution: Make sure you're sending an image file, not a document Issue: "Invalid resume fileid" - Solution: 1. Check OpenAI fileid format (starts with file-) 2. Verify file was uploaded successfully 3. Make sure you updated the code in PayloadForReply node Issue: "Failed to parse model JSON" - Solution: 1. Check OpenAI API quota/limits 2. Verify model name is correct (gpt-5.2) 3. Check if image is readable Issue: Gmail not sending - Solution: 1. Re-authenticate Gmail OAuth 2. Check Gmail permissions 3. Verify "attachments" field is set to "Resume" Issue: Redis connection failed - Solution: 1. Test Redis connection in credentials 2. Check firewall rules 3. Verify host/port/password Issue: Telegram webhook not working - Solution: 1. Deactivate and reactivate workflow 2. Check Telegram bot token is valid 3. Make sure bot is not blocked --- π Security Best Practices 1. Never share your credentials - Keep API keys private 2. Use environment variables in n8n for sensitive data 3. Set up Redis password - Don't use default settings 4. Limit OAuth scopes - Only grant necessary permissions 5. Rotate API keys regularly 6. Monitor usage - Check for unexpected API calls --- π¨ Customization Ideas Change AI Model In the PayloadForReply node, update: Adjust Email Length Modify the system prompt: Add More Languages Update language detection logic in the system prompt to support more languages. Custom Job Filtering Edit the system prompt to target specific roles: Add Follow-up Reminders Add a "Wait" node after email sends to schedule a reminder after 7 days. --- π Workflow Structure --- π‘ Tips for Best Results 1. High-Quality Resume: Upload a well-formatted PDF resume 2. Clear Screenshots: Take clear, readable job post screenshots 3. Use Captions: Add instructions via Telegram captions - Example: "make it more casual" - Example: "send to recruiter@company.com" 4. Review Before Sending: Always read the draft before clicking send 5. Update Resume Regularly: Keep your Google Drive resume current 6. Test First: Try with a few test jobs before mass applying --- π Need Help? - π n8n Documentation - π¬ n8n Community Forum - πΊ n8n YouTube Channel - π€ OpenAI Documentation - π± Telegram Bot API Docs --- π Checklist Use this checklist to verify your setup: - [ ] OpenAI resume file uploaded (got fileid) - [ ] Google Drive resume uploaded (got file ID) - [ ] Telegram bot created (got bot token) - [ ] Redis instance created (got credentials) - [ ] All n8n credentials created and tested - [ ] PayloadForReply node updated with OpenAI fileid - [ ] Both Download Resume nodes updated with Drive fileid - [ ] All nodes have credentials assigned - [ ] Workflow activated - [ ] Test message sent successfully - [ ] Test email received successfully --- π You're all set! Start applying to jobs in 10 seconds! Made with β€οΈ and n8n
How to import this n8n workflow
- 1
Download the workflow JSON file after purchase.
- 2
Open n8n β click the menu β Import from File.
- 3
Select the downloaded JSON and import.
- 4
Set up credentials for each node that requires them.
- 5
Click Execute Workflow to test, then activate.
Setup guide
Setup guide included
Purchase to unlock the full step-by-step guide
Related N8n workflows
Import files from Egnyte to Google Drive
Analyze images with OpenAI and update ManyChat subscriber custom fields
Create a PostgreSQL table row from a new WordPress post
AI-powered HR interview system with BeyondPresence
Monitor Microsoft email messages and generate responses with ChatGPT
Send weekly personalized pet health tips with GPT-4o-mini, Gmail and Google Sheets
Automated job applications & status tracking with LinkedIn, Indeed & Google Sheets
CYBERPULSE AI RedOps: Role-based LinkedIn profile discovery with Google OSINT
Reviews
No reviews yet
Be the first to buy and share your experience.
Leave a review
Sign in to share your experience with this workflow.
Create a free account to purchase workflows.
- JSON blueprint β instant download
- Setup guide PDF included
- 5 downloads Β· valid 30 days
- Works with n8n
Need help setting this up?
Book a 3-hour live setup session with an Agility consultant.
- Configure live on Google Meet / Zoom
- Free follow-up if workflow has defects
- Platform expert assigned to you