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

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
Download the workflow JSON file after purchase.
Open n8n β click the menu β Import from File.
Select the downloaded JSON and import.
Set up credentials for each node that requires them.
Click Execute Workflow to test, then activate.
Setup guide included
Purchase to unlock the full step-by-step guide
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.
Need help setting this up?
Book a 3-hour live setup session with an Agility consultant.