by Anir Agram
🛡️📥 Telegram Invoice Agent → 🔎 OCR → 🤖 AI Parsing → 📄 Google Sheets + 🗂️ Drive What this workflow does 🤖 Captures invoices from Telegram and auto-downloads PDFs/images. 🔎 Runs OCR, then uses AI to structure clean invoice fields. 📄 Appends parsed data to a Google Sheets “Invoice Database.” 🗂️ Uploads the original file to Google Drive with a neat name. 💬 Sends a friendly Telegram summary with totals, due date, notes, and link. Why it’s useful ⚡ Faster bookkeeping with zero manual copy-paste. 🧱 Consistent schema for reliable reporting and pivots. 👥 Team-friendly drop-and-log via Telegram. 🧩 Easy to extend with approvals, ERP/CRM sync, or vendor routing. How it works 📲 Telegram Trigger → file received. 🌐 HTTP OCR (OCR.space) → text extracted. 🤖 AI Agent → maps to strict JSON schema. 📄 Google Sheets → appends structured row. 🗂️ Google Drive → saves original invoice. 💬 Telegram → concise confirmation and links. What you’ll need 🤖 Telegram Bot token. 🔑 OCR API key (OCR.space: free tier; upgrade for volume/accuracy). 🔐 Google OAuth for Sheets + Drive. 🧠 LLM account (e.g., Gemini/OpenAI-compatible). Setup steps 🔗 Connect credentials: Telegram, Google, OCR, AI. 📄 Prepare Sheet columns: Invoice Number, Date, Total Amount ($), Billing Address, Due Date, Notes. 🧭 Update sheet ID and Drive folder ID. 🧪 Test: send a sample invoice and validate OCR, AI output, row append, and Drive link. Customization ideas 🎯 Higher accuracy OCR: swap to Google Vision. 📊 Line items: extract into a second tab for analytics. ✅ Approvals: add Telegram keyboard confirmation before write. 🧯 Robustness: IF/Retry on empty OCR; user prompt to retake photo. Who it’s for 🧑💻 Freelancers/agencies needing fast invoice intake via Telegram. 🧾 Small finance teams wanting a searchable ledger with links to originals. 🏗️ Builders extending to ERPs/CRMs and custom accounting flows. Want help customizing? 📧 anirpoke@gmail.com 🔗 Linkedin
by Robert Breen
Create multi-sheet Excel workbooks in n8n to automate reporting using Google Drive + Google Sheets Build an automated Excel file with multiple tabs directly in n8n. Two Code nodes generate datasets, each is converted into its own Excel worksheet, then combined into a single .xlsx and (optionally) appended to a Google Sheet for sharing—eliminating manual copy-paste and speeding up reporting. Who’s it for Teams that publish recurring reports as Excel with multiple tabs Ops/Marketing/Data folks who want a no-code/low-code way to package JSON into Excel n8n beginners learning the Code → Convert to File → Merge pattern How it works Manual Trigger starts the run. Code nodes emit JSON rows for each table (e.g., People, Locations). Convert to File nodes turn each JSON list into an Excel binary, assigning Sheet1/Sheet2 (or your names). Merge combines both binaries into a single Excel workbook with multiple tabs. Google Sheets (optional) appends the JSON rows to a live spreadsheet for collaboration. Setup (only 2 connections) 1️⃣ Connect Google Sheets (OAuth2) In n8n → Credentials → New → Google Sheets (OAuth2) Sign in with your Google account and grant access Copy the example sheet referenced in the Google Sheets node (open the node and duplicate the linked sheet), or select your own In the workflow’s Google Sheets node, select your Spreadsheet and Worksheet https://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit?gid=1978181834#gid=1978181834 2️⃣ Connect Google Drive (OAuth2) In n8n → Credentials → New → Google Drive (OAuth2) Sign in with the Google account that will store your Excel outputs and allow access In your Drive-related nodes (if used), point to the folder where you want the .xlsx saved or retrieved Customize the workflow Replace the sample arrays in the Code nodes with your data (APIs, DBs, CSVs, etc.) Rename sheetName in each Convert to File node to match your desired tab names Keep the Merge node in Combine All mode to produce a single workbook In Google Sheets, switch to Manual mapping for strict column order (optional) Best practices (per template guidelines) Rename nodes** to clear, action-oriented names (e.g., “Build People Sheet”, “Build Locations Sheet”) Add a yellow Sticky Note at the top with this description so users see setup in-workflow Do not hardcode credentials** inside HTTP nodes; always use n8n Credentials Remove personal IDs/links before publishing Sticky Note (copy-paste) > Multi-Tab Excel Builder (Google Drive + Google Sheets) > This workflow generates two datasets (Code → JSON), converts each to an Excel sheet, merges them into a single workbook with multiple tabs, and optionally appends rows to Google Sheets. > > Setup (2 connections): > 1) Google Sheets (OAuth2): Create credentials → duplicate/select your target spreadsheet → set Spreadsheet + Worksheet in the node. > 2) Google Drive (OAuth2): Create credentials → choose the folder for storing/retrieving the .xlsx. > > Customize: Edit the Code nodes’ arrays, rename tab names in Convert to File, and adjust the Sheets node mapping as needed. Troubleshooting Missing columns / wrong order:* Use *Manual mapping** in the Google Sheets node Binary not found:* Ensure each *Convert to File* node’s binaryPropertyName matches what *Merge** expects Permissions errors:** Re-authorize Google credentials; confirm you have edit access to the target Sheet/Drive folder 📬 Contact Need help customizing this (e.g., filtering by campaign, sending reports by email, or formatting your PDF)? 📧 rbreen@ynteractive.com 🔗 https://www.linkedin.com/in/robert-breen-29429625/ 🌐 https://ynteractive.com
by Mutasem
Use case This workflow snoozes any Todoist tasks, by moving them into a Snoozed todoist list and unsnoozes them 3 days before due date. Helps keep inbox clear only of tasks you need to worry about soon. How to setup Add your Todoist creds Create a Todoist project called snoozed Set the project ids in the relevant nodes Add due dates to your tasks in Inbox. Watch them disappear to snoozed. Set their date to tomorrow, watch it return to inbox. How to adjust this template Adjust the timeline.. Maybe 3 days is too close for you. Works mostly for me :)
by George Zargaryan
AI Real Estate Agent with OpenRouter and SrpAPI to talk with property objects from propertyfinder.ae This n8n template demonstrates a simple AI Agent that can: Scrape information from a provided propertyfinder.ae listing link. Answer questions about a specific property using the scraped information. Use SerpAPI to find details that are missing from the scraped data. Answer general real-estate questions using SerpAPI. Use Case This workflow serves as a starting point for building complex AI assistants for real estate or other domains. See the demo video Potential Enhancements Expand Knowledge:** Augment the workflow with your own knowledge base using a vector database (RAG approach). Add More Sources:** Adapt the scraper to support other real estate websites. Optimize Speed:** Add a cache for scraped data to reduce response latency. Improve Context Handling:** Implement reliable persistence to track the current listing instead of iterating through conversation history. Customize Prompts:** Write more tailored prompts for your specific needs (the current one is for demonstration only). Integrate Channels:** Connect the workflow to communication channels like Instagram, Telegram, or WhatsApp. How It Works The workflow is triggered by a "When chat message received" node for simple demonstration. The Chat Memory Manager node extracts the last 30 messages for the current session. A code node finds the property link, first by checking the most recent user message and then by searching the conversation history. If a link is found, an HTTP Request node scrapes the HTML content from the listing page. The Summarize code node parses the HTML, retrieves key information, and passes it to the AI Agent as a temporary knowledge base. The final AI Agent node answers user queries using the scraped knowledge base and falls back to the SerpAPI tool when information is missing. How to Use You can test this workflow directly in n8n or integrate it into any social media channel or your website. The AI Agent node is configured to use OpenRouter. Add your OpenRouter credentials, or replace the node with your preferred LLM provider. Add your SerpAPI key to the SerpAPI tool within the AI Agent node. Requirements An API key for OpenRouter (or credentials for your preferred LLM provider). A SerpAPI key. You can get one from their website; a free plan is available for testing. Need Help Building Something More? Contact me on: Telegram:** @ninesfork LinkedIn:** George Zargaryan Happy Hacking! 🚀
by johappel
Main Workflow “AI Nextcloud” Entry point**: A public chat-trigger greets the user; every incoming chat message starts the flow. AI agent**: A LangChain agent (“AI Nextcloud”) uses the configured OpenAI model plus short-term memory to continue the dialogue in context. Purpose**: Answers questions about files stored in a Nextcloud folder. The user simply includes the folder path in their question. Tool integration**: Calls the sub-workflow “Nextcloud Tool” whenever it needs to read files and pass their text back to the AI. Sub-Workflow “Nextcloud Tool” Invocation: Triggered by other workflows with the input parameter path (folder path). File listing: Retrieves every file in the specified folder via the Nextcloud API. Filter: Allows only readable formats (PDF, Markdown, DOCX). Download & text extraction PDF → Text via Extract From File Markdown → Raw text DOCX → Text via community node word2text Aggregation: Combines all extracted text into a single output field and returns it. > Outcome: Each call yields the plain content of every supported file in a Nextcloud folder—providing rich context for the AI agent to answer user questions accurately.
by Rajeet Nair
Automatically converts CSV/XLSX files into a fully validated database schema using AI, generating SQL scripts, ERD diagrams, a data dictionary, and load plans to accelerate database design and data onboarding. EXPLANATION This workflow automates the end-to-end process of transforming raw CSV or Excel data into a production-ready relational database schema. It begins by accepting file uploads through a webhook, detecting file type, and extracting structured data. The workflow performs data cleaning and deep profiling to analyze column types, uniqueness, null values, and patterns. A column analysis engine identifies candidate primary keys and potential relationships. An AI agent then generates a normalized schema by organizing data into tables, assigning appropriate SQL data types, and defining primary and foreign keys. The schema is validated using rule-based checks to ensure data integrity, correct relationships, and proper normalization. If validation fails, the workflow automatically refines the schema through a revision loop. Once validated, it generates SQL DDL scripts, ERD diagrams, a data dictionary, and a load plan that determines the correct order for inserting data. Finally, all outputs are combined and returned via webhook as a structured response, making the workflow ideal for rapid database creation, data migration, and AI-assisted data modeling. Overview This workflow automatically converts CSV or Excel files into a production-ready relational database schema using AI and rule-based validation. It analyzes uploaded data to detect column types, relationships, and data quality, then generates a normalized schema with proper keys and constraints. The output includes SQL DDL scripts, ERD diagrams, a data dictionary, and a load plan. This eliminates manual schema design and accelerates database setup from raw data. How It Works File Upload (Webhook) Accepts CSV or XLSX files and initializes workflow configuration such as thresholds and retry limits. File Extraction Detects file format and extracts rows into structured JSON format. Data Cleaning & Profiling Cleans data, removes duplicates, normalizes values, and computes column statistics such as null percentage and uniqueness. Column Analysis Engine Identifies candidate primary keys, analyzes cardinality, and suggests potential foreign key relationships. AI Schema Generation Uses an AI agent to design normalized tables, assign SQL data types, and define primary keys, foreign keys, and constraints. Validation Layer Validates schema integrity by checking data types, primary key uniqueness, foreign key overlap, and constraint consistency. Revision Loop If validation fails, the workflow sends feedback to the AI agent and regenerates the schema until it meets requirements. Schema Output Generation Generates SQL DDL scripts, ERD diagrams, a data dictionary, and a load plan. Load Plan Engine Determines the correct order for inserting data and detects circular dependencies. Combine & Explain Merges all outputs and optionally provides AI-generated explanations of schema decisions. Response Output Returns all generated artifacts as a structured JSON response via webhook. Setup Instructions Activate the workflow and copy the webhook URL Send a POST request with a CSV or XLSX file Configure OpenAI credentials for the AI agent Adjust thresholds if needed (FK overlap, retries, confidence) Execute the workflow and review outputs Use Cases Automatically generate database schemas from CSV/Excel files Accelerate data migration and onboarding pipelines Rapidly prototype relational database designs Reverse engineer structured schemas from raw datasets AI-assisted data modeling and normalization Requirements n8n (latest version recommended) OpenAI API credentials LangChain nodes enabled CSV or XLSX input file
by Peter
Read a value by key from a local json file. Related workflow: WriteKey Create a subfolder in your n8n homedir: /home/node/.n8n/local-files. In docker look at the data path and create a subfolder local-files. Set the correct access rights chmod 1000.1000 local-files. Put the workflow code in a new workflow named GetKey. Create another workflow with a function item: return { file: '/4711.json', // 4711 should be your workflow id key: 'MyKey', default: 'Optional returned value if key is empty / not exists' } Pipe the function item to an Execution Workflow that calls the GetKey workflow. It would be nice if we could get someday a shiny built-in n8n node that does the job. :)
by WeblineIndia
APK Security Scanner & PDF Report Generator This workflow automatically analyzes any newly uploaded APK file and produces a clean, professional PDF security report. When an APK appears in Google Drive, the workflow downloads it, sends it to MobSF for security scanning, summarizes the results, generates an HTML report using AI, converts it into a PDF via PDF.co and finally saves the PDF back to Google Drive. Quick Start: Fastest Way to Use This Workflow Set up a Google Drive folder for uploading APKs. Install MobSF using Docker and copy your API key. Add credentials for Google Drive, MobSF, OpenAI and PDF.co in n8n. Import the workflow JSON. Update node credentials. Upload an APK to the watched folder and let the automation run. What It Does This workflow provides a complete automated pipeline for analyzing Android APK files. It removes the manual process of scanning apps, extracting security insights, formatting reports and distributing results. Each step is designed to streamline application security checks for development teams, QA engineers and product managers. Once the workflow detects a new APK in Google Drive, it passes the file to MobSF for a detailed static analysis. The workflow extracts the results, transforms them into a clear and well-structured HTML report using AI and then converts the report into a PDF. This ensures the end-user receives a polished audit-ready security document with zero manual involvement. Who’s It For This workflow is ideal for: Mobile development teams performing security checks on apps. QA and testing teams validating APK builds before release. DevSecOps engineers needing automated, repeatable security audits. Software companies generating compliance and audit documentation. Agencies reviewing client apps for vulnerabilities. Requirements to Use This Workflow An n8n instance (self-hosted or cloud) A Google Drive account with a folder for APK uploads Docker installed to run MobSF locally MobSF API key OpenAI API key PDF.co API key Basic understanding of n8n nodes and credentials setup How It Works & Setup Instructions Step 1 — Prepare Google Drive Create a folder specifically for APK uploads. Configure the Watch APK Uploads (Google Drive) node to monitor this folder for new files. Step 2 — Install and Run MobSF Using Docker Install Docker and run: docker run -it --rm -p 8000:8000 \ -v $(pwd)/mobsf:/home/mobsf/.MobSF \ opensecurity/mobile-security-framework-mobsf Open MobSF at http://localhost:8000 and copy your API key. Step 3 — Add Credentials in n8n Add credentials for: Google Drive MobSF (API key in headers) OpenAI PDF.co Step 4 — Configure Malware Scanning Upload APK to Analyzer (MobSF Upload API)** sends the file. Start Security Scan (MobSF Scan API)** triggers the vulnerability scan. Step 5 — Summarize & Generate HTML Report Summarize MobSF Report (JS Code)** extracts key vulnerabilities. Generate HTML Report (GPT Model)** formats them in a structured report. Clean HTML Output (JS Code)** removes escaped characters. Step 6 — Convert HTML to PDF Use Generate PDF (PDF.co API) to convert the HTML to PDF. Step 7 — Save Final Report Download using Download Generated PDF, then upload via Upload PDF to Google Drive. How To Customize Nodes Google Drive Trigger:** Change the folder ID to watch a different upload directory. MobSF API Nodes:** Update URLs if MobSF runs on another port or server. AI Report Generator:** Modify prompt instructions to change the writing style or report template. PDF Generation:** Edit margins, page size, or output filename in the PDF.co node. Save Location:** Change Google Drive folder where the final PDF is stored. Add-Ons You can extend this workflow with: Slack or Email Notifications** when a report is ready Automatic naming conventions** (e.g., report-{{date}}-{{app_name}}.pdf) Saving reports into Airtable or Notion** Multi-file batch scanning** VirusTotal scan integration** before generating the PDF Use Case Examples Automated security scanning for every new build generated by CI/CD. Pre-release vulnerability checks for client-delivered APKs. Compliance documentation generation for internal security audits. Bulk scanning of legacy APKs for modernization projects. Creating professional PDF security reports for customers. (Many more use cases can be built using the same workflow foundation.) Troubleshooting Guide | Issue | Possible Cause | Solution | | ----------------------- | -------------------------- | ---------------------------------------------------------- | | MobSF API call fails | Wrong API key or URL | Check MobSF is running and API key is correct. | | PDF not generated | Invalid HTML or PDF.co key | Validate HTML output and verify PDF.co credentials. | | Workflow not triggering | Wrong Google Drive folder | Reconfigure Drive Trigger node with the correct folder ID. | | APK upload fails | File not in binary mode | Ensure HTTP Upload node is using “Binary Data” correctly. | | Scan returns empty data | MobSF not fully started | Wait for full MobSF startup logs before scanning. | Need Help? If you need assistance setting up this workflow, customizing it or adding advanced features such as Slack alerts, CI/CD integration or bulk scanning, our n8n workflow development team at WeblineIndia can help. We specialize in building secure, scalable, automation-driven workflows on n8n for businesses of all sizes. Contact us anytime for support or to build custom workflow automation solutions.
by Usman Liaqat
This workflow enables seamless, bidirectional communication between WhatsApp and Slack using n8n. It automates the reception, processing, and forwarding of messages (text, media, and documents) between users on WhatsApp and private Slack channels. Key Features & Flow: 1. WhatsApp to Slack Flow Trigger: The workflow starts with a WhatsApp Trigger node that listens for new incoming messages via a webhook. Channel Handling: It checks if a Slack channel with the WhatsApp sender’s number exists If not, it creates a private Slack channel with the sender's number as the name. Message Type Routing: A Switch Node (Message Type) inspects the message type (text, image, audio, document). Based on type: Text: Sends the message directly to Slack. Image/Audio/Document: Retrieves media URL via WhatsApp API → downloads the media → uploads it to the appropriate Slack channel. 2. Slack to WhatsApp Flow Trigger: A Slack Trigger listens for new messages or file uploads in Slack. Message Type Routing: A second Switch Node (Checking Message Type) checks if the message is text or media. Routing Logic: Text Message: Extracts and forwards it to the WhatsApp contact (identified by the Slack channel name). Media/File Message: Retrieves media file URL from Slack → downloads it → sends it as a document via WhatsApp API. Key Integrations: WhatsApp Cloud API: For receiving messages, downloading media, and sending messages. Slack API: For creating/getting channels, posting messages, and uploading files. HTTP Request Node: Used to securely download media from Slack and WhatsApp servers with proper authentication. Automation Use Case: This workflow is ideal for businesses that handle customer support or conversations over WhatsApp and wish to log, respond, and collaborate using Slack as their internal communication tool.
by Yaron Been
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow automatically monitors customer churn indicators and early warning signals to help reduce customer attrition and improve retention rates. It saves you time by eliminating the need to manually track customer behavior and provides proactive insights for preventing customer churn. Overview This workflow automatically scrapes customer data sources, support tickets, usage analytics, and engagement metrics to identify patterns that indicate potential customer churn. It uses Bright Data to access customer data and AI to intelligently analyze behavior patterns and predict churn risk. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping customer data and analytics platforms without being blocked OpenAI**: AI agent for intelligent churn prediction and pattern analysis Google Sheets**: For storing churn indicators and customer retention data How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Bright Data: Add your Bright Data credentials to the MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Google Sheets: Connect your Google Sheets account and set up your churn monitoring spreadsheet Customize: Define customer data sources and churn indicator parameters Use Cases Customer Success**: Proactively identify at-risk customers for retention efforts Account Management**: Prioritize customer outreach based on churn probability Product Teams**: Identify product issues that contribute to customer churn Revenue Operations**: Reduce churn rates and improve customer lifetime value Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #churnprediction #customerretention #brightdata #webscraping #customeranalytics #n8nworkflow #workflow #nocode #churnindicators #customersuccess #retentionanalysis #customerchurn #customerinsights #churnprevention #retentionmarketing #customerdata #churnmonitoring #customerlifecycle #retentionmetrics #churnanalysis #customerbehavior #retentionoptimization #churnreduction #customerengagement #retentionstrategy #churnmanagement #customerhealth #retentiontracking
by Yaron Been
This workflow automatically scrapes customer reviews from Trustpilot and performs sentiment analysis to extract valuable customer insights. It saves you time by eliminating the need to manually read through reviews and provides structured data on customer feedback, sentiment, and pain points. Overview This workflow automatically scrapes the latest customer reviews from any Trustpilot company page and uses AI to analyze each review for sentiment, extract key complaints or praise, and identify recurring customer pain points. It stores all structured review data in Google Sheets for easy analysis and reporting. Tools Used n8n**: The automation platform that orchestrates the workflow Bright Data**: For scraping Trustpilot review pages without being blocked OpenAI**: AI agent for intelligent review analysis and sentiment extraction Google Sheets**: For storing structured review data and analysis results How to Install Import the Workflow: Download the .json file and import it into your n8n instance Configure Bright Data: Add your Bright Data credentials to the MCP Client node Set Up OpenAI: Configure your OpenAI API credentials Configure Google Sheets: Connect your Google Sheets account and set up your review tracking spreadsheet Customize: Enter target Trustpilot company URLs and adjust review analysis parameters Use Cases Product Teams**: Identify customer pain points and feature requests from reviews Customer Support**: Monitor customer satisfaction and recurring issues Marketing Teams**: Extract positive testimonials and understand customer sentiment Business Intelligence**: Track brand reputation and customer feedback trends Connect with Me Website**: https://www.nofluff.online YouTube**: https://www.youtube.com/@YaronBeen/videos LinkedIn**: https://www.linkedin.com/in/yaronbeen/ Get Bright Data**: https://get.brightdata.com/1tndi4600b25 (Using this link supports my free workflows with a small commission) #n8n #automation #trustpilot #reviewscraping #sentimentanalysis #brightdata #webscraping #customerreviews #n8nworkflow #workflow #nocode #reviewautomation #customerinsights #brandmonitoring #reviewanalysis #customerfeedback #reputationmanagement #reviewmonitoring #customersentiment #productfeedback #trustpilotscraping #reviewdata #customerexperience #businessintelligence #feedbackanalysis #reviewtracking #customervoice #aianalysis #reviewmining #customerinsights
by Harshil Agrawal
This workflow allows you to send position updates of the ISS every minute to a table in Google BigQuery. Cron node: The Cron node will trigger the workflow every minute. HTTP Request node: This node will make a GET request to the API https://api.wheretheiss.at/v1/satellites/25544/positions to fetch the position of the ISS. This information gets passed on to the next node in the workflow. Set node: We will use the Set node to ensure that only the data that we set in this node gets passed on to the next nodes in the workflow. Google BigQuery: This node will send the data from the previous node to the position table in Google BigQuery. If you have created a table with a different name, use that table instead.