by Asfandyar Malik
Automatically create, evaluate, and optimize professional biographies with the Bio-Graphy Agent. This workflow uses a multi-agent system powered by GPT-5 to write, review, and enhance bios — then saves the final version directly to Google Docs. Who’s it for For professionals, creators, and marketers who want high-quality biographies for their profiles, portfolios, or LinkedIn — without spending hours writing or editing. How it works The user sends a chat message with details like name, age, and location. The Biography Agent generates a complete biography using the GPT-5 Chat Model. The Evaluator Agent reviews the bio and provides structured feedback. The Optimizer Agent refines tone, structure, and clarity based on that feedback. The final biography is saved automatically to Google Docs for easy access or publishing. How to set up Connect your Google account in n8n to enable document saving. Add your OpenAI (GPT-5 or compatible) credentials to the agent nodes. Customize prompts in the Biography, Evaluator, and Optimizer agents for your preferred writing style. Test the workflow by sending a chat message with basic personal details. Your completed bio will be generated, improved, and saved to your connected Google Docs. Requirements n8n Cloud or Self-hosted instance Google Docs integration OpenAI (GPT-compatible) credentials How to customize 🎯 Add personality: Adjust the prompts to make bios sound more friendly, formal, or humorous. 🌐 Change output: Send the result to Notion, Airtable, or Gmail instead of Google Docs. 🪄 Add another agent: Include a Grammar or Tone Correction agent for extra polish. 🧩 Extend use: Adapt it for “About Us” pages, resumes, or brand storytelling. Use this workflow to instantly generate professional, polished bios — powered by GPT-5 and automated through n8n.
by Robert Breen
This workflow pulls a Trello board → lists → cards, maps key fields (board, list, task names/descriptions), and asks OpenAI to summarize the board. ⚙️ Setup Instructions 1️⃣ Connect Trello (Developer API) Get your API key: https://trello.com/app-key Generate a token (from the same page → Token), or use: https://trello.com/1/authorize?expiration=never&name=n8n&scope=read,write&response_type=token&key=YOUR_API_KEY In n8n → Credentials → New → Trello API, paste API Key and Token, save. Open each Trello node (Get Board, Get Lists, Get Cards) and select your Trello credential. 2️⃣ Set Up OpenAI Create an API key: https://platform.openai.com/api-keys (If needed) Add billing: https://platform.openai.com/settings/organization/billing/overview In n8n → Credentials → New → OpenAI, paste your key, save. In the OpenAI Chat Model node, pick your credential and model (e.g., gpt-5-nano). 3️⃣ Add Your Board URL to “Get Board” Copy your Trello board URL (e.g., https://trello.com/b/DCpuJbnd/administrative-tasks). Open the Get Board node → Resource: Board, Operation: Get. In ID, choose URL mode and paste the board URL. The node will resolve the board and output its id → used by Get Lists / Get Cards. ▶️ Run Click Execute Workflow. The final Summarize Tasks step returns a concise board summary. 📬 Contact 📧 robert@ynteractive.com 🔗 Robert Breen 🌐 ynteractive.com
by Open Paws
Who’s it for 🎯 This workflow is designed for animal advocacy campaigners, strategists, and researchers who need detailed intelligence on corporate targets and their key stakeholders like executives, investors, and suppliers. How it works / What it does ⚙️ It uses the Multi-tool Research Agent subworkflow to research a target company, extract relevant sub-targets, and then runs focused research on each sub-target. It compiles all findings into a detailed HTML report outlining tailored campaign tactics. How to set up 🛠️ Import this workflow and the Multi-tool Research Agent subworkflow. Configure API credentials in n8n. Set the target company and campaign details. Test the workflow to verify multi-level research and report generation. Requirements 📋 n8n instance with internet access Valid API keys The Multi-tool Research Agent subworkflow installed and linked Optional email node for sending reports How to customize 🔧 Modify target inputs and sub-target extraction for different industries. Adjust research prompts in the subworkflow for style or focus. Customize the HTML report template for branding. Attach an email node to send reports automatically or route output as needed. Add error handling or branching for campaign specifics. Use this template to generate strategic, research-driven campaigns with actionable intelligence on complex corporate targets.
by Rosh Ragel
📌 What It Does This workflow connects a Telegram bot with your ClickUp workspace, allowing you to create, read, update, and delete tasks just by sending a message. The AI agent interprets natural language commands and takes the appropriate action — all without needing to open ClickUp. It’s like having a personal assistant inside Telegram that manages your task list for you. ✅ Prerequisites To use this workflow, you'll need the following credentials set up in n8n: Telegram Bot API Credential** (used in all Telegram nodes) ClickUp OAuth2 Credential** (for task operations) OpenAI Credential** (to power the AI agent that parses your commands) ⚠️ Before First Use Make sure to add your bot's user ID to the Ignore Bot Messages node. This prevents infinite loops caused by the bot responding to its own messages. If you're unsure of your bot's ID: Temporarily disable the two Telegram tool nodes connected to the AI Agent. Send a test message from the bot and capture its ID. Add that ID to the ignore filter, then re-enable the nodes. ⚙️ How It Works Trigger: The workflow starts when your Telegram bot receives a message. Ignore Self: If the message was sent by the bot itself, the workflow stops. AI Analysis: The message is passed to an AI agent (OpenAI) that determines what action to take. Decision Tree: 📌 Create a new task in ClickUp ✏️ Update an existing task 🔍 Find a task and return its details 🗑️ Delete a task ❓ Ask for more details if input is unclear ✅ Send confirmation or feedback to the user 💡 Example Use Cases “Add a task called ‘Follow up with supplier’ for tomorrow.” “What tasks are due this week?” “Update the task ‘Website Launch’ to ‘in progress’.” “Delete the task ‘Old client notes’.” This workflow is ideal for solo operators, remote teams, or anyone who wants to manage ClickUp while on the go — without switching apps. 🛠️ Setup Instructions Telegram Bot: Create a Telegram bot using BotFather Add your Telegram credential to all Telegram nodes in this workflow Bot ID Filter: Add your bot’s Telegram user ID to the Ignore Bot Messages node OpenAI Setup: Add your OpenAI credential to the AI Agent node ClickUp Integration: Connect your ClickUp credential Set your workspace, list, and folder IDs in the task creation and search nodes 🚀 How to Use Save the Telegram bot to your contacts Open the Telegram chat with your bot and send a message like: "Add a task to follow up with invoices every Friday" The bot will reply with confirmation or ask for clarification The task will appear in your ClickUp workspace within seconds 🔧 Customization Options Add new intents to the AI agent to support more actions (e.g., time tracking or comments) Customize the bot’s responses for branding or tone Add notifications or reminders using additional Telegram nodes ✨ Why It's Useful This workflow eliminates the friction of switching between Telegram and your task manager. It reduces manual data entry, saves time, and gives you a simple way to manage your to-do list using natural language — even on mobile. Perfect for freelancers, managers, or team leads who want a faster, more intuitive way to stay organized.
by Hashir Bin Waseem
Managing your inbox can feel like a full-time job. Some emails deserve an instant response, others need thoughtful handling, and many don’t need a reply at all. This workflow takes that weight off your shoulders by combining AI intelligence with human oversight, so you spend less time sorting and more time focusing on what matters. Why This Workflow Matters Think about how much energy gets drained just deciding: Should I reply to this now? Is this too sensitive for an automatic response? Or is this just noise I can safely ignore? This workflow does that decision-making for you. With the help of Google Gemini, it reads each incoming email, categorizes it, and then either: Replies instantly with a warm, professional message, Prepares a draft reply for you to review, Or does nothing if the message is irrelevant. It’s like having a personal assistant who knows when to step in and when to leave things for you. Benefits You’ll Notice Clarity in your inbox**: No more second-guessing which emails need your attention. Faster replies**: Routine messages get answered automatically in seconds. Peace of mind**: Sensitive or complex topics are flagged for your review, you’re always in control. Less mental clutter**: By ignoring noise (marketing blasts, spam, automated notifications), you can focus on meaningful conversations. Consistency**: Every reply feels polite, professional, and human, without you lifting a finger. Over time, you’ll notice your inbox feels lighter, your response times improve, and your focus shifts back to real work rather than inbox triage. How It Works Gmail Trigger catches every new incoming email. AI Categorizer decides whether the message should be: Reply (safe to answer immediately), Draft (needs your review), Nothing (ignore). AI Writer generates either a ready-to-send reply or a draft that feels natural and professional. Gmail Integration then either sends, drafts, or ignores, based on the AI’s decision. Use Cases Customer support**: Quick replies for common questions, while important issues get drafted for your review. Freelancers & solopreneurs**: Keep clients happy with fast replies, but stay safe on sensitive topics. Personal inbox management**: Lighten the load of newsletters, promotions, and low-value emails. Requirements An n8n instance (self-hosted or cloud). A Gmail account connected via OAuth2 in n8n. Google Gemini API access** for AI categorization and drafting. Basic familiarity with n8n workflows and how to connect credentials. FAQ Q: Will this replace my judgment entirely? No. It only automates what’s safe. Complex or sensitive emails are always drafted for you to review. Q: Can I customize how the AI writes replies? Yes. You can adjust the prompt inside the workflow to match your own style and tone. Q: What happens if the AI misclassifies an email? At worst, you’ll get a draft instead of an auto-reply. You’ll never lose control over sensitive communication. Q: Does this cost extra to run? Using Gmail via n8n is free, but you’ll need Google Gemini API access, which may come with its own usage limits or costs. ⚠️ Important Note: This workflow comes with no support. You need to be comfortable working with n8n, credentials, and AI nodes on your own. It’s provided as-is for the community to experiment with and adapt. Start using it, and you’ll quickly see how much lighter your inbox feels.
by Oneclick AI Squad
This workflow automates flight price comparison across multiple booking platforms (Kayak, Skyscanner, Expedia, Google Flights). It accepts natural language queries, extracts flight details using NLP, scrapes prices in parallel, identifies the best deals, and sends professional email reports with comprehensive price breakdowns and booking links. 📦 What You'll Get A fully functional, production-ready n8n workflow that: ✅ Compares flight prices across 4 major platforms (Kayak, Skyscanner, Expedia, Google Flights) ✅ Accepts natural language requests ("Flight from NYC to London on March 25") ✅ Sends beautiful email reports with best deals ✅ Returns real-time JSON responses for web apps ✅ Handles errors gracefully with helpful messages ✅ Includes detailed documentation with sticky notes 🚀 Quick Setup (3 Steps) Step 1: Import Workflow to n8n Copy the JSON from the first artifact (workflow file) Open n8n → Go to Workflows Click "Import from File" → Paste JSON → Click Import ✅ Workflow imported successfully! Step 2: Setup Python Scraper On your server (where n8n SSH nodes will connect): Navigate to your scripts directory cd /home/oneclick-server2/ Create the scraper file nano flight_scraper.py Copy the entire Python script from the second artifact Save with Ctrl+X, then Y, then Enter Make it executable chmod +x flight_scraper.py Install required packages pip3 install selenium Install Chrome and ChromeDriver sudo apt update sudo apt install -y chromium-browser chromium-chromedriver Test the scraper python3 flight_scraper.py JFK LHR 2025-03-25 2025-03-30 round-trip 1 economy kayak Expected Output: Delta|$450|7h 30m|0|10:00 AM|6:30 PM|https://kayak.com/... British Airways|$485|7h 45m|0|11:30 AM|8:15 PM|https://kayak.com/... ... Step 3: Configure n8n Credentials A. Setup SMTP (for sending emails): In n8n: Credentials → Add Credential → SMTP Fill in details: Host: smtp.gmail.com Port: 587 User: your-email@gmail.com Password: [Your App Password] For Gmail Users: Enable 2FA: https://myaccount.google.com/security Create App Password: https://myaccount.google.com/apppasswords Use the 16-character password in n8n B. Setup SSH (already configured if you used existing credentials): In workflow, SSH nodes use: ilPh8oO4GfSlc0Qy Verify credential exists and points to correct server Update path if needed: /home/oneclick-server2/ C. Activate Workflow: Click the workflow toggle → Active ✅ Webhook is now live! 🎯 How to Use Method 1: Direct Webhook Call curl -X POST https://your-n8n-domain.com/webhook/flight-price-compare \ -H "Content-Type: application/json" \ -d '{ "message": "Flight from Mumbai to Dubai on 15th March, round-trip returning 20th March", "email": "user@example.com", "name": "John Doe" }' Response: { "success": true, "message": "Flight comparison sent to user@example.com", "route": "BOM → DXB", "bestPrice": 450, "airline": "Emirates", "totalResults": 18 } Method 2: Natural Language Queries The workflow understands various formats: ✅ All these work: "Flight from New York to London on 25th March, one-way" "NYC to LHR March 25 round-trip return March 30" "I need a flight from Mumbai to Dubai departing 15th March" "JFK LHR 2025-03-25 2025-03-30 round-trip" Supported cities (auto-converts to airport codes): New York → JFK London → LHR Mumbai → BOM Dubai → DXB Singapore → SIN And 20+ more cities Method 3: Structured JSON { "from": "JFK", "to": "LHR", "departure_date": "2025-03-25", "return_date": "2025-03-30", "trip_type": "round-trip", "passengers": 1, "class": "economy", "email": "user@example.com", "name": "John" } 📧 Email Report Example Users receive an email like this: FLIGHT PRICE COMPARISON Route: JFK → LHR Departure: 25 Mar 2025 Return: 30 Mar 2025 Trip Type: round-trip Passengers: 1 🏆 BEST DEAL British Airways Price: $450 Duration: 7h 30m Stops: Non-stop Platform: Kayak 💰 Save $85 vs highest price! 📊 ALL RESULTS (Top 10) British Airways - $450 (Non-stop) - Kayak Delta - $475 (Non-stop) - Google Flights American Airlines - $485 (Non-stop) - Expedia Virgin Atlantic - $495 (Non-stop) - Skyscanner United - $520 (1 stop) - Kayak ... Average Price: $495 Total Results: 23 Prices subject to availability. Happy travels! ✈️ 🔧 Customization Options Change Scraping Platforms Add more platforms: Duplicate an SSH scraping node Change platform parameter: kayak → new-platform Add scraping logic in flight_scraper.py Connect to "Aggregate & Analyze Prices" node Remove platforms: Delete unwanted SSH node Workflow continues with remaining platforms Modify Email Format Edit the "Format Email Report" node: // Change to HTML format const html = ` <!DOCTYPE html> <html> <body> Flight Deals Best price: ${bestDeal.currency}${bestDeal.price} </body> </html> `; return [{ json: { subject: "...", html: html, // Instead of text ...data } }]; Then update "Send Email Report" node: Change emailFormat to html Use {{$json.html}} instead of {{$json.text}} Add More Cities/Airports Edit "Parse & Validate Flight Request" node: const airportCodes = { ...existing codes..., 'berlin': 'BER', 'rome': 'FCO', 'barcelona': 'BCN', // Add your cities here }; Change Timeout Settings In each SSH node, add: "timeout": 30000 // 30 seconds 🐛 Troubleshooting Issue: "No flights found" Possible causes: Scraper script not working Website structure changed Dates in past Invalid airport codes Solutions: Test scraper manually cd /home/oneclick-server2/ python3 flight_scraper.py JFK LHR 2025-03-25 "" one-way 1 economy kayak Check if output shows flights If no output, check Chrome/ChromeDriver installation Issue: "Connection refused" (SSH) Solutions: Verify SSH credentials in n8n Check server is accessible: ssh user@your-server Verify path exists: /home/oneclick-server2/ Check Python installed: which python3 Issue: "Email not sending" Solutions: Verify SMTP credentials Check email in spam folder For Gmail: Confirm App Password is used (not regular password) Test SMTP connection: telnet smtp.gmail.com 587 Issue: "Webhook not responding" Solutions: Ensure workflow is Active (toggle on) Check webhook path: /webhook/flight-price-compare Test with curl command (see "How to Use" section) Check n8n logs: Settings → Log Streaming Issue: "Scraper timing out" Solutions: In flight_scraper.py, increase wait times time.sleep(10) # Instead of time.sleep(5) Or increase WebDriverWait timeout WebDriverWait(driver, 30) # Instead of 20 📊 Understanding the Workflow Node-by-Node Explanation 1. Webhook - Receive Flight Request Entry point for all requests Accepts POST requests Path: /webhook/flight-price-compare 2. Parse & Validate Flight Request Extracts flight details from natural language Converts city names to airport codes Validates required fields Returns helpful errors if data missing 3. Check If Request Valid Routes to scraping if valid Routes to error response if invalid 4-7. Scrape [Platform] (4 nodes) Run in parallel for speed Each calls Python script with platform parameter Continue on failure (don't break workflow) Return pipe-delimited flight data 8. Aggregate & Analyze Prices Collects all scraper results Parses flight data Finds best overall deal Finds best non-stop flight Calculates statistics Sorts by price 9. Format Email Report Creates readable text report Includes route details Highlights best deal Lists top 10 results Shows statistics 10. Send Email Report Sends formatted email to user Uses SMTP credentials 11. Webhook Response (Success) Returns JSON response immediately Includes best price summary Confirms email sent 12. Webhook Response (Error) Returns helpful error message Guides user on what's missing 🎨 Workflow Features ✅ Included Features Natural Language Processing**: Understands flexible input formats Multi-Platform Comparison**: 4 major booking sites Parallel Scraping**: All platforms scraped simultaneously Error Handling**: Graceful failures, helpful messages Email Reports**: Professional format with all details Real-Time Responses**: Instant webhook feedback Sticky Notes**: Detailed documentation in workflow Airport Code Mapping**: Auto-converts 20+ cities 🚧 Not Included (Easy to Add) Price Alerts**: Monitor price drops (add Google Sheets) Analytics Dashboard**: Track searches (add Google Sheets) SMS Notifications**: Send via Twilio Slack Integration**: Post to channels Database Logging**: Store searches in PostgreSQL Multi-Currency**: Show prices in the user's currency 💡 Pro Tips Tip 1: Speed Up Scraping Use faster scraping service (like ScraperAPI): // Replace SSH nodes with HTTP Request nodes { "url": "http://api.scraperapi.com", "qs": { "api_key": "YOUR_KEY", "url": "https://kayak.com/flights/..." } } Tip 2: Cache Results Add caching to avoid duplicate scraping: // In Parse node, check cache first const cacheKey = ${origin}-${dest}-${departureDate}; const cached = await $cache.get(cacheKey); if (cached && Date.now() - cached.time < 3600000) { return cached.data; // Use 1-hour cache } Tip 3: Add More Platforms Easy to add Momondo, CheapOair, etc.: Add function in flight_scraper.py Add SSH node in workflow Connect to aggregator Tip 4: Improve Date Parsing Handle more formats: // Add to Parse node const formats = [ 'DD/MM/YYYY', 'MM-DD-YYYY', 'YYYY.MM.DD', // Add your formats ];
by Thomas
"I used to spend hours every week just copy-pasting product descriptions to find the right tariff codes for our international shipments. It was tedious and prone to errors." - Accounting specialist. This workflow eliminates that manual work entirely. It automatically finds customs tariff numbers (also known as HS Codes or "Zolltarifnummern") for your products and enriches your data in Google Sheets. It offers two powerful modes: bulk processing for entire product lists and an on-demand chat interface for quick single lookups. new features added the API score in percentage (80 to 100% is perfect, 70-80% still good) added description of the found HS Code to better verify the accuracy -please keep in mind, that is still a beta https://www.zolltarifnummern.de/services/api What this workflow does Bulk Enrichment from Google Sheets:** Reads a list of product descriptions from a specified Google Sheet. External API Lookup:** For each product, it queries the zolltarifnummern.de API to find the most relevant customs tariff number. Automated Data Update:** Writes the found tariff numbers back into the correct row in your Google Sheet. On-Demand Single Lookup:** Use the integrated Chat Trigger to instantly look up a tariff number for a single product description without leaving n8n. Completion Notification:** Sends a confirmation email via Gmail once the bulk processing job is finished. Nodes Used Google Sheets HTTP Request Loop Over Items (Split in Batches) Set Gmail Chat Trigger Manual Trigger Preparation A Google Sheet prepared with at least two columns: one for your product descriptions (e.g., ProductDescription) and an empty one for the results (e.g., TariffCode). How to set up this workflow Configure Google Sheets (Read): Open the "Read Item Descriptions" node. Select your Google Sheets credentials. Enter your Spreadsheet ID and the name of the sheet containing your product data. Make sure the "Columns to Read" field includes the name of your product description column. Configure Google Sheets (Update): Open the "Write Customs Tariff to Sheet" node. Select the same Google Sheets credentials. Enter the same Spreadsheet ID and Sheet Name. Under Columns, set Matching Columns to your product description column name. This is crucial for updating the correct rows. Configure Email Notification: Open the "Send Completion Email" (Gmail) node. Select your Gmail credentials. In the Send To field, enter the email address where you want to receive the completion notification. Run the Workflow: For Bulk Processing: Activate the workflow and execute the "Abfrage starten" (Start Query) Manual Trigger. For a Single Lookup: Use the Chat Trigger. Open the chat pane, type a product description, and hit send. The workflow will return the suggested tariff number.
by Oneclick AI Squad
This n8n workflow transforms uploaded health details or lab reports received via email into a customized diet plan using AI analysis, then sends the plan back to the user via email, optimizing nutrition based on individual health data. Why Use It This workflow automates the creation of personalized diet plans from health data, saving time for nutritionists, improving patient outcomes with AI-driven insights, and providing a convenient email delivery system for users. How to Import It Download the Workflow JSON: Obtain the workflow file from the n8n template or create it based on this document. Import into n8n: In your n8n instance, go to "Workflows," click the three dots, select "Import from File," and upload the JSON. Configure Credentials: Set up email (e.g., IMAP for receiving, SMTP for sending), AI model, and optional Google Sheets credentials in n8n. Run the Workflow: Test with a sample email containing health data and verify the diet plan delivery. System Architecture Data Input Pipeline**: Email Trigger: Initiates the workflow when a health report email is received. Extract Health Data: Parses uploaded health details or lab reports from the email. AI Analysis Flow**: Send to AI Model: Analyzes health data using an AI model. Generate Diet Plan: Creates a customized diet plan based on AI output. Delivery Flow**: Prepare Email Content: Formats the diet plan for email delivery. Send Diet Plan Email: Sends the plan to the user via SMTP. Update Log (Optional): Logs the process in a Google Sheet. Google Sheet Structure Columns**: timestamp: Date and time of the diet plan generation. user_email: User’s email address for receiving the plan. health_data: Extracted health metrics or lab report summary. condition: AI-identified health condition. diet_plan: Generated diet plan summary. sent_status: Status of email delivery (e.g., Sent, Failed). Customization Add SMS Alerts**: Integrate Twilio or WhatsApp for additional notifications. Enhance AI**: Train the AI model with more nutritional data for better plans. Include Recipes**: Add a node to suggest recipes based on the diet plan. Multilingual Support**: Adapt email content for different languages. Integration with Apps**: Connect to fitness apps (e.g., MyFitnessPal) for tracking. Requirements Email Service**: IMAP (e.g., Gmail) for receiving health data emails and SMTP for sending diet plans. AI Model**: Ollama or similar for health analysis and diet plan generation (requires API access). n8n Instance**: With email (IMAP/SMTP) and AI connectors configured. Internet Connection**: To access email and AI APIs. Optional Google Sheets Account**: For logging health data and diet plans. User Consent**: Ensure compliance with data privacy laws (e.g., HIPAA) for health data. Want a tailored workflow for your business? Our experts can craft it quickly Contact our team
by Aitor | 1Node
This automated n8n workflow streamlines lead qualification by taking structured lead data from Tally forms, enriching it with Qwen-3’s AI analysis, and promptly notifying your sales or delivery teams. It provides concise summaries, actionable insights, and highlights missing information to focus outreach efforts efficiently. The workflow includes security best practices to prevent prompt injections and ensures data integrity and privacy throughout. Requirements Tally Forms A Tally account with an active lead qualification form Webhook integration enabled to send form responses to n8n Qwen-3 Large Language Model API key and access to your chosen AI model via OpenRouter Gmail Notification Gmail account credentials connected in n8n Workflow Breakdown Trigger: Receive Tally form submission via n8n Webhook The workflow starts from a Webhook node listening for POST requests from your Tally form. Extract and map Tally form data Parse JSON to obtain fields like Company Name, Full Name, Work Email, Employee Count, Industry, Main Challenges Encountered, Goals With the Project, Urgency or Date When Solution Is Needed, Estimated Budget, and Anything Else We Should Know. Construct the Lead Qualification prompt Combine a secure system prompt with user data from the form. This prompt instructs Qwen-3 to generate summaries, identify key challenges, recommend action points, suggest follow-up questions, and more. Send notification with AI analysis Deliver the formatted message through your chosen channel(s) such as email or Slack, enabling your team to quickly act on qualified leads. Potential Improvements Capture Lead Role and Authority:** Add fields to the form for role and decision-making authority to improve lead qualification accuracy. Expand Notification Channels:** Include SMS or Microsoft Teams notifications alongside email and Slack for better team reach. Automate Lead Scoring:** Incorporate a numeric or qualitative lead score based on key input factors to prioritize follow-ups. Integrate CRM Task Creation:** Automatically create follow-up tasks or reminders in CRM systemss. 🙋♂️ Need Help? Feel free to contact us at 1 Node Get instant access to a library of free resources we created.
by WeblineIndia
⚙️ Advanced Equipment Health Monitor with MS Teams Integration (n8n | API | Google Sheets | MSTeams) This n8n workflow automatically monitors equipment health by fetching real-time metrics like temperature, voltage and operational status. If any of these parameters cross critical thresholds, an alert is instantly sent to a Microsoft Teams channel and the event is logged in Google Sheets. The workflow runs every 15 minutes by default. ⚡ Quick Implementation Steps Import the workflow JSON into your n8n instance. Open the "Set Config" node and update: API endpoint Teams webhook URL Threshold values Google Sheet ID Activate the workflow to start receiving alerts every 15 minutes. 🎯 Who’s It For Renewable energy site operators (solar, wind) Plant maintenance and operations teams Remote infrastructure monitoring services IoT-integrated energy platforms Enterprise environments using Microsoft Teams 🛠 Requirements | Tool | Purpose | |------|---------| | n8n Instance | To run and schedule automation | | HTTP API | Access to your equipment or IoT platform health API | | Microsoft Teams | Incoming Webhook URL configured | | Google Sheets | Logging and analytics | | SMTP (optional) | For email-based alternatives or expansions | 🧠 What It Does Runs every 15 minutes** to check the latest equipment metrics. Compares values** (temperature, voltage, status) against configured thresholds. Triggers a Microsoft Teams message** when a threshold is breached. Appends the alert data** to a Google Sheet for logging and review. 🧩 Workflow Components Set Node:** Configures thresholds, endpoints, webhook URL and Sheet ID. Cron Node:** Triggers the check every 15 minutes. HTTP Request Node:** Pulls data from your equipment health monitoring API. IF Node:** Evaluates if conditions are within or outside defined limits. MS Teams Alert Node:** Sends structured alerts using a Teams incoming webhook. Google Sheets Node:** Logs alert details for recordkeeping and analytics. 🔧 How To Set Up – Step-by-Step Import Workflow: In n8n, click Import and upload the provided .json file. Update Configurations: Open the Set Config node. Replace the placeholder values: apiEndpoint: URL to fetch equipment data. teamsWebhookUrl: Your MS Teams channel webhook. temperatureThreshold: Example = 80 voltageThreshold: Example = 400 googleSheetId: Google Sheet ID (must be shared with n8n service account). Check Webhook Integration: Ensure your MS Teams webhook is properly authorized and points to a live channel. Run & Monitor: Enable the workflow and view logs/alerts. Adjust thresholds as needed. 🧪 How To Customize | Customization | How | |---------------|-----| | Add more parameters (humidity, pressure) | Extend the HTTP + IF node conditions | | Change alert frequency | Edit the Cron node | | Use Slack or Email instead of Teams | Replace MS Teams node with Slack or Email node | | Add PDF Report Generation | Use HTML → PDF node and email the report | | Export to Database | Add a PostgreSQL or MySQL node instead of Google Sheets | ➕ Add‑ons (Advanced) | Add-on | Description | |--------|-------------| | 📦 Auto-Ticketing | Auto-create issues in Jira, Trello or ClickUp for serious faults | | 📊 Dashboard Sync | Send real-time logs to BigQuery or InfluxDB | | 🧠 Predictive Alerts | Use machine learning APIs to flag anomalies | | 🗂 Daily Digest | Compile all incidents into a daily summary email or Teams post | | 📱 Mobile Alert | Integrate Twilio for SMS alerts or WhatsApp notifications | 📈 Example Use Cases Monitor solar inverter health for overheating or voltage drops. Alert field engineers via Teams when a wind turbine sensor fails. Log and visualize hardware issues for weekly analytics. Automate SLA compliance tracking through timely notifications. Ensure distributed infrastructure (e.g., substations) are always in operational range. 🧯 Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|----------| | No Teams alert | Incorrect webhook URL or formatting | Recheck the Teams webhook and payload | | Workflow not triggering | Cron node misconfigured | Ensure it’s set to run every 15 mins and workflow is active | | Google Sheet not updating | Sheet ID is wrong or not shared | Share Sheet with your n8n Google service account | | No data from API | Endpoint URL is down or wrong | Test the endpoint manually with Postman or browser | 📞 Need Assistance? Need help tailoring this to your exact equipment type or expanding the workflow? 👉 Contact WeblineIndia – Expert automation partners for renewable energy, infrastructure and enterprise workflows.
by Stéphane Heckel
Keep your Google Sheets contacts in sync with SeaTable Update or Insert records in SeaTable How it works Use a Google Sheet as your central contact list. For each contact in the sheet: Check if the record already exists in SeaTable (based on email). If it exists → update the record. If it doesn’t → insert the new contact. How to use Copy the Google Sheet Template Link. Get the Google Sheet ID (the string between d/ and /edit). In the workflow, set the Sheet ID in the settings node. In SeaTable, create or update a base with a Table1 containing these fields: email firstname lastname company Configure your Google Sheets and SeaTable credentials in n8n. Add your own contacts to the Google Sheet & run the workflow Requirements Google credentials (for Sheets access) SeaTable account (Cloud) n8n (tested on version 1.105.2, Ubuntu) Example use cases Maintain a central CRM-like database in SeaTable. Ensure consistent contact data when collecting leads in Google Sheets. Automate record deduplication (prevent duplicate entries). Need Help? Join the discussion here or contact me directly on LinkedIn. Ask the community in the n8n Forum.
by Nguyen Thieu Toan
🎬 TikTok Video Downloader (No Watermark) - Telegram Bot > Download TikTok videos instantly without watermarks via Telegram > Fast, reliable, and user-friendly automated workflow ✨ What This Workflow Does This powerful automation turns your Telegram bot into a TikTok video downloader. Simply send any TikTok link, and the bot will: ✅ Validate the URL automatically ⚡ Extract video without watermark 📊 Display video statistics (views, likes, author) 🚀 Send the clean video file directly to you No ads. No watermarks. Pure automation magic. 🎯 Key Features | Feature | Description | |---------|-------------| | 🔍 Smart Validation | Automatically checks if the link is a valid TikTok URL | | 💬 Real-time Feedback | Keeps users informed with status messages at every step | | ⚠️ Error Handling | Catches and explains errors in user-friendly language | | 📈 Video Analytics | Shows author name, view count, and likes | | 🎥 High Quality | Downloads original video quality without TikTok watermark | | ⚡ Fast Processing | Optimized HTTP requests with proper headers and timeouts | 🔧 How It Works Workflow Flow Diagram 📱 User sends TikTok link ↓ ✅ URL Validation ├─ Valid → Continue └─ Invalid → Send error message ↓ 💬 Send "Processing..." status ↓ 🌐 Fetch TikTok page HTML ↓ 🔍 Extract video URL from page data ↓ ⬇️ Download video file (no watermark) ↓ 📤 Send video to user with stats Technical Process Trigger Reception: Telegram webhook receives user message URL Validation: IF node checks for tiktok.com or vm.tiktok.com domains User Feedback: Bot sends "uploading video..." chat action + status message Variable Configuration: Stores chat ID and video URL for later use HTML Fetching: HTTP request to TikTok with browser-like headers Data Extraction: JavaScript code parses UNIVERSAL_DATA_FOR_REHYDRATION JSON Video Download: HTTP request with proper cookies and referrer headers Delivery: Telegram sends video file with formatted caption including stats Error Handling Strategy Each critical node (HTTP requests, code execution) has error output enabled: On Success**: Continues to next processing step On Error**: Routes to "Format Error" → "Send Error Message" path User Experience**: Clear, actionable error messages instead of silent failures 🚀 Set Up Steps Prerequisites ✅ n8n instance (v1.116.0 or higher) ✅ Telegram Bot Token (Create via @BotFather) ✅ Basic understanding of n8n workflows Step 1: Import Workflow Copy the workflow JSON In n8n, click "+ Add workflow" → "Import from JSON" Paste the JSON and click "Import" Step 2: Configure Telegram Credentials Click on any Telegram node Select "Create New Credential" in the Credentials dropdown Enter your Bot Token from @BotFather Click "Save" All Telegram nodes will automatically use this credential Step 3: Enable Error Handling ⚠️ CRITICAL You MUST manually configure error outputs on these 3 nodes: Node: "Get TikTok Page HTML" Click the node → Settings tab Find "On Error" section Select "Continue With Error Output" Click Save Node: "Extract Video URL" Click the node → Settings tab Set "On Error" to "Continue With Error Output" Click Save Node: "Download Video File" Click the node → Settings tab Set "On Error" to "Continue With Error Output" Click Save > 💡 Why? n8n cannot import error handling settings via JSON. This manual step ensures errors are caught instead of crashing the workflow. Step 4: Activate Workflow Click the "Active" toggle in the top-right corner The workflow is now listening for Telegram messages Step 5: Test Your Bot Open Telegram and find your bot Send a TikTok link like: https://www.tiktok.com/@user/video/123456789 Watch the magic happen! 🎉 🧪 Testing Scenarios | Test Case | Input | Expected Output | |-----------|-------|----------------| | Valid Video | Working TikTok link | ✅ Video file + stats caption | | Invalid URL | hello world | ❌ "Please send valid TikTok link" | | Deleted Video | Link to deleted video | ❌ "Video data not found" error | | Private Video | Private account video | ❌ "Video may be private" error | | Short Link | https://vm.tiktok.com/abc | ✅ Resolves and downloads | 🎨 Customization Ideas Change Language Edit text in Telegram nodes to translate messages: "⏳ Downloading video..." → "⏳ Đang tải video..." Add Video Compression Insert a Compress node between "Download Video File" and "Send Video to User" for smaller files. Store Statistics Add a Google Sheets node after "Extract Video URL" to log: Video URL Author Views/Likes Download timestamp Multi-Platform Support Duplicate the workflow and modify URL validation + extraction logic for Instagram, YouTube Shorts, etc. Rate Limiting Add a Wait node (2 seconds) before "Get TikTok Page HTML" to avoid IP bans. 🐛 Troubleshooting Problem: Bot doesn't respond ✅ Check if workflow is Active ✅ Verify Telegram credentials are correct ✅ Check Executions tab for errors Problem: "Video data not found" error ✅ TikTok may have changed their HTML structure ✅ Update the regex in "Extract Video URL" node ✅ Check if video is actually deleted/private Problem: Download fails ✅ Ensure "On Error" is set to "Continue With Error Output" ✅ Check if your IP is blocked by TikTok (use VPN) ✅ Verify headers in "Download Video File" node Problem: Error messages not appearing ✅ Double-check error output connections (red dots) ✅ Make sure "Format Error" node references correct variables ✅ Test by intentionally breaking a node (invalid URL) 📊 Performance Metrics | Metric | Value | |--------|-------| | Average Processing Time | 5-10 seconds | | Success Rate | ~95% (valid public videos) | | Max Video Size | Limited by Telegram (50MB) | | Concurrent Users | Unlimited (webhook-based) | 🔐 Privacy & Security ✅ No Data Storage: Videos are streamed directly to users, not stored ✅ No Logging: User IDs and links are processed in-memory only ✅ Secure Headers: Mimics browser requests to avoid detection ✅ Error Sanitization: Sensitive data is filtered from error messages 📚 Technical Stack n8n Version**: 1.116.0+ Node Types Used**: telegramTrigger (v1.2) telegram (v1.2) if (v2.2) set (v3.4) httpRequest (v4.2) code (v2) stickyNote (v1) External APIs**: TikTok CDN, Telegram Bot API 🎓 Learning Resources Want to understand the workflow better? Check these concepts: n8n Error Handling Telegram Bot API HTTP Request Headers JavaScript Code Node 🤝 Contributing Found a bug? Have an improvement idea? Test your changes thoroughly Document any new nodes or logic Share your enhanced workflow with the community Credit the original author (see below) 👨💻 About the Author Nguyen Thieu Toan n8n Automation Specialist & Workflow Creator 🌐 Website: nguyenthieutoan.com 📧 Contact: Available on website 🎯 Specialty: Building production-ready n8n workflows for real-world automation > "I create workflows that just work. No fluff, no complexity—just reliable automation that saves time and solves problems." Other Workflows by Nguyen Thieu Toan 🎵 Spotify to YouTube Playlist Converter 📸 Instagram Media Downloader Bot 📊 Multi-Channel Social Media Scheduler 🔄 Automated Content Repurposing Pipeline Visit nguyenthieutoan.com for more automation workflows and tutorials. 📝 License & Attribution This workflow is provided free of charge for personal and commercial use. Required Attribution: When sharing or modifying: Include author name and website link When showcasing: Tag @nguyenthieutoan or link to nguyenthieutoan.com Not Required But Appreciated: Star the workflow on n8n community Share your success story Suggest improvements 🎉 Version History | Version | Date | Changes | |---------|------|---------| | 2.0 | 2025-10-22 | • Added comprehensive error handling• Improved user feedback• Added video statistics• English language support• Enhanced documentation | | 1.0 | 2025-10-21 | • Initial release• Basic download functionality | ⭐ Support This Work If this workflow saved you time: ⭐ Star it on n8n community 📢 Share with fellow automation enthusiasts 💬 Leave feedback on nguyenthieutoan.com ☕ Buy me a coffee (link on website) Happy Automating! 🚀 Last Updated: October 22, 2025 Workflow Name: TikTok Video Downloader (No Watermark) - Telegram Bot Author: Nguyen Thieu Toan