Who is this for? This template is designed for internal support teams, product specialists, and knowledge managers in technology companies who want to automate ingestion of product documentation and enable AI-driven, retrieval-augmented question answering via WhatsApp. What problem is this workflow solving? Support agents often spend too much time manually searching through lengthy documentation, leading to inconsistent or delayed answers. This solution automates importing, chunking, and indexing product manuals, then uses retrieval-augmented generation (RAG) to answer user queries accurately and quickly with AI via WhatsApp messaging. What these workflows do Workflow 1: Document Ingestion & Indexing Manually triggered to import product documentation from Google Docs. Automatically splits large documents into chunks for efficient searching. Generates vector embeddings for each chunk using OpenAI embeddings. Inserts the embedded chunks and metadata into a MongoDB Atlas vector store, enabling fast semantic search. Workflow 2: AI-Powered Query & Response via WhatsApp Listens for incoming WhatsApp user messages, supporting various types: Text messages: Plain text queries from users. Audio messages: Voice notes transcribed into text for processing. Image messages: Photos or screenshots analyzed to provide contextual answers. Document messages: PDFs, spreadsheets, or other files parsed for relevant content. Converts incoming queries to vector embeddings and performs similarity search on the MongoDB vector store. Uses OpenAI’s GPT-4o-mini model with retrieval-augmented generation to produce concise, context-aware answers. Maintains conversation context across multiple turns using a memory buffer node. Routes different message types to appropriate processing nodes to maximize answer quality. Setup Setting up vector embeddings 1. Authenticate Google Docs and connect your Google Docs URL containing the product documentation you want to index. 2. Authenticate MongoDB Atlas and connect the collection where you want to store the vector embeddings. Create a search index on this collection to support vector similarity queries. 3. Ensure the index name matches the one configured in n8n (data_index). 4. See the example MongoDB search index template below for reference. Setting up chat 1. Authenticate the WhatsApp node with your Meta account credentials to enable message receiving and sending. 2. Connect the MongoDB collection containing embedded product documentation to the MongoDB Vector Search node used for similarity queries. 3. Set up the system prompt in the Knowledge Base Agent node to reflect your company’s tone, answering style, and any business rules, ensuring it references the connected MongoDB collection for context retrieval. Make sure Both MongoDB nodes (in ingestion and chat workflows) are connected to the same collection with: An embedding field storing vector data, Relevant metadata fields (e.g., document ID, source), and The same vector index name configured (e.g., data_index). Search Index Example: { "mappings": { "dynamic": false, "fields": { "_id": { "type": "string" }, "text": { "type": "string" }, "embedding": { "type": "knnVector", "dimensions": 1536, "similarity": "cosine" }, "source": { "type": "string" }, "doc_id": { "type": "string" } } } }
Apply to jobs automatically from Google Sheets with status tracking Who's it for Job seekers who want to streamline their application process, save time on repetitive tasks, and never miss following up on applications. Perfect for anyone managing multiple job applications across different platforms. What it does This workflow automatically applies to jobs from a Google Sheet, tracks application status, and keeps you updated with notifications. It handles the entire application lifecycle from submission to status monitoring. Key features: Reads job listings from Google Sheets with filtering by priority and status Automatically applies to jobs on LinkedIn, Indeed, and other platforms Updates application status in real-time Checks application status every 2 days and notifies you of changes Sends email notifications for successful applications and status updates Prevents duplicate applications and manages rate limiting How it works The workflow runs on two main schedules: Daily Application Process (9 AM, weekdays): 1. Reads your job list from Google Sheets 2. Filters for jobs marked as "Not Applied" with Medium/High priority 3. Processes each job individually to prevent rate limiting 4. Applies to jobs using platform-specific APIs (LinkedIn, Indeed, etc.) 5. Updates the sheet with application status and reference ID 6. Sends confirmation email for each application Status Monitoring (Every 2 days at 10 AM): 1. Checks all jobs with "Applied" status 2. Queries job platforms for application status updates 3. Updates the sheet if status has changed 4. Sends notification emails for status changes (interviews, rejections, etc.) Requirements Google account with Google Sheets access Gmail account for notifications Resume stored online (Google Drive, Dropbox, etc.) API access to job platforms (LinkedIn, Indeed) - optional for basic version n8n instance (self-hosted or cloud) How to set up Step 1: Create Your Job Tracking Sheet Create a Google Sheet with these exact column headers: | Job_ID | Company | Position | Status | Applied_Date | Last_Checked | Application_ID | Notes | Job_URL | Priority | |--------|---------|----------|--------|--------------|--------------|----------------|-------|---------|----------| | JOB001 | Google | Software Engineer | Not Applied | | | | | https://careers.google.com/jobs/123 | High | | JOB002 | Microsoft | Product Manager | Not Applied | | | | | https://careers.microsoft.com/jobs/456 | Medium | Column explanations: Job_ID: Unique identifier (JOB001, JOB002, etc.) Company: Company name Position: Job title Status: Not Applied, Applied, Under Review, Interview Scheduled, Rejected, Offer Applied_Date: Auto-filled when application is submitted Last_Checked: Auto-updated during status checks Application_ID: Platform reference ID (auto-generated) Notes: Additional information or application notes Job_URL: Direct link to job posting Priority: High, Medium, Low (Low priority jobs are skipped) Step 2: Configure Google Sheets Access 1. In n8n, go to Credentials → Add Credential 2. Select Google Sheets OAuth2 API 3. Follow the OAuth setup process to authorize n8n 4. Test the connection with your job tracking sheet Step 3: Set Up Gmail Notifications 1. Add another credential for Gmail OAuth2 API 2. Authorize n8n to send emails from your Gmail account 3. Test by sending a sample email Step 4: Update Workflow Configuration In the "Set Configuration" node, update these values: spreadsheetId: Your Google Sheet ID (found in the URL) resumeUrl: Direct link to your resume (make sure it's publicly accessible) yourEmail: Your email address for notifications coverLetterTemplate: Customize your cover letter template Step 5: Customize Application Logic For basic version (no API access): The workflow includes placeholder HTTP requests that you can replace with actual job platform integrations. For advanced version (with API access): Replace LinkedIn/Indeed HTTP nodes with actual API calls Add your API credentials to n8n's credential store Update the platform detection logic for additional job boards Step 6: Test and Activate 1. Add 1-2 test jobs to your sheet with "Not Applied" status 2. Run the workflow manually to test 3. Check that the sheet gets updated and you receive notifications 4. Activate the workflow to run automatically How to customize the workflow Adding New Job Platforms 1. Update Platform Detection: Modify the "Check Platform Type" node to recognize new job board URLs 2. Add New Application Node: Create HTTP request nodes for new platforms 3. Update Status Checking: Add status check logic for the new platform Customizing Application Strategy Rate Limiting: Add "Wait" nodes between applications (recommended: 5-10 minutes) Application Timing: Modify the cron schedule to apply during optimal hours Priority Filtering: Adjust the filter conditions to match your criteria Multiple Resumes: Use conditional logic to select different resumes based on job type Enhanced Notifications Slack Integration: Replace Gmail nodes with Slack for team notifications Discord Webhooks: Send updates to Discord channels SMS Notifications: Use Twilio for urgent status updates Dashboard Updates: Connect to Notion, Airtable, or other productivity tools Advanced Features AI-Powered Personalization: Use OpenAI to generate custom cover letters Job Scoring: Implement scoring logic based on job requirements vs. your skills Interview Scheduling: Auto-schedule interviews when status changes Follow-up Automation: Send follow-up emails after specific time periods Important Notes Platform Compliance Always respect rate limits to avoid being blocked Follow each platform's Terms of Service Use official APIs when available instead of web scraping Don't spam job boards with excessive applications Data Privacy Store credentials securely using n8n's credential store Don't hardcode API keys or personal information in nodes Regularly review and clean up old application data Ensure your resume link is secure but accessible Quality Control Start with a small number of jobs to test the workflow Review application success rates and adjust strategy Monitor for errors and set up proper error handling Keep your job list updated and remove expired postings This workflow transforms job searching from a manual, time-consuming process into an automated system that maximizes your application efficiency while maintaining quality and compliance.
Who’s it for This template is designed for anyone who wants to use Telegram as a personal AI assistant hub. If you often juggle tasks, emails, calendars, and expenses across multiple tools, this workflow consolidates everything into one seamless AI-powered agent. What it does Jarvis listens to your Telegram messages (text or audio) and processes them with OpenAI. Based on your request, it can: Manage tasks (create, complete, or delete) Handle calendar events (schedule, reschedule, or check availability) Send, draft, or fetch emails with Gmail Retrieve Google Contacts Log and track expenses All responses are returned directly to Telegram, giving you a unified command center. How to set up 1. Clone this template into your n8n workspace. 2. Connect your accounts (Telegram, Gmail, Google Calendar, Contacts, etc.). 3. Add your OpenAI API key in the Credentials section. 4. Test by sending a Telegram message like “Create a meeting tomorrow at 3pm” or “Add expense $50 for lunch.” or "Draft a reply with a project proposal to that email from Steve" Requirements n8n instance (cloud or self-hosted) Telegram Bot API credentials Gmail, Google Calendar, and Google Contacts credentials (optional, if using those features) OpenAI API key ElevenLabs API Key (optional, if you need audio note support) How to customize Swap Gmail with another email provider by replacing the Gmail MCP node. Add additional MCP integrations (e.g., Notion, Slack, CRM tools). Adjust memory length to control how much context Jarvis remembers. With this template, you can transform Telegram into your all-in-one AI assistant, simplifying workflows and saving hours every week.
Telegram Nutrition AI Assistant (Alternative to Cal AI App) > AI-powered nutrition assistant for Telegram — log meals, set goals, and get personalized daily reports with Google Sheets integration. Description This n8n template creates a Telegram-based Nutrition AI Assistant designed as an open-source alternative to the Cal AI mobile app. It allows users to interact with an AI agent via text, voice, or images to track meals, calculate macros, and monitor nutrition goals directly from Telegram. The system integrates Google Sheets as the database, handling both user profiles and meal logs, while leveraging Gemini AI for natural conversation, food recognition, and daily progress reports. Key Features Multi-input support: Text, voice messages (transcribed), and food images (AI analysis). Macro calculation: Automatic estimation of calories, proteins, carbs, and fats. User-friendly registration: Simple onboarding without storing personal health data (no weight/height required). Goal tracking: Users can set and update calorie and protein targets. Daily reports: Personalized progress messages with visual progress bars. Google Sheets integration: Profile table for user targets. Meals table for food logs. Advanced n8n nodes: Includes use of Merge, Subworkflow, and Code nodes for data processing and report generation. Acknowledgment Inspired by the Cal AI concept — this template demonstrates how to reproduce its main functionality with n8n, Telegram, and AI agents as a flexible, open-source automation workflow. Tags telegram ai-assistant nutrition meal-tracking google-sheets food-logging voice-transcription image-analysis daily-reports n8n-template merge-node subworkflow-node code-node telegram-trigger google-gemini Use Case Use this template if you want to: Log meals using text, images, or voice messages. Track nutrition goals (calories, proteins) with daily progress updates. Provide a chat-based nutrition assistant without building a full app. Store structured nutrition data in Google Sheets for easy access and analysis. Example User Interactions User sends a photo of a meal → AI analyzes the food and logs calories/macros. User sends a voice message → AI transcribes and logs the meal. User types “report” → AI returns a daily nutrition summary with progress bars. User says “update my protein goal” → AI updates profile in Google Sheets. Required Credentials Telegram Bot API (Bot Token) Google Sheets API credentials AI Provider API (Google Gemini or compatible LLM) Setup Instructions 1. Create two Google Sheets tables: Profile: User_ID, Name, Calories_target, Protein_target Meals: User_ID, Date, Meal_description, Calories, Proteins, Carbs, Fats 2. Configure the Telegram Trigger with your bot token. 3. Connect your AI provider credentials (Gemini recommended). 4. Connect Google Sheets with your credentials. 5. ▶ Deploy the workflow in n8n. 6. Start interacting with your nutrition assistant via Telegram. Extra Notes Green section: Handles Telegram trigger and user check. Red section: Registers new users and sets goals. Blue section: Processes text, voice, and images. Yellow section: Generates nutrition reports. Purple section: Main AI agent controlling tools and logic. --- Need Assistance? If you’d like help customizing or extending this workflow, feel free to reach out: Email: johnsilva11031@gmail.com LinkedIn: John Alejandro Silva Rodríguez
Who it's for This workflow is for professionals and small business owners who receive a high volume of emails and want to automate triage, labeling, and draft reply generation — without losing the human touch before sending. How it works 1. A Gmail trigger polls the inbox every minute for new unread emails and retrieves the current date. 2. The full email message is fetched, and any existing processing labels are stripped from the thread. 3. A Gemini 2.5 Pro AI Agent reads the email (and the full thread via a Gmail Thread tool), checks Google Calendar for availability, then classifies the email into one of six categories (Urgent, Reply, Read, Notification, Newsletter, Invoice) and drafts an HTML reply when needed. 4. A Switch node routes the output: emails requiring a reply (Urgent or Reply) pass through a JavaScript node that appends an HTML signature before saving the message as a Gmail draft. 5. All paths converge to fetch the matching Gmail label, filter for validity, apply it to the thread, and mark the message as unread so it surfaces for human review. How to set up [ ] Connect a Gmail OAuth2 credential to all Gmail nodes (trigger, fetch, remove label, draft, label, mark unread) [ ] Connect a Google Gemini (PaLM) API credential to the Gemini Chat Model node [ ] Connect a Google Calendar OAuth2 credential to the Google Calendar Tool node [ ] Configure the Gmail Trigger label/filter to match your inbox setup [ ] Update the label IDs in Remove Label from Thread, Get label for response, and Labelliser to match your Gmail labels [ ] Customize the HTML signature in the Build HTML Signature code node Requirements Gmail account with OAuth2 access Google Gemini (PaLM) API key Google Calendar account How to customize Adjust the AI Agent's system prompt to change tone, add new label categories, or modify the reply structure. Extend the Switch node with additional branches (e.g., forward to a team member, archive automatically, create a CRM task). Replace the Gmail draft step with a direct send for fully automated responses on low-risk categories like Notifications.
This n8n template automates the collection, storage, and summarization of technology news and discussions from the n8n Community and Reddit (r/n8n). If you like staying informed but want to reduce daily manual browsing distractions, this workflow is perfect for you. How it works User Intent Detection: The workflow receives your Telegram message and uses an AI Agent (powered by Gemini/Groq) to intelligently classify your intent (Search, Deep-dive, or Casual Chat). Multi-Platform Scraping: Automatically fetches the latest discussions, topics, and comments from the official n8n Community and Reddit via HTTP Requests. Smart Summarization: Extracts complex HTML content and uses the AI to provide concise overviews, or deep-dives into specific forum threads with full contextual history. Seamless Delivery: Formats the AI's response into clean, chunked Telegram messages (handling limits smoothly) and delivers it straight to your chat. Daily Pulse: A scheduled trigger automatically aggregates the hottest topics every morning to keep you updated. How to use 1. Connect your Telegram Bot account to n8n. 2. Connect your Google Gemini and Groq API credentials. 3. (Optional) Connect your MongoDB instance if you want to enable long-term persistent chat memory. 4. Update the Chat ID in the Telegram nodes to route the scheduled Daily Pulse directly to your personal account or group. 5. Activate the workflow and start messaging your new AI assistant. Requirements n8n Version: Built and tested on n8n 2.9.4+. (Note: You may encounter errors on older versions. It is highly recommended to update to the latest n8n version to use this workflow effectively). Telegram Bot token. Google Gemini & Groq API keys. (Optional) MongoDB connection string. Customizing this workflow Change the AI Model: Swap the Gemini or Groq nodes for OpenAI, Claude, or any other supported LLM. Expand the Sources: Duplicate the HTTP Request nodes and adjust the HTML extractors to monitor other platforms like Discord or StackOverflow. Adjust the Schedule: Prefer chat over daily emails? Change the Cron expression to receive weekly summaries or disable it entirely to rely purely on on-demand Telegram queries. --- About the Author Created by: Nguyen Thieu Toan (Jay Nguyen) Email: me@nguyenthieutoan.com Website: nguyenthieutoan.com Company: CEO/Founder of GenStaff (genstaff.net) - AI Staffing Solutions Socials (Facebook / X / LinkedIn): @nguyenthieutoan More templates: n8n.io/creators/nguyenthieutoan