by Rodrigue Gbadou
What this workflow does This n8n workflow collects client feedback through a form (Tally, Typeform, or Google Forms) and uses AI to analyze it. It automatically generates a summary of the positive points, highlights areas for improvement, and drafts a short social media post based on the feedback. Ideal for: Freelancers Customer support teams Online service providers Coaches and educators Setup steps Connect your form tool to the Webhook node (POST method) and make sure it sends a feedback field. Add your DeepSeek (or other GPT-compatible) API key to the AI request node. Configure the email node with your SMTP credentials and desired recipient address. Replace the Telegram node with Slack, Buffer, or another integration if you prefer. (Optional) Customize the prompt in the function node for different tone/language. 🕐 Estimated setup time: ~15 minutes 💬 Sticky notes are included and clearly positioned to guide you. Technologies used n8n Webhook node n8n Function node DeepSeek Chat or compatible AI API Email node (SMTP) Telegram node (or other integration) Sticky Notes for setup guidance Use cases Analyze feedback from onboarding or satisfaction surveys Create ready-to-publish social media content from real customer praise Help support or marketing teams act on feedback immediately
by Jordan Lee
This n8n template demonstrates how to use AI as a comprehensive personal assistant with multiple specialized agents. Use cases include email management, scheduling, web search, calculations, and more - all automated through AI coordination. Good to know This template integrates multiple AI services through OpenRouter Each agent specializes in different tasks (Gmail, Calendar, Search, etc.) Memory persistence maintains context across interactions How it works The workflow is triggered by Telegram messages (can be replaced with other triggers) A router node directs requests to the appropriate specialized agent Agents include: Gmail for email management Calculator for math operations Google Search for information retrieval Calendar for scheduling Contacts for CRM functions The OpenRouter Chat Model coordinates responses Final responses are sent back through Telegram How to use Connect your Telegram bot credentials Configure each service with appropriate API keys The system will automatically route requests to the right agent Requirements OpenRouter account for AI services Telegram bot token Google API credentials for relevant services Customising this workflow Add more specialized agents as needed Replace Telegram with other communication channels Adjust routing logic for different use cases
by Alex Kim
Automate Video Creation with Luma AI Dream Machine and Airtable (Part 2) Description This is the second part of the Luma AI Dream Machine automation. It captures the webhook response from Luma AI after video generation is complete, processes the data, and automatically updates Airtable with the video and thumbnail URLs. This completes the end-to-end automation for video creation and tracking. 👉 Airtable Base Template 👉 Tutorial Video Setup 1. Luma AI Setup Ensure you’ve created an account with Luma AI and generated an API key. Confirm that the API key has permission to manage video requests. 2. Airtable Setup Make sure your Airtable base includes the following fields (set up in Part 1): Use the Airtable Base Template linked above to simplify setup. Generation ID** – To match incoming webhook data. Status** – Workflow status (e.g., "Done"). Video URL** – Stores the generated video URL. Thumbnail URL** – Stores the thumbnail URL. 3. n8n Setup Ensure that the n8n workflow from Part 1 is set up and configured. Import this workflow and connect it to the webhook callback from Luma AI. How It Works 1. Webhook Trigger The Webhook node listens for a POST response from Luma AI once video generation is finished. The response includes: Video URL – Direct link to the video. Thumbnail URL – Link to the video thumbnail. Generation ID – Used to match the record in Airtable. 2. Process Webhook Data The Set node extracts the video data from the webhook response. The If node checks if the video URL is valid before proceeding. 3. Store in Airtable The Airtable node updates the record with: Video URL – Direct link to the video. Thumbnail URL – Link to the video thumbnail. Status – Marked as "Done." Uses the Generation ID to match and update the correct record. Why This Workflow is Useful ✅ Automates the completion step for video creation ✅ Ensures accurate record-keeping by matching generation IDs ✅ Simplifies the process of managing and organizing video content ✅ Reduces manual effort by automating the update process Next Steps Future Enhancements** – Adding more complex post-processing, video trimming, and multi-platform publishing.
by Shahrear
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Transform your expense tracking with automated AI receipt processing that extracts data and organizes it instantly. What this workflow does Monitors Google Drive for new receipt uploads (images/PDFs) Downloads and processes files automatically Extracts key data using VLM Run community node (merchant, amount, currency, date) Saves structured data to Google Sheets for easy tracking Setup Prerequisites: Google Drive/Sheets accounts, VLM Run API credentials, n8n instance. You need to install VLM Run community node. To install Community nodes you need to follow steps, Settings -> Community Nodes -> Install -> Search with name @vlm-run/n8n-nodes-vlmrun Quick Setup: Configure Google Drive OAuth2 and create receipt upload folder Add VLM Run API credentials Create Google Sheets with columns: Customer, Merchant, Amount, Currency, Date Update folder/sheet IDs in workflow nodes Test and activate How to customize this workflow to your needs Extend functionality by: Adding expense categories and approval workflows Connecting to accounting software (QuickBooks, Xero) Including Slack notifications for processed receipts Adding data validation and duplicate detection This workflow transforms manual receipt processing into an automated system that saves hours while improving accuracy.
by Kunsh
A streamlined AI-powered tool that extracts actionable technical insights from HackerOne security reports for advanced bug bounty hunters. How It Works Send any HackerOne report URL (e.g., https://hackerone.com/reports/123456) to the chat interface. The AI agent will: Fetch the report JSON automatically Analyze for unique techniques, payloads, and root causes Extract reusable insights in a structured format Summarize with practical pentesting value Setup Requirements Google Gemini API credentials configured Chat interface deployed and accessible HackerOne report URLs Output Format Summary: One-liner impact statement Techniques: Payloads, code snippets, exploitation steps Pro Tips: Reusable insights for future hunts Perfect for rapid triage and building your personal exploit knowledge base.
by Rodrigue Gbadou
What this workflow does This n8n workflow connects to Google Search Console to fetch SEO performance data (clicks, impressions, CTR, and average position) for the last 7 days. It formats the results into a clean weekly summary and automatically sends it to your email inbox every Monday morning. Ideal for: Website owners Bloggers SEO consultants who want to track site performance over time without manual reporting. Setup steps Replace YOUR_SITE_URL in the HTTP Request node with your verified domain from Google Search Console. Connect your Google OAuth2 credentials to the HTTP Request node. Set up your SMTP credentials in the "Send Email" node. Adjust the recipient email address and subject line if necessary. (Optional) Customize the Function node to include more queries or format the report as a PDF. Estimated setup time: ~10 minutes Sticky notes are included in the workflow canvas to guide you step-by-step. Technologies used Google Search Console API SMTP Email Node n8n Function Node n8n HTTP Request Node n8n Sticky Notes
by SamirLiu
📝 Overview This workflow leverages Google Gemini 2.0 Flash multimodal AI to automatically generate detailed descriptions of video content from any public URL. It streamlines video understanding, making it ideal for content cataloging, accessibility, and content moderation. 💡 Use Cases ♿ Accessibility: Automatically generate detailed video descriptions for visually impaired users. 🛡️ Content Moderation: Detect inappropriate or off-brand material without manual watching. 🗂️ Media Cataloging: Enrich your media library with automatically extracted metadata. 📈 Marketing & Branding: Gain fast insights into key elements, tone, and branding in video content. ⚙️ Setup Instructions 🔑 Get a Gemini API Key Register at ai.google.dev and create an API key. Before running the workflow, set your Gemini API key as an environment variable named GeminiKey for secure access within the workflow. In the Set Input node, reference this environment variable instead of hardcoding the key. 🌐 Configure Video URL Replace the sample URL in the Set Input node with your desired public video URL. Ensure the video is directly accessible (no login or special permissions required). 📝 Optional: Customize the Analysis Edit the prompt in the Analyze video Gemini node to focus on the most relevant video details for your use case (e.g., branding, key actions, visual elements). 🔒 Security Tip Use n8n's credentials manager or environment variables (like GeminiKey) to store your API key securely. Avoid hardcoding API keys directly in workflow nodes, especially in production environments. 🔄 How It Works 📥 Download the video from the provided URL. ☁️ Upload the video to Gemini’s server for processing. ⏳ Wait for Gemini to complete processing. 🤖 Analyze the video with Gemini AI using your customized prompt. 📄 Output a comprehensive description of the video as videoDescription. ⚡ Technical Details Uses HTTP Request nodes to interact with Gemini API endpoints. Handles file download, upload, status checking, and result retrieval. Customizable Gemini AI parameters for fine-tuned response. Main output: videoDescription (detailed text describing video content). 🚀 Quickstart Set your Gemini API key as the GeminiKey environment variable and configure your video URL in the workflow. Execute the workflow. Retrieve your rich, AI-generated video description for downstream use such as automation, tagging, or reporting.
by Ankur Pata
✨ What It Does Mello is a Claude-powered Slack assistant that helps you stay on top of unread messages across all your channels. It: Summarizes conversations contextually using Claude AI. Generates reply suggestions and sends them as private (ephemeral) Slack messages. Lets you respond instantly with one-click AI-suggested replies. Perfect for busy teams, founders, and anyone looking to reduce Slack noise and save hours each week. 🔧 Setup Instructions Create a Slack App Go to Slack API → Your Apps Click Create New App and set it up for your workspace Under OAuth & Permissions, add: Bot Token Scopes: commands, chat:write, channels:history, users:read User Token Scopes: channels:history, chat:write Enable Interactivity, and point the Request URL to your n8n webhook (e.g. /slash-summarize) Add Claude API Get an API key from Claude (Anthropic) In n8n, set up the Claude API credential (or switch to OpenAI) Import This Workflow Go to your n8n instance, click Import, and paste this template Update any placeholders (Slack app, Claude key, webhook URLs) Follow the inline sticky notes for guidance Test It Type /summarize in any Slack channel Mello will fetch unread messages, summarize them, and show reply buttons in a private message ⏱ Setup time: ~10 minutes 🛠 Workflow Highlights Slash command trigger (/summarize) Slack API integration to fetch messages Claude AI for contextual summaries Reply suggestions with smart buttons Private Slack delivery (ephemeral messages) Designed to be easily extended (e.g. add support for OpenAI, custom storage) 🔒 Note This is a lite preview of the full Mello workflow. ✅ The full version includes: Slack reply buttons with thread context Full OAuth flow with token storage MongoDB integration Custom Claude/OpenAI configuration Hosted version with onboarding, branding & support 💡 Want access to the complete version? 📩 Email nina@baloon.dev
by Joseph LePage
This n8n workflow demonstrates multiple ways to harness DeepSeek's AI models in your automation pipeline! 🌟 Core Features Multiple Integration Methods 🔌 Local deployment using Ollama for DeepSeek-R1 Direct API integration with DeepSeek Chat V3 Conversational agent with memory buffer HTTP request implementation with both raw and JSON formats Model Options 🧠 DeepSeek Chat V3 for general conversation DeepSeek-R1 for advanced reasoning Memory-enabled agent for persistent context Quick Setup 🛠️ API Configuration Base URL: https://api.deepseek.com Get your API key from platform.deepseek.com/api_keys Local Setup 💻 Install Ollama for local deployment Set up DeepSeek-R1 via Ollama Configure local credentials in n8n Implementation Details 🔧 Conversational Agent Window Buffer Memory for context Customizable system messages Built-in error handling with retries API Endpoints 🌐 Chat completions for V3 and R1 models OpenAI API format compatibles
by Oneclick AI Squad
An AI-powered email marketing automation workflow that generates personalized marketing emails using data from Google Sheets and delivers them directly to clients. This workflow combines the power of AI content generation with spreadsheet-based campaign management for seamless email marketing automation. What's the Goal? Automatically pull marketing offer details from Google Sheets (Sheet 1) Fetch client information from Google Sheets (Sheet 2) Use AI to generate compelling, personalized marketing content Format emails with professional structure and personalization Send targeted marketing emails directly to clients Enable scalable email marketing campaigns with minimal manual effort By the end, you'll have a fully automated email marketing system that creates and sends personalized campaigns based on your spreadsheet data. Why Does It Matter? Manual email marketing is labor-intensive and lacks personalization at scale. Here's why this workflow is a game changer: Zero Manual Drafting**: AI generates unique content for each recipient Data-Driven Personalization**: Leverages spreadsheet data for targeted messaging Scalable Campaigns**: Handle hundreds of clients with a single workflow execution Consistent Quality**: AI ensures professional, engaging content every time Time Efficiency**: Transform hours of work into minutes of automation Cost-Effective**: Reduce marketing team workload while increasing output Think of it as your intelligent marketing assistant that creates personalized campaigns at enterprise scale. How It Works Here's the step-by-step process behind the automation: Step 1: Track Offer Updates Node**: Track Offer Sheet Updates (Sheet 1) Function**: Monitor Google Sheets for new marketing offers or updates Trigger**: Automatically activates when new data is added to Sheet 1 Step 2: Generate Marketing Content Node**: Generate Marketing Content with AI Function**: Process offer details through AI model (Llama 3.2) Process**: Creates compelling marketing copy based on offer parameters Step 3: Fetch Client Information Node**: Fetch Client List (Sheet 2) Function**: Retrieve client names and email addresses from Sheet 2 Data**: Pulls client_name and client_email for personalization Step 4: Content Personalization Node**: Format Personalized Email Function**: Combine AI-generated content with client-specific data Output**: Creates personalized email for each recipient Step 5: Email Delivery Node**: Send Marketing Email to Client Function**: Deliver personalized emails directly to client inboxes Method**: Uses Gmail integration for professional delivery Google Sheets Structure Sheet 1: Marketing Offer Details | Column | Description | Example | |--------|-------------|---------| | title | Campaign/offer name | "Summer Sale 2024" | | discount | Discount percentage or amount | "25% OFF" | | validity | Offer expiration date | "Valid until July 31st" | | products_included | Items covered by offer | "All summer collection" | | original_price | Pre-discount pricing | "$199.99" | | discounted_price | Final pricing | "$149.99" | | cta | Call-to-action text | "Shop Now" | | bonus | Additional incentives | "Free shipping included" | Sheet 2: Client Information | Column | Description | Example | |--------|-------------|---------| | client_name | Customer's full name | "John Smith" | | client_email | Customer's email address | "john.smith@email.com" | How to Use the Workflow Prerequisites Google Sheets Setup: Create two sheets with the required column structure n8n Account: Access to n8n workflow platform Gmail API: Gmail account with API access configured AI Model Access: Llama 3.2 API credentials Importing the Workflow in n8n Step 1: Obtain the Workflow JSON Download the workflow file or copy the JSON code Ensure you have the complete workflow configuration Step 2: Access n8n Workflow Editor Log in to your n8n instance (Cloud or self-hosted) Navigate to the Workflows section Click "Add Workflow" to create a new workflow Step 3: Import the Workflow Option A: Import from Clipboard Click the three dots (⋯) in the top-right corner Select "Import from Clipboard" Paste the JSON code into the text box Click "Import" to load the workflow Option B: Import from File Click the three dots (⋯) in the top-right corner Select "Import from File" Choose the .json file from your computer Click "Open" to import the workflow Configuration Setup Google Sheets Integration Authenticate Google Sheets: Connect your Google account in n8n Configure Sheet 1: Set spreadsheet ID and range for marketing offers Configure Sheet 2: Set spreadsheet ID and range for client information AI Model Configuration Set API Credentials: Configure Llama 3.2 API key and endpoint Customize Prompts: Adjust AI prompts for your brand voice and style Set Content Parameters: Define content length, tone, and structure Gmail Integration Gmail API Setup: Enable Gmail API in Google Cloud Console OAuth Configuration: Set up OAuth credentials for email sending Sender Configuration: Configure sender name and email address Content Customization Email Templates: Customize email structure and branding Personalization Fields: Map spreadsheet columns to email variables Brand Guidelines: Set company colors, fonts, and messaging tone Workflow Execution Manual Execution Click "Execute Workflow" in the n8n interface Monitor execution progress through each node Review generated content and delivery status Automated Execution Set up triggers based on sheet updates Configure scheduling for regular campaign runs Enable webhook triggers for real-time processing Best Practices Data Management Keep spreadsheet data clean and formatted consistently Regular validation of email addresses in Sheet 2 Update offer details promptly in Sheet 1 Content Quality Review AI-generated content periodically Adjust prompts based on campaign performance Maintain consistent brand voice across campaigns Deliverability Monitor email bounce rates and engagement metrics Maintain clean email lists with valid addresses Follow email marketing best practices and regulations Performance Optimization Batch process large client lists for efficiency Monitor workflow execution times Implement error handling and retry mechanisms Troubleshooting Common Issues Authentication Errors**: Verify API credentials and permissions Sheet Access**: Ensure proper sharing permissions for Google Sheets Email Delivery**: Check Gmail API quotas and sending limits AI Processing**: Monitor API rate limits and response times Error Handling Implement retry logic for failed operations Set up notification systems for workflow failures Maintain backup data sources for critical campaigns Security Considerations Use environment variables for API keys and credentials Implement proper access controls for sensitive data Regular security audits of connected services Compliance with data protection regulations (GDPR, CAN-SPAM) Conclusion This Smart Email Marketing Generator transforms your marketing campaigns from manual, time-consuming tasks into automated, intelligent processes. By leveraging AI and spreadsheet data, you can create personalized, engaging campaigns that scale with your business needs while maintaining professional quality and consistency. The workflow represents a significant advancement in marketing automation, combining the accessibility of spreadsheet-based data management with the power of AI-driven content generation and automated delivery systems.
by JPres
A Discord bot that responds to mentions by sending messages to n8n workflows and returning the responses. Connects Discord conversations with custom automations, APIs, and AI services through n8n. Full guide on: https://github.com/JimPresting/AI-Discord-Bot/blob/main/README.md Discord Bot Summary Overview The Discord bot listens for mentions, forwards questions to an n8n workflow, processes responses, and replies in Discord. This workflow is intended for all Discord users who want to offer AI interactions with their respective channels. What do you need? You need a Discord account as well as a Google Cloud Project Key Features 1. Listens for Mentions The bot monitors Discord channels for messages that mention it. Optional Configuration**: Can be set to respond only in a specific channel. 2. Forwards Questions to n8n When a user mentions the bot and asks a question: The bot extracts the question. Sends the question, along with channel and user information, to an n8n webhook URL. 3. Processes Data in n8n The n8n workflow receives the question and can: Interact with AI services (e.g., generating responses). Access databases or external APIs. Perform custom logic. n8n formats the response and sends it back to the bot. 4. Replies to Discord with n8n's Response The bot receives the response from n8n. It replies to the user's message in the Discord channel with the answer. Long Responses**: Handles responses exceeding Discord's 2000-character limit by chunking them into multiple messages. 5. Error Handling Includes error handling for: Issues with n8n communication. Response formatting problems. Manages cases where: No question is asked. An invalid response is received from n8n. 6. Typing Indicator While waiting for n8n's response, the bot sends a "typing..." indicator to the Discord channel. 7. Status Update For lengthy n8n processes, the bot sends a message to the Discord channel to inform the user that it is still processing their request. Step-by-Step Setup Guide as per Github Instructions Key Takeaways You’ll configure an n8n webhook to receive Discord messages, process them with your workflow, and respond. You’ll set up a Discord application and bot, grant the right permissions/intents, and invite it to your server. You’ll prepare your server environment (Node.js), scaffold the project, and wire up environment variables. You’ll implement message‐chunking, “typing…” indicators, and robust error handling in your bot code. You’ll deploy with PM2 for persistence and know how to test and troubleshoot common issues. 1. n8n: Create & Expose Your Webhook New Workflow Log into your n8n instance. Click Create Workflow (➕), name it e.g. Discord Bot Handler. Webhook Trigger Add a node (➕) → search Webhook. Set: Authentication: None (or your choice) HTTP Method: POST Path: e.g. /discord-bot Click Execute Node to activate. Copy Webhook URL After execution, copy the Production Webhook URL. You’ll paste this into your bot’s .env. Build Your Logic Chain additional nodes (AI, database lookups, etc.) as required. Format the JSON Response Insert a Function node before the end: return { json: { answer: "Your processed reply" } }; Respond to Webhook Add Respond to Webhook as the final node. Point it at your Function node’s output (with the answer field). Activate Toggle Active in the top‐right and Save. 2. Discord Developer Portal: App & Bot New Application Visit the Discord Developer Portal. Click New Application, name it. Go to Bot → Add Bot. Enable Intents & Permissions Under Privileged Gateway Intents, toggle Message Content Intent. Under Bot Permissions, check: Read Messages/View Channels Send Messages Read Message History Grab Your Token In Bot → click Copy (or Reset Token). Store it securely. Invite Link (OAuth2 URL) Go to OAuth2 → URL Generator. Select scopes: bot, applications.commands. Under Bot Permissions, select the same permissions as above. Copy the generated URL, open it in your browser, and invite your bot. 3. Server Prep: Node.js & Project Setup Install Node.js v20.x sudo apt purge nodejs npm sudo apt autoremove curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs node -v # Expect v20.x.x npm -v # Expect 10.x.x Project Folder mkdir discord-bot cd discord-bot Initialize & Dependencies npm init -y npm install discord.js axios dotenv 4. Bot Code & Configuration Environment Variables Create .env: nano .env Populate: DISCORD_BOT_TOKEN=your_bot_token N8N_WEBHOOK_URL=https://your-n8n-instance.com/webhook/discord-bot Optional: restrict to one channel TARGET_CHANNEL_ID=123456789012345678 Bot Script Create index.js: nano index.js Implement: Import dotenv, discord.js, axios. Set up client with MessageContent intent. On messageCreate: Ignore bots or non‐mentions. (Optional) Filter by channel ID. Extract and validate the user’s question. Send “typing…” every 5 s; after 20 s send a status update if still processing. POST to your n8n webhook with question, channelId, userId, userName. Parse various response shapes to find answer. If answer.length ≤ 2000, message.reply(answer). Else, split into ~1900‑char chunks at sentence/paragraph breaks and send sequentially. On errors, clear intervals, log details, and reply with an error message. Login client.login(process.env.DISCORD_BOT_TOKEN); 5. Deployment: Keep It Alive with PM2 Install PM2 npm install -g pm2 Start & Monitor pm2 start index.js --name discord-bot pm2 status pm2 logs discord-bot Auto‐Start on Boot pm2 startup Follow the printed command (e.g. sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u your_user --hp /home/your_user) pm2 save 6. Test & Troubleshoot Functional Test In your Discord server: @YourBot What’s the weather like? Expect a reply from your n8n workflow. Common Pitfalls No reply → check pm2 logs discord-bot. Intent Errors → verify Message Content Intent in Portal. Webhook failures → ensure workflow is active and URL is correct. Formatting issues → confirm your Function node returns json.answer. Inspect Raw Data Search your logs for Complete response from n8n: to debug payload shapes. `
by Martech Mafia
Problem Monitoring SEO performance from Google Search Console (GSC) manually is repetitive and prone to human error. For marketers or analysts managing multiple domains, checking reports manually and copying data into spreadsheets or databases is time-consuming. There is a strong need for an automated solution that collects, stores, and updates SEO metrics regularly for easier analysis and dashboarding. Solution This workflow automatically pulls performance metrics from Google Search Console — including queries, pages, CTR, impressions, positions, and devices — and stores them in a structured format inside a NocoDB table. It’s ideal for SEO specialists, marketing teams, or data analysts who need to automate SEO reporting and centralize data for analytics or dashboards (like Superset or Metabase). Setup Instructions Authorize your Google Search Console account Connect via OAuth2 (requires GSC API access). Create a NocoDB table Define fields to match GSC response: query (text) page (URL) device (text) clicks (number) impressions (number) ctr (percentage) position (number) Add credentials in n8n Use credential nodes for both: Google OAuth2 NocoDB API Token Customize schedule trigger Set the frequency (e.g., weekly) and adjust the domain/date range as needed. Generalize domains Replace specific domains like martechmafia.net with your-domain.com before submission. NocoDB Table Structure The NocoDB table must match the fields coming from GSC's Search Analytics API. Here's a sample schema: { "query": "string", "page": "string", "device": "string", "clicks": "number", "impressions": "number", "ctr": "number", "position": "number" }