by Artur
What this workflow does Monitors Google Drive: The workflow triggers whenever a new CSV file is uploaded. Uses AI to Identify PII Columns: The OpenAI node analyzes the data and identifies PII-containing columns (e.g., name, email, phone). Removes PII: The workflow filters out these columns from the dataset. Uploads Cleaned File: The sanitized file is renamed and re-uploaded to Google Drive, ensuring the original data remains intact. How to customize this workflow to your needs Adjust PII Identification: Modify the prompt in the OpenAI node to align with your specific data compliance requirements. Include/Exclude File Types: Adjust the Google Drive Trigger settings to monitor specific file types (e.g., CSV only). Output Destination: Change the folder in Google Drive where the sanitized file is uploaded. Setup Prerequisites: A Google Drive account. An OpenAI API key. Workflow Configuration: Configure the Google Drive Trigger to monitor a folder for new files. Configure the OpenAI Node to connect with your API Set the Google Drive Upload folder to a different location than the Trigger folder to prevent workflow loops.
by Mauricio Perera
n8n Workflow: Calculate the Centroid of a Set of Vectors Overview This workflow receives an array of vectors in JSON format, validates that all vectors have the same dimensions, and computes the centroid. It is designed to be reusable across different projects. Workflow Structure Nodes and Their Functions: Receive Vectors (Webhook): Accepts a GET request containing an array of vectors in the vectors parameter. Expected Input: vectors parameter in JSON format. Example Request: /webhook/centroid?vectors=[[2,3,4],[4,5,6],[6,7,8]] Output: Passes the received data to the next node. Extract & Parse Vectors (Set Node): Converts the input string into a proper JSON array for processing. Ensures vectors is a valid array. If the parameter is missing, it may generate an error. Expected Output Example: { "vectors": [[2,3,4],[4,5,6],[6,7,8]] } Validate & Compute Centroid (Code Node): Validates vector dimensions and calculates the centroid. Validation: Ensures all vectors have the same number of dimensions. Computation: Averages each dimension to determine the centroid. If validation fails: Returns an error message indicating inconsistent dimensions. Successful Output Example: { "centroid": [4,5,6] } Error Output Example: { "error": "Vectors have inconsistent dimensions." } Return Centroid Response (Respond to Webhook Node): Sends the final response back to the client. If the computation is successful, it returns the centroid. If an error occurs, it returns a descriptive error message. Example Response: { "centroid": [4, 5, 6] } Inputs JSON array of vectors, where each vector is an array of numerical values. Example Input { "vectors": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] } Setup Guide Create a new workflow in n8n. Add a Webhook node (Receive Vectors) to receive JSON input. Add a Set node (Extract & Parse Vectors) to extract and convert the data. Add a Code node (Validate & Compute Centroid) to: Validate dimensions. Compute the centroid. Add a Respond to Webhook node (Return Centroid Response) to return the result. Function Node Script Example const input = items[0].json; const vectors = input.vectors; if (!Array.isArray(vectors) || vectors.length === 0) { return [{ json: { error: "Invalid input: Expected an array of vectors." } }]; } const dimension = vectors[0].length; if (!vectors.every(v => v.length === dimension)) { return [{ json: { error: "Vectors have inconsistent dimensions." } }]; } const centroid = new Array(dimension).fill(0); vectors.forEach(vector => { vector.forEach((val, index) => { centroid[index] += val; }); }); for (let i = 0; i < dimension; i++) { centroid[i] /= vectors.length; } return [{ json: { centroid } }]; Testing Use a tool like Postman or the n8n UI to send sample inputs and verify the responses. Modify the input vectors to test different scenarios. This workflow provides a simple yet flexible solution for vector centroid computation, ensuring validation and reliability.
by Mujtaba
Overview This n8n workflow template automatically parses incoming Telegram transaction messages and logs structured data into a Google Sheet. It’s designed to help individuals and small businesses track and record transactions shared via Telegram without manual data entry. Target Audience This template is ideal for: Individuals, freelancers, and small businesses who receive transaction or payment notifications through Telegram and want to organize them in Google Sheets. Anyone using self-hosted n8n (required due to custom community nodes). Problem Solved Manually copying transaction details from Telegram to Google Sheets is error-prone and time-consuming. This workflow automates the process by: Monitoring a Telegram bot/chat for new messages. Parsing transaction details (amount, sender, date, etc.). Logging them in real-time into a Google Sheet for easy tracking. Setup Instructions Telegram Bot Setup Create a Telegram bot using BotFather. Add the bot to the desired group/channel and grant admin permissions if needed. Note down the bot token. Google Sheets Setup Create a Google Sheet with relevant columns (e.g., Date, Amount, Sender, Transaction ID). Set up Google Sheets credentials in n8n for access. n8n Workflow Configuration Import this template into your self-hosted n8n instance. Update the Telegram node: Add your bot token and specify the chat/group ID. Update the Google Sheets node: Link it to your created sheet and ensure column mapping matches your sheet structure. Adjust parsing logic if your message format varies (see next section for examples). Community Nodes This workflow uses custom community nodes. Ensure these are installed via the n8n settings or CLI: [List your required community nodes here, e.g., n8n-nodes-telegram, n8n-nodes-gsheet, etc.] Activate the Workflow Save and activate your workflow. Send a test transaction message to your Telegram group/chat and verify data appears in your Google Sheet. Troubleshooting If messages are not being picked up, check bot permissions and the chat ID. Ensure Google Sheets credentials are correct and the sheet is accessible. Double-check that custom nodes are properly installed and up-to-date. Example Telegram Message Formats Received: $75 from @john_doe on 2024-05-29. Transaction ID: 12345XYZ. Paid $120 to @vendor on 2024-05-28. Ref: 67890ABC. You received ₹5,000 from @amit. ID: 54321PQR. Date: 29/05/2024 The workflow parses messages in the above formats and logs the following columns: Date Amount Sender/Receiver Transaction/Reference ID If your message format differs, update the regex in the parsing node. Disclaimer This n8n workflow template uses custom community nodes and is only compatible with the self-hosted version of n8n. Workflow Changes (For n8n Canvas) Rename the Nodes: 'If' node → “Is Transaction Message?” 'Google Sheets' node → “Log to Google Sheet” (Rename other generic nodes for clarity, e.g., 'Telegram' → “Listen for Telegram Messages”, 'Function' → “Parse Transaction Details”) Sticky Note Improvement: (Edit the sticky note or add one if missing) Workflow Steps: Listen for Telegram Messages: This node receives new messages from the Telegram bot. Is Transaction Message? Checks if the message matches known transaction patterns. Parse Transaction Details: Extracts amount, sender, date, and transaction ID using regex. Log to Google Sheet: Records the parsed transaction in the linked Google Sheet for easy tracking.
by David Olusola
AI Lead Capture System - Complete Setup Guide Prerequisites n8n instance (cloud or self-hosted) Google AI Studio account (free tier available) Google account for Sheets integration Website with chat widget capability Phase 1: Core Infrastructure Setup Step 1: Set Up Google AI Studio Go to Google AI Studio Create account or sign in with Google Navigate to "Get API Key" Create new API key for your project Copy and securely store the API key Free tier limits: 15 requests/minute, 1 million tokens/month Step 2: Configure Google Sheets Create new Google Sheet for lead storage Add column headers (exact names): Full Name Company Name Email Address Phone Number Project Intent/Needs Project Timeline Budget Range Preferred Communication Channel How they heard about DAEX AI Copy the Google Sheet ID from URL (between /d/ and /edit) Ensure sheet is accessible to your Google account Step 3: Import n8n Workflow Open your n8n instance Create new workflow Click "..." menu → Import from JSON Paste the provided workflow JSON Workflow will appear with all nodes connected Phase 2: Credential Configuration Step 4: Set Up Google Gemini API In n8n, go to Credentials → Add Credential Search for "Google PaLM API" Enter your API key from Step 1 Test connection Link to the "Google Gemini Chat Model" node Step 5: Configure Google Sheets Access Go to Credentials → Add Credential Select "Google Sheets OAuth2 API" Follow OAuth flow to authorize your Google account Test connection with your sheet Link to the "Google Sheets" node Phase 3: Workflow Customization Step 6: Update Company Information Open the AI Agent node In the system message, replace all mentions of: Company name and description Service offerings and specializations FAQ knowledge base Typical project timelines and pricing ranges Adjust conversation tone to match your brand voice Step 7: Configure Lead Qualification Fields In the AI Agent system message, modify the required information list: Add/remove qualification questions Adjust budget ranges for your services Customize timeline options Update communication channel preferences In Google Sheets node, update column mappings if you changed fields Step 8: Set Up Sheet Integration Open Google Sheets node Click on Document ID dropdown Select your lead capture sheet Verify all column mappings match your sheet headers Test with sample data Phase 4: Website Integration Step 9: Get Webhook URL Open Webhook node in n8n Copy the webhook URL (starts with your n8n domain) Note: URL format is https://your-n8n-domain.com/webhook/[unique-id] Step 10: Connect Your Chat Widget Choose your integration method: Option A: Direct JavaScript Integration javascript// Add to your website function sendMessage(message, sessionId) { fetch('YOUR_WEBHOOK_URL', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: message, sessionId: sessionId || 'visitor-' + Date.now() }) }) .then(response => response.json()) .then(data => { // Display AI response in your chat widget displayMessage(data.message); }); } Option B: Chat Platform Webhook Open your chat platform settings (Intercom, Crisp, etc.) Find webhook/integration section Add webhook URL pointing to your n8n endpoint Configure to send message and session data Option C: Zapier/Make.com Integration Create new Zap/Scenario Trigger: New chat message from your platform Action: HTTP POST to your n8n webhook Map message content and session ID Phase 5: Testing & Optimization Step 11: Test Complete Flow Send test message through your chat widget Verify AI responds appropriately Check conversation context is maintained Confirm lead data appears in Google Sheets Test with various conversation scenarios Step 12: Monitor Performance Check n8n execution logs for errors Monitor Google Sheets for data quality Review conversation logs for improvement opportunities Track response times and conversion rates Step 13: Fine-Tune Conversations Analyze real conversation logs Update system prompts based on common questions Add new FAQ knowledge to the AI agent Adjust qualification questions based on lead quality Optimize for your specific customer patterns Phase 6: Advanced Features (Optional) Step 14: Add Lead Scoring Create new column in Google Sheets for "Lead Score" Update AI agent to calculate scores based on: Budget range (higher budget = higher score) Timeline urgency (sooner = higher score) Project complexity (complex = higher score) Add conditional formatting in Google Sheets to highlight high-value leads Step 15: Set Up Notifications Add email notification node after Google Sheets Configure to send alerts for high-priority leads Include lead details and conversation summary Set up different notification rules for different lead scores Step 16: Analytics Dashboard Connect Google Sheets to Google Data Studio or similar Create dashboard showing: Daily lead volume Conversion rates by source Average qualification time Lead quality scores Revenue pipeline from captured leads Troubleshooting Common Issues AI Not Responding Check Google Gemini API key validity Verify API quota not exceeded Review n8n execution logs for errors Data Not Saving to Sheets Confirm Google Sheets permissions Check column name matching Verify sheet ID is correct Chat Widget Not Connecting Test webhook URL directly with curl/Postman Verify JSON format matches expected structure Check CORS settings if browser-based integration Conversation Context Lost Ensure sessionId is unique per visitor Check memory node configuration Verify sessionId is passed consistently
by JaredCo
This n8n workflow demonstrates how to transform natural language date and time expressions into structured data with 96%+ accuracy. Parse complex expressions like "early next July", "2 weeks after project launch", or "end of Q3" into precise datetime objects with confidence scoring, timezone intelligence, and business rules validation for any automation workflow. Good to know Achieves 96%+ accuracy on complex natural language date expressions At time of writing, this is the most advanced open-source date parser available Includes AI learning that improves over time with user corrections Supports 6 languages with auto-detection (English, Spanish, French, German, Italian, Portuguese) Sub-millisecond response times with intelligent caching Enterprise-grade with business intelligence and timezone handling How it works Natural Language Input**: Receives date expressions via webhook, form, email, or chat AI-Powered Parsing**: Your world-class date parser processes the text through: 50+ custom rule patterns for complex expressions Multi-language auto-detection and smart translation Confidence scoring (0.0-1.0) for AI decision-making Ambiguity detection with helpful suggestions Business Intelligence**: Applies enterprise rules automatically: Holiday calendar awareness (US + International) Working hours validation and warnings Business day auto-adjustment Timezone normalization (IANA format) Smart Scheduling**: Creates calendar events with: Structured datetime objects (start/end times) Confidence metadata for workflow decisions Alternative interpretations for ambiguous inputs Rich context for follow-up actions Integration Ready**: Outputs connect seamlessly to: Google Calendar, Outlook, Apple Calendar CRM systems (HubSpot, Salesforce) Project management tools (Notion, Asana) Communication platforms (Slack, Teams) How to use The webhook trigger receives natural language date requests from any source Replace the MCP server URL with your deployed date parser endpoint Configure timezone preferences for your organization Customize business rules (working hours, holidays) in the parser settings Connect calendar integration nodes for automatic event creation Add notification workflows for scheduling confirmations Use Cases Meeting Scheduling**: "Schedule our quarterly review for early Q3" Project Management**: "Set deadline 2 weeks after product launch" Event Planning**: "Book venue for the weekend before Labor Day" Personal Assistant**: "Remind me about dentist appointment next Tuesday morning" International Teams**: "Team standup tomorrow morning" (auto-timezone conversion) Seasonal Planning**: "Launch campaign in late spring 2025" Requirements Natural Language Date Parser MCP server (provided code) Webhook endpoint or form trigger Calendar integration (Google Calendar, Outlook, etc.) Optional: Slack/Teams for notifications Optional: Database for learning pattern storage Customizing this workflow Multi-language Support**: Enable auto-detection for global teams Business Rules**: Configure company holidays and working hours Learning System**: Enable AI learning from user corrections Integration Depth**: Connect to your existing calendar and CRM systems Confidence Thresholds**: Set minimum confidence levels for auto-scheduling Ambiguity Handling**: Route unclear dates to human review or clarification requests Sample Input/Output Input Examples: "early next July" "2 weeks after Thanksgiving" "next Wednesday evening" "Q3 2025" "mañana por la mañana" (Spanish) "first thing Monday" Rich Output: { "parsed": [{ "start": "2025-07-01T00:00:00Z", "end": "2025-07-10T23:59:59Z", "timezone": "America/New_York" }], "confidence": 0.95, "method": "custom_rules", "business_insights": [{ "type": "business_warning", "message": "Selected date range includes July 4th holiday" }], "predictions": [{ "type": "time_preference", "suggestion": "You usually schedule meetings at 10 AM" }], "ambiguities": [], "alternatives": [{ "interpretation": "Early July 2026", "confidence": 0.15 }], "performance": { "cache_hit": true, "response_time": "0.8ms" } } Why This Workflow is Unique World-Class Accuracy**: 96%+ success rate on complex expressions AI Learning**: Improves over time with user feedback Global Ready**: Multi-language and timezone intelligence Business Smart**: Enterprise rules and holiday awareness Performance Optimized**: Sub-millisecond cached responses Context Aware**: Provides confidence scores and alternatives for AI decision-making Transform your scheduling workflows from rigid form inputs to natural, conversational date requests that your users will love!
by Khairul Muhtadin
❓ What Problem Does It Solve? Manual exporting or copying of leads and newsletter signups from web forms to spreadsheets is time-consuming, error-prone, and delays follow-ups or marketing activities. Traditional workflows can lose data due to mistakes or lack of automation. The Fluentform Export workflow automates the capture and organization of form submissions and newsletter signups into Google Sheets 💡 Why Use this workflow? Save Time:** Automate tedious manual data entry for form leads and newsletter signups Avoid Data Loss:** Ensure all submissions are reliably logged with real-time updates Organized Data:** Separate sheets for newsletter and contact form data maintain clarity Easy Integration:** Works seamlessly with Fluentform submissions and Google Sheets Flexible & Scalable:** Quickly adapt to changes in form structure or spreadsheet columns ⚡ Who Is This For? Marketers & Growth Teams:** Automatically gather leads and newsletter contacts to fuel campaigns Small to Medium Businesses:** Reduce overhead from manual data management and errors Customer Support Teams:** Keep track of form submissions in a centralized, accessible place Website Admins:** Simplify data workflow from Fluentform plugins without coding 🔧 What This Workflow Does ⏱ Trigger:** Listens for incoming POST requests from Fluentform via webhook 📎 Step 2:** Evaluates if the submission is a newsletter signup or a form based on a specific token 🔄 Step 3 (Newsletter Path):** Maps email from newsletter submissions and appends/updates Google Sheets "News Letter" tab 🔄 Step 3 (Form Path):** Extracts full name, email, phone, subject, and message fields and appends/updates the Google Sheets "form" tab 💌 Step 4:** Sends a JSON success response back to Fluentform confirming receipt 🔐 Setup Instructions Import the provided .json workflow file into your n8n instance Set up credentials: Google Sheets OAuth2 credential with access to your target spreadsheets Customize workflow elements: Update Fluentform webhook URL in your Fluentform settings to the n8n webhook URL generated Adjust field names or spreadsheet columns if your form structure changes Update spreadsheet IDs and sheet names used in the Google Sheets nodes to match your own Sheets Test workflow thoroughly with actual Fluentform submissions to verify data flows correctly 🧩 Pre-Requirements Running n8n instance (Cloud or self-hosted) Google account with access to Google Sheets and OAuth credentials Fluentform installed on your website with ability to set webhook URL Target Google Sheets prepared with tabs named "News Letter" and "form" with expected columns 🧠 Nodes Used Webhook (POST - Retrieve Leads) If (Form or newsletter?) Set (newsletter and form data preparation) Google Sheets (Append/update for newsletter and form sheets) Respond to Webhook 📞 Support Made by: khaisa Studio Tag: automation, Google Sheets, Fluentform, Leads Category: Marketing Need a custom? Contact Me
by Krishna Kumar Eswaran
🧠 Problem This Solves Managing credit card expenses can be tricky, especially when you want to stay transparent and keep your spouse in the loop. Most banks don't offer real-time notification sharing with family members, and manually updating expenses takes time and effort. This n8n workflow automates the entire process: tracking your HDFC credit card usage, logging it in Google Sheets, and sending an instant Telegram notification to your spouse. 👥 Who This Template Is For Couples who want shared visibility of credit card spending Individuals looking for automated personal finance tracking Anyone using HDFC Credit Card with email alerts enabled n8n users who want to integrate Gmail, Google Sheets, and Telegram ⚙️ Workflow Breakdown Here’s how the automation works: Gmail Trigger – Monitors your Gmail inbox for credit card transaction alerts from HDFC Bank. Email Parser – Extracts transaction details like amount, merchant name, date, and card type. Google Sheets Node – Logs the parsed transaction data into a structured Google Sheet for record-keeping. Telegram Node – Sends a message to your wife’s Telegram account with transaction details for instant notification. Step-by-Step Setup Instructions Prerequisites An HDFC Credit Card with email alerts enabled A Gmail account connected to n8n A Google Sheet created with columns like Date, Amount, Merchant, Card, etc. A Telegram Bot and your wife’s Telegram Chat ID Set up Gmail Trigger Use the Gmail Trigger Node to monitor incoming emails from alerts@hdfcbank.net or similar. Filter emails with subject line containing keywords like Credit Card Transaction Alert. Extract Email Content Use the HTML Extract or Regex node to parse out transaction amount, merchant name, date, and card number from the email body. Log to Google Sheets Connect your Google Sheets account in n8n Use the Append Row node to add each transaction as a new row in your finance sheet. Send Telegram Message Set up a Telegram Bot and get the Chat ID of your wife’s Telegram account Format a message like: "💳 HDFC Transaction Alert: ₹5,000 at Amazon on 17 May via XXXX1234" Send it via the Telegram node 🛠️ Customization Tips 💡 Add Spending Limits: Add a condition node to alert only if the transaction exceeds a certain amount. 🧾 Category Mapping: Use additional logic to classify expenses (e.g., Shopping, Dining) based on keywords. 📊 Weekly Summary: Create another workflow that sends a weekly Telegram summary using data from Google Sheets. 🔐 Security Tip: Mask part of the card number before sending the Telegram message for added security.
by Halfbit 🚀
Jura Coffee Counter: Webhook API & Google Sheets Logger ☕️ Track how many coffees your Jura E8 espresso machine makes — fully automated via webhook and Google Sheets. This workflow exposes a custom API endpoint that can be called by smart devices, such as an ESP8266 or ESP32 reading data from a Jura E8 coffee machine via Bluetooth Low Energy (BLE). The incoming data (including total coffee count) is timestamped and appended to a Google Sheet, making it easy to visualize or analyze your machine usage. ☕ Originally built for a Jura E8, based on AlexxIT/Jura reverse-engineering project. > 📝 This workflow uses Google Sheets as a logging backend. You can easily switch it to Airtable, Notion, or a database of your choice. Live example available at: https://halfbitstudio.com/o-nas/ > 🖥️ In our setup, this workflow is used to provide real-time coffee consumption stats displayed directly on our website. > 🔌 Some Jura machines require an accessory Bluetooth transmitter to enable connectivity. Communication is based on the Bluetooth Low Energy (BLE) protocol. Use Case Tracking usage of a Jura coffee machine Logging IoT sensor data into Google Sheets Creating dashboards for daily consumption Smart office setups with coffee stats! Features ☁️ Two Webhook endpoints: POST /{{WEBHOOK_POST_PATH}} — receives JSON from ESP (coffee machine reader) GET /{{WEBHOOK_GET_PATH}} — returns latest records as JSON 📅 Timestamping via Date & Time node 🔹 Coffee counter extraction from incoming JSON 🧾 Appends structured rows to Google Sheets 📤 Webhook response for external status or dashboards Setup Instructions Jura Coffee Machine Integration (Hardware) Use an ESP device (e.g. ESP8266 or ESP32) to connect to the Jura E8 via Bluetooth Low Energy (BLE). Send POST requests with JSON payload: { "total_coffees": 123 } Reverse-engineered protocol reference: AlexxIT/Jura Google Sheets Configuration Create a new Google Sheet with column headers like: date | time | coffee counter Connect your Google account in n8n and authorize access to this sheet. Replace the documentId and sheetName fields in the Google Sheets nodes: Use full URL to your spreadsheet Use the actual sheet name (e.g. Sheet1) Environment Variables & Placeholders | Placeholder | Description | | ------------------------ | ----------------------------------------------- | | {{WEBHOOK_POST_PATH}} | Endpoint to receive coffee counter data | | {{WEBHOOK_GET_PATH}} | Endpoint to return latest data (for dashboards) | | {{SHEET_ID}} | Google Spreadsheet ID | | {{GOOGLE_CREDENTIALS}} | OAuth2 credentials for Google Sheets | | {{DATA_COLUMNS}} | Column names in the target sheet | Testing the Workflow Send test request: Use Postman or ESP to send a POST request to /{{WEBHOOK_POST_PATH}} Body should include total_coffees value Check Google Sheet: Open your sheet and verify that a new row was appended Test GET endpoint: Access the second webhook URL (e.g. /{{WEBHOOK_GET_PATH}}) in browser or fetch via API Optional: Use Respond to Webhook output in a dashboard or frontend Customization Tips Sheet format**: Add more columns if you want to track additional data (e.g. machine temperature, errors) Output format**: Replace Google Sheets with any other storage (e.g. MySQL, Notion) Auth layer**: Add basic auth or token verification if needed for public exposure Notifications**: Send alerts to Discord/Slack when reaching thresholds (e.g. 200 coffees brewed) Tags: google-sheets, iot, webhook, jura, coffee, api, automation
by Eduard
This n8n workflow demonstrates how to automate customer interactions and appointment management via WhatsApp Business bot. After submitting a Google Form, the user receives a notification via WhatsApp. These notifications are sent via a template message. In case user sends a message to the bot, the text and user data is stored in Google Sheets. To reply back to the user, fill in the ReplyText column and change the Status to 'Ready'. In a few seconds n8n will fetch the unsent replies and deliver them one by one via WhatsApp Business node. Customize this workflow to fit your specific needs, connect different online services and enhance your customer communication! 🎉 Setup Instructions To get this workflow up and running, you'll need to: 👇 Create a WhatsApp template message on the Meta Business portal. Obtain an Access Token and WhatsApp Business Account ID from the Meta Developers Portal. This is needed for the WhatsApp Business Node to send messages. Set up a WhatsApp Trigger node with App ID and App Secret from the Meta Developers Portal. Right after that copy the WhatsApp Trigger URL and add it as a Callback URL in the Meta Developers Portal. This trigger is needed to receive incoming messages and their status updates. Connect your Google Sheets account for data storage and management. Check out the documentation page. ⚠️ Important Notes WhatsApp allows automatic custom text messages only within 24 hours of the last user message. Outside with time frame only approved template messages can be sent. The workflow uses a Google Sheet to manage form submissions, incoming messages and prepare responses. You can replace these nodes and connect the WhatsApp bot with other systems.
by Abhishek Patoliya
This powerful n8n automation sends you daily weather updates directly to your Telegram chat using live data from OpenWeatherMap. It supports automatic daily updates and manual lookups via form input. ✅ Prerequisites Before you begin, make sure you have: A working n8n instance (v1.0 or later recommended). An account with OpenWeatherMap (free plan is sufficient). A Telegram Bot created via @BotFather. Your Telegram user ID or chat ID. 🔐 API & Bot Setup 🧩 OpenWeatherMap API Go to https://openweathermap.org/api Sign up and verify your account. Navigate to API Keys in your account dashboard. Copy your API key (used later in the HTTP Request node). 🤖 Telegram Bot Open @BotFather in Telegram. Run /newbot and follow the prompts: Choose a name and username for your bot. You’ll get a bot token (copy this). Start a chat with your new bot to activate it. To get your Telegram User ID, use @userinfobot or an n8n Telegram Trigger node. 🔄 Trigger Options ⏰ Schedule Trigger (Automatic) Runs daily at 8:00 AM IST. Ideal for consistent, passive updates. 📝 Form Trigger (Manual) Input 🌆 City and 🌍 Country manually. Instantly receive weather info in Telegram. 🧠 How the Flow Works Trigger Activated (Scheduled or Form) City & Country fetched (default or from form) HTTP Request sent to OpenWeatherMap with API key Weather Data Parsed & Formatted: 📅 Current Date 📍 City & Country 🌤️ Weather Description 🌡️ Temperature (°C) 💧 Humidity (%) 🌬️ Wind Speed (m/s) 🔼 Atmospheric Pressure 🌅 Sunrise Time (IST) 🌇 Sunset Time (IST) Message Sent to Telegram 🧰 Nodes Used Schedule Trigger** – Runs every day at 8:00 AM IST Form Trigger** – Accepts user input Set Node** – Default city/country values and date formatting HTTP Request** – Calls OpenWeatherMap API Function Node** – Converts timestamps to IST Telegram Node** – Sends formatted weather message 📦 Example Telegram Output 📅 Wednesday, 10 July 2025 🌤 Weather in Mumbai, IN: Condition: Clear sky Temperature: 30°C 💧 Humidity: 70% 🌬 Wind Speed: 3 m/s 🔼 Pressure: 1013 hPa 🌅 Sunrise: 5:57:12 AM 🌇 Sunset: 6:53:45 PM 🛠️ Customization Tips 🏙️ Change Default City/Country Locate the Set Node (used before the API call). Replace "Mumbai" and "IN" with your preferred location. Or connect the Form Trigger input to allow dynamic values. 🕗 Change Schedule Time Open the Schedule Trigger node. Adjust to your preferred time zone and daily timing (e.g., 7 AM IST). 🧪 Add Extra Data OpenWeatherMap returns more fields like visibility, UV index, etc. You can include these in your Telegram message via the Function Node and Set Node.
by Roshan Ramani
Overview An intelligent automation workflow that monitors your Gmail inbox and sends AI-powered summaries of important emails directly to your Telegram chat. Perfect for staying updated on critical communications without constantly checking your email. 🌟 Key Features Real-time Email Monitoring**: Checks Gmail every minute for new emails Smart Content Filtering**: Only processes emails containing important keywords AI-Powered Summarization**: Uses GPT-4o-mini to create concise, human-readable summaries Instant Telegram Notifications**: Delivers summaries directly to your preferred Telegram chat Customizable Keywords**: Easily modify filters to match your specific needs 🔧 How It Works Workflow Steps: Email Trigger: Continuously monitors your Gmail inbox for new messages Smart Filter: Analyzes email subject and body for important keywords (sales, jobs, etc.) AI Processing: Sends relevant emails to OpenAI for intelligent summarization Telegram Delivery: Sends formatted summary to your Telegram chat Sample Output: 📦 Your Flipkart order "Bluetooth Speaker" was delivered today. Enjoy! 💰 Invoice from AWS for $23.50 is due by July 20. Check billing portal. ✅ HR shared your July payslip. No action needed unless there's an error. 🛠 Setup Requirements Gmail account with OAuth2 credentials OpenAI API key Telegram bot token and chat ID N8N instance (cloud or self-hosted) 📋 Use Cases Business Alerts**: Payment due notices, invoice reminders E-commerce**: Order confirmations, delivery updates HR Communications**: Payslips, policy updates, announcements Security**: Login alerts, security notifications Job Hunting**: Application responses, interview invitations ⚙️ Customization Options Keyword Filters**: Add/remove keywords in the filter node (invoice, payment, security, delivery, etc.) AI Prompt**: Modify the summarization style and format Polling Frequency**: Adjust email checking interval Multiple Chats**: Send to different Telegram chats based on email type 🔒 Privacy & Security Processes emails locally through n8n No email content stored permanently Uses secure OAuth2 authentication Respects Gmail API rate limits 📊 Performance Lightweight and efficient Minimal resource usage Fast AI processing with GPT-4o-mini Reliable Telegram delivery 💡 Pro Tips Start with broad keywords and refine based on results Use multiple condition branches for different email types Set up different Telegram chats for work vs personal emails Monitor your OpenAI usage to avoid unexpected costs
by Adrian Bent
This workflow takes two inputs, YouTube video URL (required) and a description of what information to extract from the video. If the description/"what you want" field is left empty, the default prompt will generate a detailed summary and description of the video's contents. However, you can ask for something more specific using this field/input. ++ Don't forget to make the workflow Active and use the production URL from the form node. Benefits Instant Summary Generation - Convert hours of watching YouTube videos to familiar, structured paragraphs and sentences in less than a minute Live Integration - Generate a summary or extract information on the contents of a YouTube video whenever, wherever Virtually Complete Automation - All that needs to be done is to add the video URL and describe what you want to know from the video Presentation - You can ask for a specific structure or tone to better help you understand or study the contents of the video How It Works Smart Form Interface: Simple N8N form captures video URL and description of what's to be extracted Designed for rapid and repeated completion anywhere and anytime Description Check: Uses JavaScript to determine if the description was filled in or left empty If the description field was left empty, the default prompt is, "Please be as descriptive as possible about the contents being spoken of in this video after giving a detailed summary." If the description field is filled, then the filled input will be used to describe what information to extract from the video HTTP Request: We're using Gemini API, specifically the video understanding endpoint We make a post HTTP request passing the video URL and the description of what information to extract Setup Instructions: HTTP Request Setup: Sign up for a Google Cloud account, join the Developer Program and get your Gemini API key Get curl for Gemini Video Understanding API The video understanding relies on the inputs from the form, code and HTTP request node, so correct mapping is essential for the workflow to function correctly. Feel free to reach out for additional help or clarification at my Gmail: terflix45@gmail.com, and I'll get back to you as soon as I can. Setup Steps: Code Node Setup: The code node is used as a filter to ensure a description prompt is always passed on. Use the JavaScript code below for that effect: // Loop over input items and add a new field called 'myNewField' to the JSON of each one for (const item of $input.all()) { item.json.myNewField = 1; if ($input.first().json['What u want?'].trim() == "") { $input.first().json['What do you want?'] = "Please be as descriptive as possible about the contents being spoken of this video after giving a detailed summary"; } } return $input.all(); // End of Code HTTP Request: To use Gemini Video Understanding, you'll need your Gemini API key Go to https://ai.google.dev/gemini-api/docs/video-understanding#youtube. This link will take you directly to the snippet. Just select REST programming language, copy that curl command, then paste it into the HTTP Request node Replace "Please summarize the video in 3 sentences." with the code node's output, which should either be the default description or the one entered by the user (second output field variable) Replace "https://www.youtube.com/watch?v=9hE5-98ZeCg" with the n8n form node's first output field, which should be the YouTube video URL variable Replace $GEMINI_API_KEY with your API key Redirect: Use n8n form node, page type "Final Ending" to redirect user to the initial n8n form for another analysis or preferred destination