AI-Powered Employee Database Management via Telegram using OpenAI and Airtable
Who is this for? This workflow is perfect for: HR professionals seeking to automate employee and department management Startups and SMBs that want an AI-powered HR assistant on Telegram Internal operations teams that want to simplify onboarding and employee data tracking --- What problem is this workflow solving? Managing employee databases manually is error-prone and inefficient—especially for growing teams. This workflow solves that by: Enabling natural language-based HR operations directly through Telegram Automating the creation, retrieval, and deletion of employee records in Airtable Dynamically managing related data such as departments and job titles Handling data consistency and linking across relational tables automatically Providing a conversational interface backed by OpenAI for smart decision-making --- What this workflow does Using Telegram as the interface and Airtable as the backend database, this intelligent HR workflow allows users to: Chat in natural language (e.g. “Show me all employees” or “Create employee: Sarah, Marketing…”) Interpret and route requests via an AI Agent that acts as the orchestrator Query employee, department, and job title data from Airtable Create or update records as needed: Add new departments and job titles automatically if they don’t exist Create new employees and link them to the correct department and job title Delete employees based on ID Respond directly in Telegram, providing user-friendly feedback --- Setup View & Copy the Airtable base here: 👉 Employee Database Management – Airtable Base Template Telegram Bot: Set up a Telegram bot and connect it to the Telegram Trigger node Airtable: Prepare three Airtable tables: Employees with links to Departments and Job Titles Departments with Name & Description Job Titles with Title & Description Connect your Airtable API key and base/table IDs into the appropriate Airtable nodes Add your OpenAI API key to the AI Agent nodes Deploy both workflows: the main chatbot workflow and the employee creation sub-workflow Test with sample messages like: “Create employee: John Doe, john@company.com, Engineering, Software Engineer” “Remove employee ID rec123xyz” --- How to customize this workflow to your needs Switch databases: Replace Airtable with Notion, PostgreSQL, or Google Sheets if desired Enhance security: Add authentication and validation before allowing deletion Add approval flows: Integrate Telegram button-based approvals for sensitive actions Multi-language support: Expand system prompts to support multiple languages Add logging: Store every user action in a log table for auditability Expand capabilities: Integrate payroll, time tracking, or Slack notifications --- Extra Tips This is a two-workflow setup. Make sure the sub-workflow is deployed and accessible from the main agent. Use Simple Memory per chat ID to preserve context across user queries. You can expand the orchestration logic by adding more tools to the main agent—such as “Get active employees only” or “List employees by job title.” --- Contact me for consulting and support: 📧 billychartanto@gmail.com
Track expenses automatically with Telegram Bot using GPT-4o, OCR and voice recognition
Personal Expense Tracker Bot 💰 AI-powered Telegram bot for effortless expense tracking. Send receipts, voice messages, or text - the bot automatically extracts and categorizes your expenses. ✨ Key Features 📸 Receipt & Invoice OCR - Send photos of receipts or PDF invoices, AI extracts expense data automatically 🎤 Voice Messages - Speak your expenses naturally, audio is transcribed and processed 💬 Natural Language - Just type "spent 50 on groceries" or any text format 🌍 Multilingual - Processes documents in any language (EN, DE, PT, etc.) 📊 Smart Statistics - Get monthly totals, category breakdowns, multi-month comparisons 🔒 Private & Secure - Single-user authorization, only you can access your data ⚡ Zero Confirmation - Expenses are added instantly, no annoying "confirm?" prompts 🎯 How It Works Send expense data via Telegram: Photo of receipt PDF invoice Voice message Text message AI processes automatically: Extracts amount, date, vendor Categorizes expense Stores in organized format Query your expenses: "Show my expenses for November" "How much did I spend on groceries?" "Compare last 3 months" 📋 Expense Categories Groceries, Transportation, Housing, Utilities, Healthcare, Entertainment, Dining Out, Clothing, Education, Subscriptions, Personal Care, Gifts, Travel, Sports, Other 🔧 Setup Requirements Telegram Bot Create a Telegram bot via @BotFather and get your API token. Configure credentials for nodes: Input, WelcomeMessage, GetAudioFile, GetAttachedFile, GetAttachedPhoto ReplyText, NotAuthorizedMessage, DeleteProcessing OpenRouter API Get API key from OpenRouter for AI processing. Configure credentials for: Gpt4o (main processing) Sonnet45 (expense assistant) Ainoflow API Get API key from Ainoflow for storage and OCR. Configure Bearer credentials for: GetConfig, SaveConfig ExtractFileText, ExtractImageText TranscribeRecording JsonStorageMcp (MCP tool) 🏗️ Workflow Architecture | Section | Description | |---------|-------------| | Message Trigger | Receives all Telegram messages | | Bot Privacy | Locks bot to first user, rejects unauthorized access | | Chat Message / Audio | Routes text and voice messages to AI | | Document / Photo | Extracts text from files via OCR and forwards to AI | | Root Agent | Routes messages to Expense Assistant, validates responses | | Expense Assistant | Core logic: stores expenses, calculates statistics | | Result / Reply | Sends formatted response back to Telegram | | Cleanup / Reset | Manual trigger to delete all data (⚠️ use with caution) | 💬 Usage Examples Adding Expenses 📸 [Send receipt photo] → Added: 45.50 EUR - Groceries (Lidl) 🎤 "Bought coffee for five euros" → Added: 5.00 EUR - Dining Out (coffee) 💬 "50 uber" → Added: 50.00 EUR - Transportation (uber) Querying Expenses "Show my expenses" → November 2025: 1,250.50 EUR (23 expenses) Top: Groceries 450€, Transportation 280€, Dining 220€ "How much on entertainment this month?" → Entertainment: 85.00 EUR (3 expenses) "Compare October and November" → Oct: 980€ | Nov: 1,250€ (+27%) 📦 Data Storage Expenses are stored in JSON format organized by month (YYYY-MM): json { "id": "uuid", "amount": 45.50, "currency": "EUR", "category": "Groceries", "description": "Store name", "date": "2025-11-10T14:30:00Z", "created_at": "2025-11-10T14:35:22Z" } ⚠️ Important Notes First user locks the bot - Run /start to claim ownership Default currency is EUR - AI auto-detects other currencies Cleanup deletes ALL data - Use manual trigger with caution No confirmation for adding - Only delete operations ask for confirmation 🛠️ Customization Change default currency in agent prompts Add/modify expense categories in ExpenseAssistant Extend Root Agent with additional assistants Adjust AI models (swap GPT-4o/Sonnet as needed) 📚 Related Resources Create Telegram Bot OpenRouter Credentials Ainoflow Platform 💼 Need Customization? Want to adapt this template for your specific needs? Custom integrations, additional features, or enterprise deployment? Contact us at Ainova Systems - We build AI automation solutions for businesses. --- Tags: telegram, expense-tracker, ai-agent, ocr, voice-to-text, openrouter, mcp-tools, personal-finance
Automated MySQL to Google Sheets sync with duplicate prevention
📝 Sync MySQL Rows to Google Sheet Description: This n8n template automates the process of syncing new records from a MySQL database table into a Google Sheet, ideal for reporting, backup, or lightweight dashboards. It is designed for teams or individuals who need to periodically export new data rows from a custom database (e.g., CRM, registrations, surveys) into a structured Google Sheet for further analysis, sharing, or archiving—without duplicates. --- 🛠️ What This Workflow Does: Runs every 15 minutes via a schedule trigger. Selects unsynced rows (sync = 0) from a MySQL table (fifa25_customers). Checks if records exist to prevent unnecessary writes. Appends records to a Google Sheet, mapping fields like name, email, phone, gender, and more. Updates the MySQL table to mark those rows as synced (sync = 1) to avoid reprocessing. Fully annotated using sticky notes for easier understanding and onboarding. --- 📋 Setup Instructions: Create or select a Google Sheet and make sure the columns match the following: id, name, phone, birthdate, email, region, gender, datatime Ensure your MySQL table (fifa25_customers) has a sync column (default = 0 for new rows). Connect your MySQL and Google Sheets credentials inside n8n. (Optional): Add custom filtering or column transformations as needed. --- 👤 Who Is It For? Marketers syncing leads to a spreadsheet Ops teams pulling user data from internal tools Analysts logging form submissions or customer data Anyone needing lightweight scheduled ETL from MySQL to Sheets --- 🔐 Credentials Required: MySQL Google Sheets OAuth2 --- ✅ Best Practices Followed: Uses IF node to prevent unnecessary processing Updates source database to avoid duplicates Includes sticky notes for clarity All columns are explicitly mapped Works out-of-the-box on any n8n instance with proper creds
Serve inspirational quotes on-demand via webhook using ZenQuotes API
This n8n template lets you instantly serve batches of inspirational quotes via a webhook using the free ZenQuotes API. It’s perfect for developers, content creators, community managers, or educators who want to add dynamic, uplifting content to websites, chatbots, or internal tools—without writing custom backend code. --- 🔧 How it works A Webhook node listens for incoming HTTP requests on your chosen path. Get Random Quote from ZenQuotes sends an HTTP Request to https://zenquotes.io/api/random?count=5 and retrieves five random quotes. Format data uses a Set node to combine each quote (q) and author (a) into a single string: "“quote” – author". Send response returns a JSON array of objects { quote, author } back to the caller. --- 👤 Who is it for? This workflow is ideal for: Developers building motivational Slack or Discord bots. Website owners adding on-demand quote widgets. Educators or trainers sharing daily inspiration via webhooks. Anyone learning webhook handling and API integration in n8n. --- 🗂️ Response Structure Your webhook response will be a JSON array, for example: json [ { "quote": "Life is what happens when you're busy making other plans.", "author": "John Lennon" }, { "quote": "Be yourself; everyone else is already taken.", "author": "Oscar Wilde" } ] --- ⚙️ Setup Instructions Import the workflow JSON into your n8n instance. In the Webhook node, set your desired path (e.g., /inspire). (Optional) Change the count parameter in the HTTP Request node to fetch more or fewer quotes. Activate the workflow. Test by sending an HTTP GET or POST to https://<your-n8n-domain>/webhook/<path>.
Auto-generate FAQ answers in Vtiger CRM with DeepSeek LLM and LangChain
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. 🧠 Vtiger CRM – Auto-Answer FAQs with DeepSeek AI Description: This workflow automates the process of answering FAQ drafts in Vtiger CRM using DeepSeek LLM via LangChain. It's perfect for teams who want to accelerate knowledge base creation, improve support response consistency, or reduce the manual effort of writing FAQ content. Every 1 minute, this workflow: 📥 Retrieves the most recent FAQ record marked as Draft in Vtiger CRM 🧠 Sends the question to a LangChain agent powered by DeepSeek AI 📝 Receives a plain-text answer 📤 Updates the original FAQ with the generated answer and changes its status to Published --- ⚙️ How It Works Trigger: Scheduled to run every 1 minute Query: Pulls the latest FAQ from Vtiger where faqstatus = 'Draft' AI Agent: Uses LangChain + DeepSeek to generate a natural-language answer Memory Buffer: Keeps context using LangChain memory Update: Pushes the answer back to Vtiger and marks it as Published --- 🛠️ Setup Instructions Connect Credentials for: Vtiger CRM API DeepSeek API Ensure your Vtiger CRM has a Faq module with fields: question faq_answer faqstatus Install the required Community Node: Go to Settings → Community Nodes Click Install Node and enter: bash n8n-nodes-vtiger-crm Restart your instance when prompted. Optionally customize the schedule or field names as needed. --- 👤 Who Is This For? Customer support teams building a knowledge base Businesses using Vtiger as a CRM or internal helpdesk Teams looking to automate repetitive content creation using LLMs --- 🔐 Credentials Required ✅ Vtiger CRM API credentials ✅ DeepSeek AI API key --- ✅ Highlights Fully automated LLM-powered FAQ generation Uses custom community node for Vtiger support Lightweight and runs on a short interval (1 min) Includes sticky note for clarity and onboarding Clean conditional logic and memory context built-in --- 🏷 Tags vtiger, crm, faq automation, ai automation, deepseek, langchain, llm, open source crm, faq generation, customer support, n8n, n8n community nodes, workflow automation, ai generated answers, vtiger integration, deepseek ai, langchain integration
Record transactions & generate budget reports with Gemini AI, Telegram & Firefly III
Who this is for Anybody using Firefly III, especially home/self-hosted users, who want to add some level of automation to their transaction tracking, either in addition to or because they can't or don't want to use the dataimporter How it works - posting transactions User sends a transaction screenshot/image or statement to a Telegram bot Gemini analyzes it based on the user's requirements (asset account IDs & categories) The transaction information is parsed to create a suitable POST to a Firefly instance The transaction(s) are posted to Firefly via its API, using an OAuth2 credential How it works - requesting budget reports User sends the word 'Report' via telegram A 'GET' API request is sent to Firefly for all budgets between the beginning of the month and the request date, including remaining amounts for each This is converted to a CSV file The CSV is sent to the user via Telegram Prerequisites Telegram, and knowledge of how to set up a bot (search for BotFather in Telegram) An existing instance of Firefly III with admin access for creating OAuth2 credentials How to set it up - Credentials Open Telegram, and search for BotFather Create a new bot by following the instructions Save the API key provided In n8n, create a new Telegram credential using the info for the new bot Create an OAuth client in Firefly, using the redirect URL found in n8n's OAuth2 API credential creator Fill the n8n OAuth2 API credential form as Authorization Code, filling in the remaining parameters from the info created in Firefly Create a Gemini credential following the instructions in n8n How to set it up - the workflow Set the credential in each Telegram node Set the Firefly credential in each http node Set the correct base URL for the Firefly instance in each http node Set the desired Gemini credential and model in each AI node Set the correct Bank IDs (as per Firefly) and preferred categories in the AI node system message Customization options The user can specify all types of asset and expense accounts, as well as a specific list of categories and descriptions for Gemini to use. Gemini can also be swapped out for any other AI/LLM. Additionally, anyone can build on this by reviewing the Firefly API documents to automate almost any other part of the Firefly software.
AI-powered candidate nurturing with scheduled WhatsApp & Gmail follow-ups
What This Workflow Does This workflow automates the candidate nurturing process, solving the common problem of candidates losing interest or "ghosting" after an application. It keeps them engaged and informed by sending a personalized, multi-channel (WhatsApp & Gmail) sequence of follow-up messages over their first week. The automation triggers when a new candidate is added to your ATS (e.g., via a Recrutei webhook). It then uses AI to generate a custom 3-part message (for Day 1, Day 3, and Day 7) tailored to the candidate's age and the specific job they applied for, ensuring a professional and empathetic experience that strengthens your employer brand. How it Works Trigger: A Webhook node captures the new candidate data from your Applicant Tracking System (ATS) or form. Data Preparation: Two Code nodes clean the incoming data. The first (Separating information) extracts key fields and formats the phone number. The second (Extract age) calculates the candidate's age from their birthday to be used by the AI. AI Content Generation: The workflow sends the candidate's details (name, age, job title) to an AI model (AI Recruitment Assistant). The AI has a detailed system prompt to generate three distinct messages for Day 1 (Thank You), Day 3 (Friendly Reminder), and Day 7 (Final Reinforcement), adapting its tone based on the candidate's age. Split Messages: A Code node (Separating messages per days) receives the single text block from the AI and splits it into three separate variables (day1, day3, day7). Day 1 Send: The workflow immediately sends the day1 message via both Gmail and WhatsApp (configured for Evolution API). Day 3 Send: A "Wait" node pauses the workflow for 2 days, after which it sends the day3 message. Day 7 Send: Another "Wait" node pauses for 4 more days, then sends the final day7 message, completing the 7-day nurturing sequence. Setup Instructions This workflow is plug-and-play once you configure the following 5 steps: Webhook Node: Copy the Test URL from the Webhook node and configure it in your ATS (e.g., Recrutei) or form builder to trigger whenever a new candidate is added. Run one test submission to make the data structure visible to n8n. AI Credentials: In the AI Recruitment Assistant node, select or create your OpenAI API credential. MCP Credential (Optional): If you use a Recrutei MCP, paste your endpoint URL into the MCP Recrutei node. Gmail Credentials: In all three Message Gmail nodes (Day 1, 3, 7), select or create your Gmail (OAuth2) credential. Optional:* In the same nodes, go to Options and change the Sender Name from your_company to your actual company name. WhatsApp (Evolution API): This template is pre-configured for the Evolution API. In all three Message WhatsApp nodes (Day 1, 3, 7), you must: URL: Replace {server-url} and {instance} with your Evolution API details. Headers: In the "Header Parameters" section, replace yourapikey with your actual Evolution API key.
Monitor Google Maps reviews with sentiment analysis & RAG agent using Pinecone
Analyze and Sync Google Maps Reviews to Pinecone > Note: This template requires an Apify account, an OpenAI account, and a Pinecone database. Overview This workflow automates your reputation management by scraping Google Maps reviews, analyzing their sentiment using AI, and storing them in a Vector Database (Pinecone). It also includes a RAG (Retrieval-Augmented Generation) agent that allows you to chat with your review data via Telegram to ask specific questions about customer feedback. How it works Scrape: At a scheduled time (or manually), the workflow triggers an Apify actor to scrape the latest reviews from a specific Google Maps URL. Analyze: It uses GPT-4o to analyze the sentiment of the reviews and generates a summary of complaints and praises. Notify: A Telegram message is sent with the sentiment score and a summary of the latest reviews. Store: The review data is embedded and upserted into a Pinecone Vector Store. Chat (RAG): You can send messages to a Telegram bot to query the database (e.g., "What are people saying about our coffee?"). The AI retrieves relevant reviews from Pinecone to answer your question. Cleanup: A weekly schedule cleans up the namespace to ensure data freshness (optional). How to set up Apify: Create an account and subscribe to the Google Maps Reviews Scraper actor. Set up your Apify credentials in n8n. OpenAI: Set up your OpenAI credentials in n8n. Pinecone: Create an Index in Pinecone. Set up your Pinecone credentials in n8n. Telegram: Create a new bot via BotFather to get your Token and Chat ID. Set up your Telegram credentials in n8n. Configure the Workflow Open the ⚠️ CONFIGURATION nodes. Paste your telegramchatid. Paste the Maps_url of the business you want to monitor. Define your pinecone_namespace. HTTP Node Configuration In the "Empty Namespace" node, update the URL to match your Pinecone Index Host and add your Pinecone API Key in the header or use credentials. 🙋 Support If you encounter any issues during setup or have questions about customization, please reach out to our dedicated support email: foivosautomationhelp@gmail.com