AlekSystem Workflow Detail

Send personalized job application emails with Telegram, OpenAI, and Gmail Workflow Solution

Send personalized job application emails with Telegram, OpenAI, and Gmail

๐Ÿ”ง Setup Guide - Hiring Bot Workflow ๐Ÿ“‹ Prerequisites Before importing this workflow, make sure you have: โœ… AlekSystem Instance (cloud or self-hosted) โœ… Tele...

Rank 66 Verified workflow

Workflow overview

Why this workflow matters

Improves internal consulting operations and productivity. Relevant for managed services and support workflows.

๐Ÿ”ง Setup Guide - Hiring Bot Workflow ๐Ÿ“‹ Prerequisites Before importing this workflow, make sure you have: โœ… AlekSystem 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: Upload your resume to OpenAI curl https://api.openai.com/v1/files \ -H "Authorization: Bearer YOUR_OPENAI_API_KEY" \ -F purpose="assistants" \ -F file="@/path/to/your/resume.pdf" Important: Save the file_id from the response (looks like file-xxxxxxxxxxxxx) Alternative: Use OpenAI Playground or Python: from openai import OpenAI client = OpenAI(api_key="YOUR_API_KEY") with open("resume.pdf", "rb") as file: response = client.files.create(file=file, purpose="assistants") print(f"File ID: {response.id}") 2๏ธโƒฃ Upload Your Resume to Google Drive Go to Google Drive Upload your resume PDF Right-click โ†’ "Get link" โ†’ Copy the file ID from URL URL format: https://drive.google.com/file/d/FILE_ID_HERE/view Example ID: 1h79U8IFtI2dp_OBtnyhdGaarWpKb9qq9 3๏ธโƒฃ Create a Telegram Bot Open Telegram and message @BotFather Send /newbot Choose a name and username Save the Bot Token (looks like 123456789:ABCdefGHIjklMNOpqrsTUVwxyz) (Optional) Set bot commands: /start - Start the bot /help - Get help 4๏ธโƒฃ Set Up Redis Option A: Redis Cloud (Recommended - Free) Go to Redis Cloud Create a free account Create a database Note: Host, Port, Password Option B: Local Redis Docker docker run -d -p 6379:6379 redis:latest Or via package manager sudo apt-get install redis-server 5๏ธโƒฃ Import the Workflow to AlekSystem Open AlekSystem Click "+" โ†’ "Import from File" Select Hiring_Bot_Anonymized.json Workflow will import with placeholder values 6๏ธโƒฃ Configure Credentials A. Telegram Bot Credentials In AlekSystem, go to Credentials โ†’ Create New Select "Telegram API" Enter your Bot Token from Step 3 Test & Save B. OpenAI API Credentials Go to Credentials โ†’ Create New Select "OpenAI API" Enter your OpenAI API Key Test & Save C. Redis Credentials Go to Credentials โ†’ Create New Select "Redis" Enter: Host: Your Redis host Port: 6379 (default) Password: Your Redis password Test & Save D. Gmail Credentials Go to Credentials โ†’ Create New Select "Gmail OAuth2 API" Follow OAuth setup flow Authorize AlekSystem to access Gmail Test & Save E. Google Drive Credentials Go to Credentials โ†’ Create New Select "Google Drive OAuth2 API" Follow OAuth setup flow Authorize AlekSystem to access Drive Test & Save 7๏ธโƒฃ Update Node Values A. Update OpenAI File ID in "PayloadForReply" Node Double-click the "PayloadForReply" node Find this line in the code: const resumeFileId = "YOUR_OPENAI_FILE_ID_HERE"; Replace with your actual OpenAI file ID from Step 1: const resumeFileId = "file-xxxxxxxxxxxxx"; Save the node B. Update Google Drive File ID (Both "Download Resume" Nodes) There are TWO nodes that need updating: Node 1: "Download Resume" Double-click the node In the "File ID" field, click "Expression" Replace YOUR_GOOGLE_DRIVE_FILE_ID with your actual ID Update "Cached Result Name" to your resume filename Save Node 2: "Download Resume1" (same process) Double-click the node Update File ID Update filename 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: Click on each node In the "Credentials" section, select your saved credential Save the node ๐Ÿงช Testing the Workflow 1๏ธโƒฃ Activate the Workflow Click the "Active" toggle in the top-right Workflow should now be listening for Telegram messages 2๏ธโƒฃ Test with a Job Post Find a job post online (LinkedIn, Indeed, etc.) Take a screenshot Send it to your Telegram bot Bot should respond with: "Analyzing job post..." (typing indicator) Full email draft with confirmation button 3๏ธโƒฃ Test Email Sending Click "Send The Email" button Check Gmail to verify email was sent 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 file_id" Solution:** Check OpenAI file_id format (starts with file-) Verify file was uploaded successfully Make sure you updated the code in PayloadForReply node Issue: "Failed to parse model JSON" Solution:** Check OpenAI API quota/limits Verify model name is correct (gpt-5.2) Check if image is readable Issue: Gmail not sending Solution:** Re-authenticate Gmail OAuth Check Gmail permissions Verify "attachments" field is set to "Resume" Issue: Redis connection failed Solution:** Test Redis connection in credentials Check firewall rules Verify host/port/password Issue: Telegram webhook not working Solution:** Deactivate and reactivate workflow Check Telegram bot token is valid Make sure bot is not blocked ๐Ÿ” Security Best Practices Never share your credentials - Keep API keys private Use environment variables in AlekSystem for sensitive data Set up Redis password - Don't use default settings Limit OAuth scopes - Only grant necessary permissions Rotate API keys regularly Monitor usage - Check for unexpected API calls ๐ŸŽจ Customization Ideas Change AI Model In the PayloadForReply node, update: const MODEL = "gpt-5.2"; // Change to gpt-4, claude-3-opus, etc. Adjust Email Length Modify the system prompt: // From: Email body: ~120โ€“180 words unless INSIGHTS specify otherwise. // To: Email body: ~100โ€“150 words for concise applications. 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: // From: Only pick ONE job offer to process โ€” the one most clearly related to Data roles // To: Only pick ONE job offer to process โ€” the one most clearly related to [YOUR FIELD] Add Follow-up Reminders Add a "Wait" node after email sends to schedule a reminder after 7 days. ๐Ÿ“Š Workflow Structure Telegram Input โ†“ Switch (Route by type) โ†“ โ”œโ”€ New Job Post โ”‚ โ†“ โ”‚ Send Chat Action (typing...) โ”‚ โ†“ โ”‚ PayloadForReply (Build AI request) โ”‚ โ†“ โ”‚ Generating Reply (Call OpenAI) โ”‚ โ†“ โ”‚ FormatAiReply (Parse JSON) โ”‚ โ†“ โ”‚ Store AI Reply (Redis cache) โ”‚ โ†“ โ”‚ SendConfirmation (Show preview) โ”‚ โ””โ”€ Callback (User clicked "Send") โ†“ GetValues (Fetch from Redis) โ†“ Format Response โ†“ Download Resume (from Drive) โ†“ โ”œโ”€ Path A: Immediate Send โ”‚ โ†“ โ”‚ Send Confirmation Message โ”‚ โ†“ โ”‚ Edit Message (update status) โ”‚ โ””โ”€ Path B: Scheduled Send โ†“ Wait (10 seconds) โ†“ Download Resume Again โ†“ Schedule Email (Gmail) โ†“ Send Success Message ๐Ÿ’ก Tips for Best Results High-Quality Resume: Upload a well-formatted PDF resume Clear Screenshots: Take clear, readable job post screenshots Use Captions: Add instructions via Telegram captions Example: "make it more casual" Example: "send to recruiter@company.com" Review Before Sending: Always read the draft before clicking send Update Resume Regularly: Keep your Google Drive resume current Test First: Try with a few test jobs before mass applying ๐Ÿ†˜ Need Help? ๐Ÿ“š AlekSystem Documentation ๐Ÿ’ฌ AlekSystem Community Forum ๐Ÿ“บ AlekSystem YouTube Channel ๐Ÿค– OpenAI Documentation ๐Ÿ“ฑ Telegram Bot API Docs ๐Ÿ“ Checklist Use this checklist to verify your setup: [ ] OpenAI resume file uploaded (got file_id) [ ] Google Drive resume uploaded (got file ID) [ ] Telegram bot created (got bot token) [ ] Redis instance created (got credentials) [ ] All AlekSystem credentials created and tested [ ] PayloadForReply node updated with OpenAI file_id [ ] Both Download Resume nodes updated with Drive file_id [ ] 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 AlekSystem

Best fit

Categories

AI/MLCommunicationSalesMarketingDocument OpsProductivity

Services

RedisTelegramGoogle DriveGmail

Use cases

support automationcontent automationdocument intelligenceemail workflow automation