by Yusuke Yamamoto
This n8n template creates an automated alert system that checks NASA's data for near-Earth asteroids twice a day. When it finds asteroids meeting specific criteria, it sends a summary alert to Slack and creates individual events in Google Calendar for each object. Use cases Automated Monitoring**: Keep track of potentially hazardous asteroids without manually checking websites. Team or Community Alerts**: Automatically inform a team, a group of friends, or a community about significant celestial events via Slack. Personalized Space Calendar**: Populate your Google Calendar with upcoming asteroid close approaches, creating a personal "what's up in space" agenda. Educational Tool**: Use this as a foundation to learn about API data fetching, data processing, and multi-channel notifications in n8n. Good to know This workflow runs on a schedule (every 12 hours by default) and does not require a manual trigger. NASA API Key is highly recommended**. The default DEMO_KEY has strict rate limits. Get a free key from api.nasa.gov. The filtering logic for what constitutes an "alert-worthy" asteroid (distance and size) is fully customizable within the "Filter and Process Asteroids" Code node. How it works A Schedule Trigger starts the workflow every 12 hours. The "Calculate Date Range" Code node generates the start and end dates for the API query (today to 14 days from now). The NASA node uses these dates to query the Near Earth Object Web Service (NeoWs) API, retrieving a list of all asteroids that will pass by Earth in that period. The "Filter and Process Asteroids" Code node iterates through the list. It filters out objects that are too small or too far away, based on thresholds defined in the code. It then formats and sorts the remaining "interesting" asteroids by their closest approach distance. An If node checks if any asteroids were found after filtering. If true (asteroids were found), the flow continues to the alert steps. If false, the workflow ends quietly via a NoOp node. The "Format Alert Messages" Code node compiles a single, well-formatted summary message for Slack and prepares the data for other notifications. The workflow then splits into two parallel branches: Slack Alert: The Slack node sends the summary message to a specified channel. Calendar Events: The Split Out node separates the data so that each asteroid is processed individually. For each asteroid, the Google Calendar node creates an all-day event on its close-approach date. How to use Configure the NASA Node: Open the "Get an asteroid neo feed" (NASA) node. Create new credentials and replace the default DEMO_KEY with your own NASA API key. Customize Filtering (Optional): Open the "Filter and Process Asteroids" Code node. Adjust the MAX_DISTANCE_KM and MIN_DIAMETER_METERS variables to make the alerts more or less sensitive. // Example: For closer, larger objects const MAX_DISTANCE_KM = 7500000; // 7.5 million km (approx. 19.5 lunar distances) const MIN_DIAMETER_METERS = 100; // 100 meters Configure Slack Alerts: Open the "Send Slack Alert" node. Add your Slack OAuth2 credentials. Select the channel where you want to receive alerts (e.g., #asteroid-watch). Configure Google Calendar Events: Open the "Create an event" (Google Calendar) node. Add your Google Calendar OAuth2 credentials. Select the calendar where events should be created. Activate the workflow. Requirements A free NASA API Key. Slack credentials** (OAuth2) and a workspace to post alerts. Google Calendar credentials** (OAuth2) to create events. Customising this workflow Add More Notification Channels**: Add nodes for Discord, Telegram, or email to send alerts to other platforms. Create a Dashboard**: Instead of just sending alerts, use the processed data to populate a database (like Baserow or Postgres) to power a simple dashboard. Different Data Source**: Modify the HTTP Request node to pull data from other space-related APIs, like a feed of upcoming rocket launches.
by AureusR
Live Demo Booking Form with Outlook Calendar and Zoom link Who’s it for This workflow is designed for SaaS companies, consultants, or sales teams that regularly run live demos. It helps automate demo scheduling, ensuring clients can only book from available time slots while instantly generating Zoom links and calendar invitations. How it works / What it does Client fills demo request form → Collects company, contact details, and a preferred date. Check Outlook calendar availability → Searches for pre-created “Online Meeting Slot” events. Time slot selection → If the date has slots, the client chooses from up to 3 nearest available times. If not, they’re asked to pick another date. Create Zoom meeting → Once a date & time are confirmed, a Zoom link is automatically generated. Update Outlook calendar → The chosen slot is updated with the client’s details and Zoom link, marked as “Booked Live Demo” so it can’t be double-booked. Send confirmation → The client receives a styled confirmation screen, and both parties get the calendar invite. How to set up Import the workflow JSON into your n8n instance. Configure the following credentials: Microsoft Outlook OAuth2 API (for calendar access). Zoom OAuth2 API (for automatic meeting creation). Pre-create “Online Meeting Slot” events in your Outlook calendar to define available demo times. Publish the form via n8n’s webhook URL (embed it in your website or share the link). Test by submitting a request to ensure slots update correctly and Zoom links are created. Requirements n8n self-hosted or cloud account. Microsoft Outlook account with calendar access. Zoom account with OAuth2 credentials. Pre-created calendar slots named “Online Meeting Slot”. How to customize the workflow Form fields**: Adjust the client details form to capture additional data (e.g., industry, product interest). Email/notification**: Add an Email or Slack node to notify your sales team of new demo bookings. Custom branding**: Update the CSS in the form nodes to match your company’s style. Capacity rules**: Modify the IF nodes to limit the number of bookings per day or adjust the slot-checking logic.
by Meak
Local Lead Finder + Cold Email Sender (Form → Apify → AI → Gmail + Google Sheets) Fill a short form with business type, location, and how many leads you want. This workflow finds local businesses, grabs a valid email from each website, writes a cold email in your chosen style, sends it, and logs everything to Google Sheets. Benefits Simple form input (business type, location, lead count, email style) Finds local businesses with Apify and filters only those with a website Scrapes one best email address from each site Writes cold emails with AI (style: Friendly / Professional / Simple) Sends via Gmail and updates Google Sheets with status + send time How It Works Form Submit: Enter Business Type, Location, Lead Number, Email Style. Find Leads (Apify): Search places in the target location (up to your lead count). Filter: Keep only results that include a website. Extract Email (AI): Visit the website and pull one valid email address. Save Lead (Sheets): Add company name, category, website, phone, address, email. Generate Email (AI): Create subject + body using your selected style. Send (Gmail): Email the scraped address; retry-safe. Log Result (Sheets): Mark “Cold Mail Status = ✅” and add send time. Batching/Wait: Process leads one by one with a short wait to avoid limits. Who Is This For Agencies doing local outreach Freelancers offering lead gen services SMBs testing cold email in a city or niche Setup Connect the built-in Form Trigger (use provided fields) Add Apify actor endpoint + token Add Google Gemini (for email extraction) and OpenAI (for email writing) keys Connect Gmail OAuth2 to send emails Connect Google Sheets (Spreadsheet ID + Sheet1) ROI & Monetization Spin up targeted campaigns in minutes (no manual research) Sell as a local lead-gen + outreach package ($500–$2k/campaign) Reuse the form for any niche and city to scale quickly Strategy Insights In the full walkthrough, I show how to: Tune the Apify search for better niches and categories Improve email extraction prompts for higher-quality addresses Adjust templates for short, compliant cold emails Add fallbacks (no email → skip or save for manual review) Check Out My Channel For more AI outreach workflows that get real results, check out my YouTube channel where I share the exact setups I use to win clients and scale to $20k+ monthly revenue.
by Paul
Workflow Description and Setup Guide This workflow provides comprehensive AI-driven stock analysis, generating detailed deep reports by leveraging advanced vector-based data retrieval and API integrations for precise financial analytics using Danelfin scoring and strategy. Overview This workflow automates stock analysis utilizing: AI-driven scoring and sector insights** (Danelfin configuration) Vector-based data retrieval** (Supabase) Deep analytical reports** Key Components and API Integrations 1. Danelfin AI Stock Analysis API Provides advanced stock scores, rankings, and sector insights. Endpoints:** /ranking: Stock rankings and scores /sectors: Sector information /industries: Industry details 2. Supabase Vector Store Vector embedding storage and quick data retrieval. Workflow Steps Initialization Chat Trigger: Activates when a message requesting stock analysis is received. Stock Analysis and Deep Reporting Main AI Agent: Processes the query, retrieves relevant data from Danelfin, and generates deep analytical reports. Supabase Vector Store: Facilitates efficient data retrieval using embeddings. Reporting Markdown Conversion: Transforms analysis into a readable HTML format. Email Reporting: Sends detailed reports via Gmail. Setup Instructions Prerequisites Obtain API Keys for Supabase and Danelfin. Configuration Steps Set API Keys: Supabase API credentials for vector storage. Danelfin API credentials for stock analysis. Gmail API Credentials: Configure Gmail node for sending reports. Running the Workflow Triggered automatically by chat messages requesting analysis. Reports sent directly via email. This setup ensures precise, AI-driven stock analysis delivered clearly through automated deep reporting.
by Giovanni Beggiato
How it works: Detects new unread Gmail messages Extracts sender name for personalized replies Classifies the email into one of four categories Applies the correct Gmail label and either sends an auto-reply, creates a draft, or logs the contact in Google Sheets Setup steps: Takes about 5–10 minutes to connect accounts and set labels Connect Gmail, OpenAI, and optional Google Sheets in n8n Add label IDs, Google Sheet ID, sheet name, and phone number in Set – Config Create four Gmail labels for the categories Keep full setup instructions in the sticky notes inside the workflow
by Oneclick AI Squad
This automated workflow monitors your website's keyword rankings daily and sends instant alerts to your team when significant ranking drops occur. It fetches current ranking positions, compares them with historical data, and triggers notifications through Slack and email when keywords drop beyond your defined threshold. Good to know The workflow uses SERP API for accurate ranking data; API costs apply based on your usage volume Ranking checks are performed daily to avoid overwhelming search engines with requests The system tracks ranking changes over time and maintains historical data for trend analysis Slack integration requires workspace permissions and proper bot configuration False positives may occur due to personalized search results or data center variations How it works Daily SEO Check Trigger** initiates the workflow on a scheduled basis Get Keywords Database** retrieves your keyword list and current ranking data Filter Active Keywords Only** processes only keywords marked as active for monitoring Fetch Google Rankings via SERP API** gets current ranking positions for each keyword Wait For Response** Wait for gets current ranking positions Parse Rankings & Detect Changes** compares new rankings with historical data and identifies significant drops Filter Significant Ranking Drops** isolates keywords that dropped beyond your threshold (e.g., 5+ positions) Send Slack Ranking Alert** notifies your team channel about ranking drops Send Email Ranking Alert** sends detailed email reports to stakeholders Update Rankings in Google Sheet** saves new ranking data for historical tracking Generate SEO Monitoring Summary** creates a comprehensive report of all ranking changes How to use Import the workflow into n8n and configure your SERP API credentials Set up your Google Sheet with the required keyword database structure Configure Slack webhook URL and email SMTP settings Define your ranking drop threshold (recommended: 5+ position drops) Test the workflow with a small keyword set before full deployment Schedule the workflow to run daily during off-peak hours Requirements SERP API account** with sufficient credits for daily keyword checks Google Sheets access** for keyword database and ranking storage Slack workspace** with webhook permissions for team notifications Email service** (SMTP or API) for stakeholder alerts Keywords database** properly formatted in Google Sheets Database/Sheet Columns Required Google Sheet: "Keywords Database" Create a Google Sheet with the following columns: | Column Name | Description | Example | |-------------|-------------|---------| | keyword | Target keyword to monitor | "best seo tools" | | domain | Your website domain | "yourwebsite.com" | | current_rank | Latest ranking position | 5 | | previous_rank | Previous day's ranking | 3 | | status | Monitoring status | "active" | | target_url | Expected ranking URL | "/best-seo-tools-guide" | | search_volume | Monthly search volume | 1200 | | difficulty | Keyword difficulty score | 65 | | date_added | When keyword was added | "2025-01-15" | | last_checked | Last monitoring date | "2025-07-30" | | drop_threshold | Custom drop alert threshold | 5 | | category | Keyword grouping | "Product Pages" | Customising this workflow Modify ranking thresholds** in the "Filter Significant Ranking Drops" node to adjust sensitivity (e.g., 3+ positions vs 10+ positions) Add competitor monitoring** by duplicating the SERP API node and tracking competitor rankings for the same keywords Customize alert messages** in Slack and email nodes to include your brand voice and specific stakeholder information Extend to multiple search engines** by adding Bing or Yahoo ranking checks alongside Google Implement ranking improvement alerts** to celebrate when keywords move up significantly Add mobile vs desktop tracking** by configuring separate SERP API calls for different device types
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 Daniel
AI Email Support Agent with RAG & Cohere Reranking Transform your inbox into an intelligent support system: automatically detect new emails, retrieve relevant knowledge from Pinecone, rerank with Cohere for precision, generate contextual replies using Gemini AI, and respond—all while maintaining conversation history. What It Does This workflow triggers on incoming Gmail messages, leverages a LangChain agent with PostgreSQL memory for context, queries a Pinecone vector store (RAG) enhanced by Cohere reranking and OpenAI embeddings, crafts personalized responses via Gemini 2.5, and auto-replies to keep support flowing. Key Features Gmail Integration** - Real-time polling for new emails every minute RAG with Pinecone** - Retrieves top 10 relevant docs from "agency-info" index as agent tool Cohere Reranking** - Boosts retrieval accuracy by reordering results semantically Persistent Memory** - Postgres chat history keyed by email ID for ongoing threads Gemini-Powered Agent** - Handles queries with custom system prompt for agency support Seamless Auto-Reply** - Sends formatted text responses directly in Gmail Perfect For Agencies**: Automate client FAQs on services, pricing, and ownership Support Teams**: Scale responses without losing conversation context Small Businesses**: Handle inquiries 24/7 with AI-driven accuracy Developers**: Prototype RAG agents with vector stores and rerankers Marketers**: Personalize outreach replies based on knowledge base Consultants**: Quick, informed answers from internal docs Technical Highlights Built on n8n's LangChain ecosystem, this workflow highlights: Trigger-to-response pipeline with polling and webhooks Hybrid retrieval: Embeddings + vector search + semantic reranking Stateful agents with database-backed memory for multi-turn chats Multi-provider setup: OpenAI (embeddings), Cohere (rerank), Google (LLM) Scalable for production with configurable topK and session keys Setup Instructions Prerequisites n8n instance with LangChain nodes enabled Accounts for: Gmail (OAuth2), OpenAI (API key), Cohere (API key), Google Gemini (API key), Pinecone (API key and index), Postgres (database connection, e.g., Neon or Supabase) Required Credentials Gmail OAuth2 Enable Gmail API in Google Cloud Console Create OAuth2 credential in n8n with scopes: https://www.googleapis.com/auth/gmail.readonly, https://www.googleapis.com/auth/gmail.send OpenAI API Get API key from platform.openai.com Add as OpenAI credential in n8n Cohere API Sign up at cohere.com Copy API key to n8n Cohere credential Google Gemini API Generate key at https://aistudio.google.com/ Add as Google PaLM credential in n8n (compatible with Gemini) Pinecone API Create index "agency-info" with dimension 1024 Add API key to n8n Pinecone credential Postgres Set up database (e.g., Neon/Supabase) with a table for chat history Add connection details (host, database, user, password) to n8n Postgres credential Configuration Steps Import the workflow JSON into your n8n instance Assign all required credentials to the respective nodes Populate the Pinecone "agency-info" index with your knowledge base documents (use a separate upsert workflow or Pinecone dashboard) Customize the tableName in the Postgres Memory node if needed (default: "email_support_agent_") Adjust the agent's system prompt or topK retrieval if required for your use case Activate the workflow and test by sending a sample email to trigger it Troubleshooting No trigger firing**: Verify Gmail scopes and polling interval Empty retrieval**: Check Pinecone index population, dimensions (must be 1024), and document embeddings Rerank errors**: Ensure Cohere API key is valid and has sufficient quota Memory issues**: Confirm Postgres connection and that sessionKey uses email ID Perfect for deploying hands-off email automation. Import, connect credentials, and activate!
by Ishita Virmani
This N8N template helps keep track of multiple school websites for admission updates and sends an email notification. Good To Know This template uses all free tier tools like Gemini for LLM, Email alerting, How it works For each School Website provided: Get & clean the content through HTTP Request Node Gemini model takes the HTML content and defined prompt that instructs on how to identify if Pre-nursery Admissions for year 2026-207 have announced yet. If LLM response confirms the announcement, trigger an email to the configured address. Features Scheduled daily checks HTTP scraping Google Gemini text extraction for admission for Pre-nursery Email alerts How to use Import workflow. Provide already created or new Gemini API key within "Are admissions open" node. Setup SMTP account credentials within "Send Email" node, along with From-Email and To-Email. Finally update your list of School and their Admission URLs within "Shortlisted Schools" node. Customizing the workflow It can be used for tracking school admissions for any class including Pre-Nursery/ Bal-vatika/ 1st etc. via modifying the prompt. It can be used for tracking any school that has details uploaded on their websites and can be extracted via HTTP request node.
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 WeblineIndia
WooCommerce Product Reviews: Sentiment Analysis with Slack Summary This workflow automatically fetches product reviews from your WooCommerce store, analyzes the sentiment of each review using AI, stores the results in Airtable and sends a summary of positive, neutral and negative reviews to Slack. It helps teams quickly understand overall customer feedback, track product sentiment and stay updated without manually reading all reviews. Quick Start – Implementation Steps Import the workflow JSON file into n8n. Configure credentials: WooCommerce HTTP Basic Auth (for fetching reviews) OpenAI API (for sentiment analysis) Airtable Personal Access Token (for storing reviews) Slack API (for sending summary messages) Adjust the Cron/Schedule Trigger node to your preferred interval (e.g., every 10 minutes). Test the workflow with a few reviews to ensure AI and Slack integrations work correctly. Activate the workflow after confirming functionality. What It Does This workflow automates sentiment analysis and team notification: Schedule Trigger** – Runs the workflow automatically at defined intervals. Set WooCommerce Domain** – Defines the WooCommerce store to fetch reviews from. Fetch Reviews** – Retrieves all recent product reviews using WooCommerce API credentials. Loop Over Items** – Processes reviews in smaller batches for efficiency. Message a Model** – Sends each review to OpenAI to detect sentiment (positive, neutral, negative) and generate a short summary. Merge & Code Nodes** – Combines original review data with AI results and ensures proper data alignment. If Node** – Checks sentiment for further processing. Create a Record (Airtable)** – Stores each review and its sentiment in Airtable. Code Summary Node** – Counts positive, neutral, and negative reviews to create a summary. Send a Message (Slack)** – Posts the sentiment summary to the team’s Slack channel for visibility. Who’s It For This workflow is ideal for: E-commerce managers tracking WooCommerce product feedback Customer support teams monitoring review sentiment Marketing and product teams seeking automated insights Teams using Airtable and Slack for data tracking and collaboration Requirements to Use This Workflow An n8n instance (cloud or self-hosted) WooCommerce store** with API access OpenAI API key** for sentiment analysis Airtable account** with base/table configured Slack workspace** with API access for messaging Basic familiarity with APIs and workflow automation How It Works Schedule Trigger – Executes the workflow at the defined interval. Set WooCommerce Domain – Configures which store to fetch reviews from. Fetch Reviews – Retrieves all recent product reviews from WooCommerce. Loop Over Items – Splits reviews into manageable batches. Message a Model – Sends reviews to AI for sentiment analysis and short summary. Merge & Code Nodes – Combines AI results with original review data and prepares it for storage and summary. If Node – Checks review sentiment for saving or further processing. Create a Record (Airtable) – Saves each review with sentiment and AI summary. Code Summary Node – Counts the number of positive, neutral, and negative reviews. Send a Message (Slack) – Sends a concise summary of review sentiment to the Slack channel. Setup Steps Import the workflow JSON into n8n. Add credentials: WooCommerce HTTP Basic Auth OpenAI API Airtable Personal Access Token Slack API Configure the WooCommerce domain in the Set WooCommerce Domain node. Test the workflow with sample reviews to ensure AI outputs correctly. Adjust the Schedule Trigger interval as needed. Activate the workflow after confirming that data flows correctly from WooCommerce → AI → Airtable → Slack. How To Customize Nodes Schedule Trigger Adjust interval (minutes, hours, days) as needed. Set WooCommerce Domain Replace with your store domain URL. Fetch Reviews Update endpoint or filters if needed. Ensure WooCommerce credentials are correct. Message a Model Change AI model or prompts to adjust sentiment analysis or summary style. Create a Record (Airtable) Map additional fields if needed. Ensure the table has the necessary columns for sentiment, summary, rating, and product info. Send a Message (Slack) Customize Slack message format. Change the channel ID to send summaries to the right team. Optional Enhancements Include historical review trends. Automatically trigger notifications only for negative reviews. Send summaries to email or other messaging apps. Visualize sentiment trends in Airtable or external dashboards. Use Case Examples Automated Sentiment Tracking – Understand customer feedback without manual reading. Team Alerts – Notify product and support teams about negative reviews quickly. Data Storage & Reporting – Keep historical sentiment in Airtable for trend analysis. Efficient Batch Processing – Process large number of reviews without overloading the system. Troubleshooting Guide | Issue | Possible Cause | Solution | |--------------------------|--------------------------------------------------|--------------------------------------------------------------| | Reviews not fetched | Wrong WooCommerce credentials or endpoint | Check WooCommerce HTTP Basic Auth and store domain | | AI analysis fails | OpenAI API key invalid or prompt error | Verify OpenAI credentials and prompt syntax | | Slack message missing | Incorrect Slack channel or API token | Check Slack credentials and channel ID | | Airtable not storing reviews | Table or field mismatch | Verify Airtable base, table, and column mapping | Need Help? If you need assistance setting up the workflow, customizing AI sentiment analysis or integrating Slack summaries, feel free to contact our n8n development team at WeblineIndia. We provide workflow automation, AI integration and reporting solutions for WooCommerce stores.
by Automate With Marc
Automatic Personalized Sales Follow-Up with GPT-5, Pinecone, and Tavily Research Description Never let a lead go cold. This workflow automatically sends personalized follow-up emails to every inbound inquiry. It combines GPT-5, Pinecone Vector DB, and Tavily Research to craft responses that align with your brand’s best practices, tone, and the latest product updates. With embedded research tools, every response is both timely and relevant—helping your sales team convert more leads without manual effort. 👉 Watch step-by-step builds of workflows like these on: www.youtube.com/@automatewithmarc How It Works Form Trigger – Captures inbound lead details (name, company, email, and message). AI Sales Agent (GPT-5) – Researches the lead’s business and problem statement, referencing Pinecone for your brand guidelines and product updates. Uses Tavily research for real-time enrichment. Structured Output Parser – Ensures the subject line and email body are formatted cleanly in JSON. Send Follow-Up Email (Gmail Node) – Delivers a polished, ready-to-go follow-up directly to the lead. Simple Memory – Maintains context across follow-ups for more natural conversations. Why Sales Teams Will Love It ⏱ Faster responses — every lead gets an immediate, high-quality reply. 📝 On-brand every time — Pinecone ensures tone matches your playbook. 🌍 Research-driven — Tavily enriches responses with fresh, relevant context. 📈 Higher conversions — timely, personalized outreach drives more meetings. 🤖 Hands-off automation — sales reps focus on closing, not chasing. Setup Instructions Form Trigger Configure your inbound form to capture lead details (name, email, company, message). Connect it to this workflow. Pinecone Setup Create a Pinecone index and embed your brand guidelines, sales playbook, and product updates. Update the Pinecone Vector Store node with your index name. Tavily Setup Add your Tavily API key to the Tavily Research node. OpenAI Setup Add your OpenAI API key to the GPT-5 Chat Model node. Adjust the system prompt inside the AI Agent to reflect your company’s style and tone. Gmail Node Connect your Gmail account to the Send Follow-Up Email node. Update sender details if you want the emails to come from a shared inbox or a rep’s personal account. Customization Tone of Voice – Modify the system prompt inside the AI Agent to be more professional, casual, or industry-specific. Scheduling Links – Replace the default Calendly link with your own booking tool. Form Fields – Add or remove fields depending on the information you collect (e.g., budget, role, region). Requirements Gmail account (for sending follow-up emails) OpenAI API key (GPT-5) Pinecone account (for storing/retrieving guidelines + updates) Tavily API key (for online research enrichment)