by Florent
Restore workflows & credentials from FTP - Remote Backup Solution This n8n template provides a safe and intelligent restore solution for self-hosted n8n instances, allowing you to restore workflows and credentials from FTP remote backups. Perfect for disaster recovery or migrating between environments, this workflow automatically identifies your most recent FTP backup and provides a manual restore capability that intelligently excludes the current workflow to prevent conflicts. Works seamlessly with date-organized backup folders stored on any FTP/SFTP server. Good to know This workflow uses n8n's native import commands (n8n import:workflow and n8n import:credentials) Works with date-formatted backup folders (YYYY-MM-DD) stored on FTP servers The restore process intelligently excludes the current workflow to prevent overwriting itself Requires FTP/SFTP server access and proper Docker volume configuration All downloaded files are temporarily stored server-side before import Compatible with backups created by n8n's export commands and uploaded to FTP Supports selective restoration: restore only credentials, only workflows, or both How it works Restore Process (Manual) Manual trigger with configurable pinned data options (credentials: true/false, worflows: true/false) The Init node sets up all necessary paths, timestamps, and configuration variables using your environment settings The workflow connects to your FTP server and scans for available backup dates Automatically identifies the most recent backup folder (latest YYYY-MM-DD date) Creates temporary restore folders on your local server for downloaded files If restoring credentials: Lists all credential files from FTP backup folder Downloads credential files to temporary local folder Writes files to disk using "Read/Write Files from Disk" node Direct import using n8n's import command Credentials are imported with their encrypted format intact If restoring workflows: Lists all workflow JSON files from FTP backup folder Downloads workflow files to temporary local folder Filters out the credentials subfolder to prevent importing it as a workflow Writes workflow files to disk Intelligently excludes the current restore workflow to prevent conflicts Imports all other workflows using n8n's import command Optional email notifications provide detailed restore summaries with command outputs Temporary files remain on server for verification (manual cleanup recommended) How to use Prerequisites Existing n8n backups on FTP server in date-organized folder structure (format: /ftp-backup-folder/YYYY-MM-DD/) Workflow backups as JSON files in the date folder Credentials backups in subfolder: /ftp-backup-folder/YYYY-MM-DD/n8n-credentials/ FTP/SFTP access credentials configured in n8n For new environments: N8N_ENCRYPTION_KEY from source environment (see dedicated section below) Initial Setup Configure your environment variables: N8N_ADMIN_EMAIL: Your email for notifications (optional) FTP_BACKUP_FOLDER: FTP path where backups are stored (e.g., /n8n-backups) N8N_PROJECTS_DIR: Projects root directory (e.g., /files/n8n-projects-data) GENERIC_TIMEZONE: Your local timezone (e.g., Europe/Paris) N8N_ENCRYPTION_KEY: Required if restoring credentials to a new environment (see dedicated section below) Create your FTP credential in n8n: Add a new FTP/SFTP credential Configure host, port, username, and password/key Test the connection Update the Init node: (Optional) Configure your email here: const N8N_ADMIN_EMAIL = $env.N8N_ADMIN_EMAIL || 'youremail@world.com'; Set PROJECT_FOLDER_NAME to "Workflow-backups" (or your preferred name) Set FTP_BACKUP_FOLDER to match your FTP backup path (default: /n8n-backups) Set credentials to "n8n-credentials" (or your backup credentials folder name) Set FTPName to a descriptive name for your FTP server (used in notifications) Configure FTP credentials in nodes: Update the FTP credential in "List Credentials Folders" node Verify all FTP nodes use the same credential Test connection by executing "List Credentials Folders" node Optional: Configure SMTP for email notifications: Add SMTP credential in n8n Activate "SUCCESS email Credentials" and "SUCCESS email Workflows" nodes Or remove email nodes if not needed Performing a Restore Open the workflow and locate the "Start Restore" manual trigger node Edit the pinned data to choose what to restore: { "credentials": true, "worflows": true } credentials: true - Restore credentials from FTP worflows: true - Restore workflows from FTP (note: typo preserved from original) Set both to true to restore everything Update the node's notes to reflect your choice (for documentation) Click "Execute workflow" on the "Start Restore" node The workflow will: Connect to FTP and find the most recent backup Download selected files to temporary local folders Import credentials and/or workflows Send success email with detailed operation logs Check the console logs or email for detailed restore summary Important Notes The workflow automatically excludes itself during restore to prevent conflicts Credentials are restored with their encryption intact. If restoring to a new environment, you must configure the N8N_ENCRYPTION_KEY from the source environment (see dedicated section below) Existing workflows/credentials with the same names will be overwritten Temporary folders are created with date prefix (e.g., 2025-01-15-restore-credentials) Test in a non-production environment first if unsure Critical: N8N_ENCRYPTION_KEY Configuration Why this is critical: n8n generates an encryption key automatically on first launch and saves it in the ~/.n8n/config file. However, if this file is lost (for example, due to missing Docker volume persistence), n8n will generate a NEW key, making all previously encrypted credentials inaccessible. When you need to configure N8N_ENCRYPTION_KEY: Restoring to a new n8n instance When your data directory is not persisted between container recreations Migrating from one server to another As a best practice to ensure key persistence across updates How credentials encryption works: Credentials are encrypted with a specific key unique to each n8n instance This key is auto-generated on first launch and stored in /home/node/.n8n/config When you backup credentials, they remain encrypted but the key is NOT included If the key file is lost or a new key is generated, restored credentials cannot be decrypted Setting N8N_ENCRYPTION_KEY explicitly ensures the key remains consistent Solution: Retrieve and configure the encryption key Step 1: Get the key from your source environment Check if the key is defined in environment variables docker-compose exec n8n printenv N8N_ENCRYPTION_KEY If this command returns nothing, the key is auto-generated and stored in n8n's data volume: Enter the container docker-compose exec n8n sh Check configuration file cat /home/node/.n8n/config Exit container exit Step 2: Configure the key in your target environment Option A: Using .env file (recommended for security) Add to your .env file N8N_ENCRYPTION_KEY=your_retrieved_key_here Then reference it in docker-compose.yml: services: n8n: environment: N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY} Option B: Directly in docker-compose.yml (less secure) services: n8n: environment: N8N_ENCRYPTION_KEY=your_retrieved_key_here Step 3: Restart n8n docker-compose restart n8n Step 4: Now restore your credentials Only after configuring the encryption key, run the restore workflow with credentials: true. Best practice for future backups: Always save your N8N_ENCRYPTION_KEY in a secure location alongside your backups Consider storing it in a password manager or secure vault Document it in your disaster recovery procedures Requirements FTP Server FTP or SFTP server with existing n8n backups Read access to backup folder structure Network connectivity from n8n instance to FTP server Existing Backups on FTP Date-organized backup folders (YYYY-MM-DD format) Backup files created by n8n's export commands or compatible format Credentials in subfolder structure: YYYY-MM-DD/n8n-credentials/ Environment Self-hosted n8n instance (Docker recommended) Docker volumes mounted with write access to project folder Access to n8n CLI commands (n8n import:credentials and n8n import:workflow) Proper file system permissions for temporary folder creation Credentials FTP/SFTP credential configured in n8n Optional: SMTP credentials for email notifications Technical Notes FTP Connection and Download Process Uses n8n's built-in FTP node for all remote operations Supports both FTP and SFTP protocols Downloads files as binary data before writing to disk Temporary local storage required for import process Smart Workflow Exclusion During workflow restore, the current workflow's name is cleaned and matched against backup files This prevents the restore workflow from overwriting itself The exclusion logic handles special characters and spaces in workflow names A bash command removes the current workflow from the temporary restore folder before import Credentials Subfolder Filtering The "Filter out Credentials sub-folder" node checks for binary data presence Only items with binary data (actual files) proceed to disk write Prevents the credentials subfolder from being imported as a workflow Timezone Handling All timestamps use UTC for technical operations Display times use local timezone for user-friendly readability FTP backup folder scanning works with YYYY-MM-DD format regardless of timezone Security FTP connections should use SFTP or FTPS for encrypted transmission Credentials are imported in n8n's encrypted format (encryption preserved) Temporary files stored in project-specific folders Consider access controls for who can trigger restore operations No sensitive credential data is logged in console output Troubleshooting Common Issues FTP connection fails: Verify FTP credentials are correctly configured and server is accessible No backups found: Ensure the FTP_BACKUP_FOLDER path is correct and contains date-formatted folders (YYYY-MM-DD) Permission errors: Ensure Docker user has write access to N8N_PROJECTS_DIR for temporary folders Path not found: Verify all volume mounts in docker-compose.yml match your project folder location Import fails: Check that backup files are in valid n8n export format Download errors: Verify FTP path structure matches expected format (date folder / credentials subfolder / files) Workflow conflicts: The workflow automatically excludes itself, but ensure backup files are properly named Credentials not restored: Verify the FTP backup contains a n8n-credentials subfolder with credential files Credentials decrypt error: Ensure N8N_ENCRYPTION_KEY matches the source environment Error Handling "Find Last Backup" node has error output configured to catch FTP listing issues "Download Workflow Files" node continues on error to handle presence of credentials subfolder All critical nodes log detailed error information to console Email notifications include stdout and stderr from import commands Version Compatibility Tested with n8n version 1.113.3 Compatible with Docker-based n8n installations Requires n8n CLI access (available in official Docker images) Works with any FTP/SFTP server (Synology NAS, dedicated FTP servers, cloud FTP services) This workflow is designed for FTP/SFTP remote backup restoration. For local disk backups, see the companion workflow "n8n Restore from Disk". Works best with backups from: "Automated n8n Workflows & Credentials Backup to Local/Server Disk & FTP"
by Davide
This is an exaple of advanced automated data extraction and enrichment pipeline with ScrapeGraphAI. Its primary purpose is to systematically scrape the n8n community workflows website, extract detailed information about recently added workflows, process that data using multiple AI models, and store the structured results in a Google Sheets spreadsheet. This workflow demonstrates a sophisticated use of n8n to move beyond simple API calls and into the realm of intelligent, AI-driven web scraping and data processing, turning unstructured website content into valuable, structured business intelligence. Key Advantages ✅ Full Automation: Once triggered (manually or on a schedule via the Schedule Trigger node), the entire process runs hands-free, from data collection to spreadsheet population. ✅ Powerful AI-Augmented Scraping: It doesn't just scrape raw HTML. It uses multiple AI agents (Google Gemini, OpenAI) to: Understand page structure to find the right data on the main list. Clean and purify content from individual pages, removing and irrelevant information. Perform precise information extraction to parse unstructured text into structured JSON data based on a defined schema (author, price, etc.). Generate intelligent summaries, adding significant value by explaining the workflow's purpose in Italian. ✅ Robust and Structured Data Output: The use of the Structured Output Parser and Information Extractor nodes ensures the data is clean, consistent, and ready for analysis. It outputs perfectly formatted JSON that maps directly to spreadsheet columns. ✅ Scalability via Batching: The Split In Batches and Loop Over Items nodes allow the workflow to process a dynamically sized list of workflows. Whether there are 5 or 50 new workflows, it will process each one sequentially without failing. ✅ Effective Data Integration: It seamlessly integrates with Google Sheets, acting as a simple and powerful database. This makes the collected data immediately accessible, shareable, and available for visualization in tools like Looker Studio. ✅ Resilience to Website Changes: By using AI models trained to understand content and context (like "find the 'Recently Added' section" or "find the author's name"), the workflow is more resilient to minor cosmetic changes on the target website compared to traditional CSS/XPath selectors. How It Works The workflow operates in two main phases: Phase 1: Scraping the Main List Trigger: The workflow can be started manually ("Execute Workflow") or automatically on a schedule. Scraping: The "Scrape main page" node (using ScrapeGraphAI) fetches and converts the https://n8n.io/workflows/ page into clean Markdown format. Data Extraction: An LLM chain ("Extract 'Recently added'") analyzes the Markdown. It is specifically instructed to identify all workflow titles and URLs within the "Recently Added" section and output them as a structured JSON array named workflows. Data Preparation: The resulting array is set as a variable and then split out into individual items, preparing them for processing one-by-one. Phase 2: Processing Individual Workflows Loop: The "Loop Over Items" node iterates through each workflow URL obtained from Phase 1. Scrape & Clean Detail Page: For each URL, the "Scrape single Workflow" node fetches the detail page. Another LLM chain ("Main content") cleans the resulting Markdown, removing superfluous content and focusing only on the core article text. Information Extraction: The cleaned Markdown is passed to an "Information Extractor" node. This uses a language model to locate and structure specific data points (title, URL, ID, author, categories, price) into a defined JSON schema. Summarization: The cleaned Markdown is also sent to a Google Gemini node ("Summarization content"), which generates a concise Italian summary of the workflow's purpose and tools used. Data Consolidation & Export: The extracted information and the generated summary are merged into a single data object. Finally, the "Add row" node maps all this data to the appropriate columns and appends it as a new row in a designated Google Sheet. Set Up Steps To run this workflow, you need to configure the following credentials in your n8n instance: ScrapeGraphAI Account: The "Scrape main page" and "Scrape single Workflow" nodes require valid ScrapeGraphAI API credentials named ScrapegraphAI account. Install the related Community node. Google Gemini Account: Multiple nodes ("Google Gemini Chat Model", "Summarization content", etc.) require API credentials for Google Gemini named Google Gemini(PaLM) (Eure). OpenAI Account: The "OpenAI Chat Model1" node requires API credentials for OpenAI named OpenAi account (Eure). Google Sheets Account: The "Add row" node requires OAuth2 credentials for Google Sheets named Google Sheets account. You must also ensure the node is configured with the correct Google Sheet ID and that the sheet has a worksheet named Foglio1 (or update the node to match your sheet's name). Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Cheng Siong Chin
Introduction Upload invoices via Telegram, receive structured data instantly. Perfect for accountants and finance teams. How It Works Telegram bot receives invoices, downloads files, extracts data using OpenAI, then returns analysis. Workflow Template Telegram Trigger → Document Check → Get File → HTTP Download → AI Extract → Format Response → Send to Telegram Workflow Steps Telegram Trigger: Listens for uploads. Document Check: Validates files; routes errors. Get File: Retrieves metadata. HTTP Download: Fetches content. AI Extract: OpenAI parses invoice fields. Format Response: Structures data. Send Analysis: Delivers to chat. Setup Instructions Telegram Bot: Create via BotFather, add credentials. OpenAI Agent: Add API key and extraction prompt. HTTP Node: Set authentication. Parser: Define invoice schema. Error Handling: Configure fallbacks. Prerequisites n8n instance Telegram Bot Token OpenAI API key Customization Database storage Accounting software integration Benefits Eliminates manual entry Reduces errors
by Emilio Loewenstein
This workflow automates customer email support by combining Gmail, AI classification, and a knowledge base to provide instant, accurate, and friendly responses. It’s designed for businesses that want to improve customer satisfaction while reducing manual workload. 🚀 How it Works Gmail Trigger The workflow listens for new incoming Gmail messages. Text Classification Each email is classified using AI as either Customer Support or Other. If it’s Other, the workflow stops. If it’s Customer Support, the email continues to the AI agent. AI Agent with Knowledge Base The AI agent: Reads the customer’s message. Searches the Pinecone Knowledge Base for FAQs and policies. Generates a helpful, polite, and detailed reply using an OpenRouter model. Signs off as Mrs. Helpful from Tech Haven Solutions. Reply to Gmail The drafted email is automatically sent back to the customer. 💡 Value ✅ Save Time – No more manual triaging and drafting of replies. ✅ Consistency – Every answer is based on your own FAQ/policies. ✅ Customer Satisfaction – Fast, friendly, and accurate responses 24/7. ✅ Scalable – Handle higher email volume without scaling headcount. 🔑 Credentials Needed To use this workflow, connect the following accounts: Gmail OAuth2** → for receiving and sending emails. OpenRouter API** → for text classification and AI-generated replies. OpenAI API** → for embeddings (to connect FAQs with AI). Pinecone API** → for storing and retrieving knowledge base content. 🛠 Example Use Case A customer writes: > “Hi, I placed an order last week but haven’t received a shipping confirmation yet. Can you check the status?” The workflow will: Detect it’s a support-related email. Retrieve order policy information from the knowledge base. Generate a friendly response explaining order tracking steps. Automatically reply to the customer in Gmail. ⚡️ Setup Instructions Import this workflow into your n8n instance. Connect your Gmail, OpenRouter, OpenAI, and Pinecone credentials. Populate your Pinecone knowledge base with FAQs and policies. Activate the workflow. From now on, all support-related emails will be automatically answered by your AI-powered support agent.
by Rahul Joshi
Description Turn raw marketing data into actionable insights with this n8n Source/UTM Attribution and Reporting workflow! It automatically aggregates lead submissions, calculates Cost Per Lead (CPL) per channel, and generates AI-powered weekly attribution reports—delivered straight to your inbox in a professional HTML format. What This Template Does 📅 Runs hourly to process new lead submissions 📊 Aggregates leads by source (Instagram, LinkedIn, Google Ads, etc.) 💰 Calculates key metrics like Cost Per Lead (CPL) 🧠 Uses AI to generate executive-ready HTML reports 📈 Highlights top-performing sources and growth opportunities 📧 Sends polished reports via Gmail automatically Prerequisites Google Sheets with lead submission data Google Forms (or similar) as the data input source n8n instance (self-hosted or cloud) Azure OpenAI (GPT-4o-mini) API key for AI-powered reporting Gmail API credentials for automated report delivery Step-by-Step Setup Trigger workflow hourly with n8n Scheduler. Fetch new lead submissions from Google Sheets. Aggregate and group data by Source/UTM parameters. Calculate CPL using spend + lead count per channel. Standardize column names for consistent reporting. Send raw + aggregated data to Azure OpenAI for report generation. Format into a professional HTML report (with insights & recommendations). Send report via Gmail node to stakeholders. Customization Ideas Replace Gmail with Slack/Teams notifications for real-time sharing. Add visual charts (Google Data Studio / Looker) for more analytics. Use additional UTM fields (campaign, adgroup, creative) for deeper granularity. Extend reporting to include ROI and ROAS calculations. Key Benefits ✅ Hands-free attribution tracking and analysis ✅ Accurate CPL metrics per channel ✅ AI-generated reports with actionable insights ✅ Saves time vs. manual data crunching ✅ Weekly reports ensure marketing strategy stays optimized Perfect For Marketing teams managing multi-channel campaigns Agencies providing client attribution reports Business owners optimizing ad spend efficiency Growth teams tracking lead quality by source
by Joe Marotta
What This Flow Does Automated stock portfolio analysis system that performs comprehensive fundamental and technical analysis of your portfolio holdings on a scheduled basis, with intelligent follow-up capabilities. How It Works Two-Phase Analysis System: Monday Analysis (Main weekly analysis) Reads your stock holdings from Google Sheets Performs deep fundamental analysis using Claude AI with web search Conducts technical analysis with current market data Combines both analyses into final buy/sell/hold recommendations Emails you comprehensive analysis report Wednesday Follow-up (Interactive refinement) Sends midweek check-in email asking for additional input If you reply with documents, questions, or market observations Runs supplemental analysis incorporating your feedback Updates recommendations based on new information and market changes Delivers refined analysis via email Key Features Fractional share support - handles both whole and fractional stock positions Web-enabled AI analysis - Claude AI searches current market data, news, earnings Dual-analyst approach - separate fundamental and technical analysis for comprehensive coverage Interactive feedback loop - Wednesday follow-ups allow you to guide analysis Professional email reports - formatted HTML emails with actionable recommendations Setup Steps Google Sheets: Duplicate given template and fill with your investment information Gmail OAuth: Connect your Gmail account for sending reports Anthropic API: Add Claude AI credentials for analysis Replace placeholders: Update YOUR_EMAIL@gmail.com, YOUR_GOOGLE_SHEETS_ID, webhook IDs Schedule configuration: Currently set for Monday 12pm EST analysis, Wednesday 12pm EST follow-up Use Case Perfect for part time investors who want systematic, AI-powered analysis of their portfolio with the flexibility to provide additional context and refinements throughout the week.
by OwenLee
🤯 Problem of Traditional Bookkeeping 🔀 Context switch kills the habit: Because bookkeeping lives outside the apps you use every day, you postpone it → forget to log. 🧱 High input friction: You’re forced to fill rigid fields (amount/category/date/notes…), which is slow and discouraging for quick capture. 🎙️💸 Weak or pricey natural-language options: A few tools support voice/chat, but they’re often expensive, and the experience is hit-or-miss. 🔒📦 Limited data ownership: Records live on third-party servers, so privacy and control are diluted. 📲 How This Workflow Fixes It 💬 Put the capture back where you already are: Log expenses directly inside Telegram (or other channels) in a familiar chat—no new app to learn. ⚡ Ultra-low-friction, unstructured input: Send text, a voice note, or a receipt photo—the flow extracts amount · item · date, supports multiple languages and relative dates, and can split multiple expenses from one message. 🗂️📝 Your data, your sheet: Final records are written to your own Google Sheet (columnar fields or a JSON column). You keep full control. 🔗 Demo Google Sheet: click me 👥 Who Is This For 😤 Anyone fed up with traditional bookkeeping but curious about an AI-assisted, chat-based way to log expenses. 🤖 People who tried AI bookkeeping apps but found them pricey, inflexible, or clunky. 💵 Bookkeeping beginners who want frictionless capture first, simple review and categorize later. 🧩 How It Works 💬 Captures expenses from Telegram (text, voice note, or receipt photo). 🔎 Normalizes inputs into raw text (uses Gemini to transcribe voice and extract text from images). 🧠 Parses amount · item · date with an LLM expense parser. 📊 Appends tidy rows to Google Sheets. 🔔 Sends a Telegram confirmation summarizing exactly what was recorded. 🛠️ How to Set Up 1) 🔑 Connect credentials (once) TELEGRAM_BOT_TOKEN LLM_API_KEY GOOGLE_SHEETS_OAUTH 2) 🚀 Quick Start Setup:* Create a Google Sheet to store *Log Expense** data and configure it in n8n. Telegram:* Fill in and verify the *Telegram chatId**. Remember enable the workflow!* 🧰 How to Customize the Workflow 📝 Other user interaction channels: Add Gmail, Slack, or a website Webhook to accept email/command/form submissions that map into the same parser. 🌍 Currency: Extract and store currency in its own column (e.g., MYR, USD); keep amount numeric only (no symbols). 🔎 Higher-accuracy OCR / STT to reduce errors 📩 Help Contact: owenlzyxg@gmail.com
by Cadu | Ei, Doc!
This n8n template demonstrates how to automate blog post creation with AI and WordPress This workflow is designed for creators who want to maintain an active blog without spending hours writing — while still taking advantage of SEO benefits. It connects OpenAI and WordPress to help you schedule AI-generated posts or create content from simple one- or two-word prompts. 🧠 Good to know At the time of writing, each AI-generated post will use your OpenAI API credits according to your model and usage tier. This workflow requires an active WordPress site with API access and your OpenAI API key. Setup is quick — in less than 5 minutes, you can have everything running smoothly! ⚙️ How it works The workflow connects to your WordPress API and your OpenAI account. You can choose between two modes: Scheduled mode: AI automatically creates and publishes posts based on your defined schedule. Prompt mode: Enter a short phrase (one or two words) and let AI generate a complete SEO-optimized post. The generated content is formatted and published directly to your WordPress blog. You can easily customize prompts, post styles, or scheduling frequency to match your brand and goals. 🚀 How to use Start with the Manual Trigger node (as an example) — or replace it with other triggers such as webhooks, cron jobs, or form submissions. Adjust your OpenAI prompts to fine-tune the tone, structure, or SEO focus of your posts. You can also extend this workflow to automatically share posts on social media or send notifications when new articles go live. ✅ Requirements Active OpenAI API key WordPress site** with API access 🧩 Customising this workflow AI-powered content creation can be adapted for many purposes. Try using it for: Automated content calendars Generating product descriptions Creating newsletter drafts Building SEO-focused blogs effortlessly
by AbSa~
🚀 Overview This workflow automates video uploads from Telegram directly to Google Drive, complete with smart file renaming, Google Sheets logging, and AI assistance via Google Gemini. It’s perfect for creators, educators, or organizations that want to streamline video submissions and file management. ⚙️ How It Works Telegram Trigger -> Start the workflow when a user sends a video file to your Telegram bot. Switch Node -> Detects file type or command and routes the flow accordingly. Get File -> Downloads the Telegram video file. Upload to Google Drive -> Automatically uploads the video to your chosen Drive folder. Smart Rename -> The file name is auto-formatted using dynamic logic (date, username, or custom tags). Google Sheets Logging -> Appends or updates upload data (e.g., filename, sender, timestamp) for easy tracking. AI Agent Integration -> Uses Google Gemini AI connected to Data Vidio memory to analyze or respond intelligently to user queries. Telegram Notification -> Sends confirmation or status messages back to Telegram. 🧠 Highlights Seamlessly integrates Telegram → Google Drive → Google Sheets → Gemini AI Supports file update or append mode Auto-rename logic via the Code node Works with custom memory tools for smarter AI responses Easy to clone and adapt, just connect your own credentials 🪄 Ideal Use Cases Video assignment submissions for schools or academies Media upload management for marketing teams Automated video archiving and AI-assisted review Personal Telegram-to-Drive backup assistant 🧩 Setup Tips Copy and use the provided Google Sheet template (SheetTemplate) Configure your Telegram Bot token, Google Drive, and Sheets credentials Update the AI Agent node with your Gemini API key and connect the Data Vidio sheet Test with a sample Telegram video before full automation
by InfyOm Technologies
✅ What problem does this workflow solve? Tracking what people say about your brand on Twitter can be overwhelming, especially when important mentions slip through the cracks. This workflow automates the process: it scrapes Twitter mentions, analyzes sentiment using OpenAI, logs everything in a Google Sheet, and sends real-time Slack alerts for negative tweets. No manual monitoring needed. ⚙️ What does this workflow do? Runs on a schedule to monitor Twitter mentions or hashtags. Uses Apify to scrape tweets based on brand keywords. Filters out tweets already processed (avoids duplicates). Performs sentiment analysis with OpenAI (Positive, Neutral, Negative). Logs tweet content, sentiment, and reply (if any) in a Google Sheet. Sends an instant Slack notification for negative tweets. Generates thank-you replies for positive tweets and logs them. 🔧 Setup Instructions 🗓 Schedule Trigger Use the Cron node to schedule checks (e.g., every hour, daily). 🐦 Apify Twitter Scraper Setup Sign up on Apify Generate your Apify API Token and use it in the HTTP node to run the actor and get tweet results. 🤖 OpenAI Sentiment Analysis Get your API key from OpenAI 📄 Google Sheet Configuration Prepare a Google Sheet with this sample format. Connect it using the Google Sheets node in n8n. 💬 Slack Notifications Connect your Slack workspace via the Slack node. Set up the channel where negative tweets should be sent as alerts. 🧠 How it Works 1. Scheduled Run Triggered at a fixed interval using the Schedule (Cron) node. 2. Scrape Mentions from Twitter The Apify actor runs and collects recent tweets mentioning your brand or using your hashtag. Links to the tweets are extracted. 3. Filter Previously Seen Tweets Each tweet is checked against the Google Sheet. If already present, it’s skipped to avoid duplicate analysis. 4. Analyze Sentiment with OpenAI For new tweets, sentiment is classified into: ✅ Positive ⚪ Neutral ❌ Negative 5. Store Results in Google Sheet The tweet link, content, and sentiment are stored in a row. If sentiment is positive, a thank-you reply is also generated and saved. 6. Notify Slack for Negative Tweets When a tweet is tagged Negative, a Slack message is sent to the designated channel with the tweet link. 👤 Who can use this? This workflow is ideal for: 📢 Social Media Teams 🧠 PR and Brand Managers 🧑💻 Solo Founders 🏢 Startups & SaaS Companies Stay ahead of your brand's reputation—automatically. 🛠 Customization Ideas 🎯 Add filters for specific campaign hashtags. 📬 Send weekly summary reports via email. 📥 Auto-open support tickets for negative mentions. 🗣 Expand sentiment categories with more detailed tagging. 🚀 Ready to get started? Just plug in: 🔑 Your Apify API Token 🔑 Your OpenAI API Key 📄 Your Google Sheet 💬 Your Slack Channel Then deploy the workflow, and let it monitor Twitter for you!
by takuma
Who’s it for This template is for individuals or households who want to: Easily digitize and track their spending from physical receipts. Automate budget management and financial reporting. Get quick insights into their spending habits on a daily and monthly basis. Stay informed about their remaining budget through Slack notifications. What it does This workflow automates your household budget tracking in several steps: Receipt Photo Upload: You upload a photo of your receipt to a webhook. Parse Receipt: An AI agent extracts the date, store name, purchased items, and total amount from the receipt text. Add to Budget Sheet: The extracted data is then appended to your designated Google Sheet. Daily Budget Report: After each receipt entry, the workflow calculates your current month's spending, remaining budget, and sends a summary to Slack. Monthly Budget Report: Once a day (triggered by a cron job), it reads all budget data for the current month from Google Sheets, performs an analysis (total spending, daily average, top stores, items, and spending days), and sends a comprehensive report to Slack. How to set up Requirements n8n Account**: Self-hosted or Cloud. Google Sheets**: A Google Sheet set up with columns for "Date", "Store", "Items", and "Amount". Slack Workspace**: A Slack channel where you want to receive budget updates. OpenRouter Account**: An API key for OpenRouter to use their chat models. Steps Google Sheets Setup: Create a new Google Sheet (or use an existing one) and name it "Household Budget". In the first sheet (e.g., "Sheet1"), set up the following headers in the first row: "Date", "Store", "Items", "Amount". Share the Google Sheet with the service account email associated with your n8n Google Sheets credentials, granting "Editor" access. In the 'Add to Budget Sheet' and 'Get Budget Sheet (Daily)' nodes, select your Google Sheet and the appropriate sheet name. OpenRouter Credentials: Sign up or log in to OpenRouter (https://openrouter.ai/). Generate an API key. In n8n, create a new "OpenRouter" credential using your API key. Apply this credential to the 'OpenRouter Chat Model1', 'OpenRouter Chat Model2', and 'OpenRouter Chat Model' nodes. Slack Credentials: In n8n, create a new "Slack" credential. Follow the instructions to connect your Slack workspace. In the 'Send a message' and 'Send monthly report' nodes, select the Slack channel where you want to receive messages. Make sure the Slack app has permission to post to the selected channels. Webhook URLs: After activating the workflow, the 'Receipt Photo Upload' node will generate a webhook URL. Copy this URL. You will use this URL to send receipt text (e.g., from a mobile app that scans text). Monthly Budget Adjustment: In the 'Code in JavaScript2' node, locate the line const budget = 30000; and change 30000 to your desired monthly budget in JPY. How to customize the workflow Daily Report Trigger The 'Daily Report Trigger' node is set to run once a day. You can modify its schedule to trigger more or less frequently by adjusting its cron settings. AI Model You can change the AI models used in the 'OpenRouter Chat Model' nodes to any other large language model supported by n8n, such as OpenAI, Anthropic, or custom hosted models, by updating the credentials and model names. Output Formatting The Slack messages generated by the 'Report Budget' and 'Monthly Report' nodes can be customized by editing the systemMessage and text parameters in those nodes to change the tone, content, or language of the reports. Additional Integrations You can extend this workflow by adding more nodes: Integrate with other accounting software. Send notifications to different platforms (e.g., email, Discord, Telegram). Add sentiment analysis to your spending habits. Categorize expenses automatically based on items or stores using another AI node.
by takuma
Who is this for This template is perfect for: Market Researchers** tracking industry trends. Tech Teams** wanting to stay updated on specific technologies (e.g., "AI", "Cybersecurity"). Content Creators** looking for curated news topics. Busy Professionals** who need a high-signal, low-noise news digest. What it does Fetches News: Pulls daily articles via NewsAPI based on your chosen keyword (default: "technology"). AI Filtering: Uses an AI Agent (via OpenRouter) to filter out low-quality or irrelevant clickbait. Daily Digest (Slack): Summarizes the top 3 articles in English. Translates the summaries to Japanese using DeepL (optional). Posts both versions to a Slack channel. Data Archiving (Sheets): Extracts structured data (Title, Author, Summary, URL) and saves it to Google Sheets. Weekly Trend Report: Every Monday, it reads the past week's data from Google Sheets and uses AI to generate a high-level trend report and strategic insights. How to set up Configure Credentials: You will need API keys/auth for NewsAPI, OpenRouter (or OpenAI), DeepL, Google Sheets, and Slack. Setup Google Sheet: Create a sheet with the following headers in the first row: title, author, summary, url. Map the Sheet: In the "Append row in sheet" and "Read sheet (weekly)" nodes, select your file and map the columns. Define Keyword: Open the "Set Keyword" node and change chatInput to the topic you want to track (e.g., "Crypto", "SaaS", "Climate Change"). Slack Setup: Select your desired channel in the Slack nodes. Requirements n8n** (Self-hosted or Cloud) NewsAPI** Key (Free tier available) OpenRouter** (or any LangChain compatible Chat Model like OpenAI) DeepL** API Key (for translation) Google Sheets** account Slack** Workspace How to customize Change the Language:** Remove the DeepL node if you only want English, or change the target language code. Adjust the Prompt:** Modify the "AI Agent (Filter)" system message to change how strict the news filtering is. Change Schedule:** Adjust the Cron nodes to run at your preferred time (currently set to Daily 8 AM and Weekly Monday 9 AM).