by Lucía Maio Brioso
🧑💼 Who is this for? This workflow is for anyone who receives too many emails and wants to stay informed without drowning in their inbox. If you're constantly checking your Gmail and wish you had someone summarizing messages and sending just the important parts to your phone, this is for you. Especially useful for solopreneurs, customer support, busy professionals, or newsletter addicts. 🧠 What problem is this workflow solving? Email is powerful, but also overwhelming. Important info gets buried in threads, and staying on top of things can mean hours wasted scanning messages. This workflow turns that chaos into clarity: as soon as a new email arrives, you get a concise AI-generated summary in Telegram — straight to your pocket. No more checking Gmail constantly. No more missing key updates. Just a clean, human-style summary, written in the language you choose. ⚙️ What this workflow does Watches your Gmail inbox for new messages Prepares the content, including sender, subject, and message body Sends it to OpenAI to generate a friendly, casual summary Delivers that summary to your Telegram chat All in seconds, completely automated. 🛠️ Setup Connect your accounts: Gmail, Telegram, and OpenAI credentials must be added to the respective nodes. Set your Telegram chat ID: Use a bot like @userinfobot to get it. Customize the language in the Set summary language node (default is English). Activate the workflow — and watch it go. 🧩 How to customize this workflow to your needs You can make this workflow your own in a few easy ways: Summarize only some emails**: Add a Filter node after the Gmail trigger (e.g., only messages from certain senders). Change the tone or detail of summaries**: Tweak the system prompt in the Summary generation agent. Use a different model**: Swap OpenAI’s GPT-4o for another provider like Claude or DeepSeek. Translate to your preferred language**: Just change "english" to "español", "français", etc.
by Intuz
This n8n template from Intuz provides a complete and automated solution for real-time financial reporting. It instantly syncs new QuickBooks invoices to Google Sheets, using specific invoice data or keywords as triggers to ensure your financial records are always accurate and up-to-date. It uses a webhook to capture every new or updated invoice and logs the essential details into a designated Google Sheet. Perfect for creating custom reports, data backups, or a real-time dashboard of your accounts receivable. Use Cases Financial Reporting:** Create a simple, shareable Google Sheet for team members who don't have QuickBooks access. Data Backup:** Maintain a secure, independent log of all your invoices outside of the QuickBooks ecosystem. Custom Dashboards:** Use the Google Sheet as a data source for tools like Google Data Studio or Grafana to build custom financial dashboards. Auditing:** Easily track the history and status of all invoices in a simple, searchable spreadsheet format. How it Works 1. Instant Webhook Trigger: The workflow activates the moment an invoice is created or updated in QuickBooks. The QuickBooks webhook sends a notification to n8n, kicking off the process in real time. 2. Fetch Full Invoice Details: The initial webhook notification only contains the invoice ID. This node uses that ID to make a call back to the QuickBooks API and retrieve the complete invoice data, including customer name, due date, and more. 3. Format Key Data: A simple Code node cleans up the data fetched from QuickBooks. It extracts only the fields you need—ID, Domain, Customer Name, and Due Date—and structures them perfectly for the next step. 4. Append or Update in Google Sheets: The final node connects to your Google Sheet and uses the powerful "Append or Update" operation. If the ID of the invoice doesn't exist in the sheet, it adds a new row. If the ID already exists, it updates the existing row with the latest information. This ensures your Google Sheet is always a perfect mirror of your QuickBooks invoice data, preventing duplicates and keeping everything current. Setup Instructions For this workflow to run successfully, follow these setup steps: 1. Credentials: QuickBooks: Connect your QuickBooks account credentials to n8n. Google: Connect your Google account using OAuth2 credentials. Ensure the Google Sheets and Google Drive APIs are enabled. 2. QuickBooks Webhook Configuration: Activate the workflow. Copy the Production URL from the Webhook node. In your Intuit Developer Portal, go to the webhooks section for your app. Paste the URL and subscribe to Invoice events (e.g., Create, Update). 3. Google Sheet Setup: Create a Google Sheet for your invoice data. Crucially, create the following headers in the first row of your sheet: -ID -Domain -Customer Name -Due Date 4. Node Configuration: In the Append or update row in sheet node, select your Google Sheet document and the specific sheet name from the dropdown lists. The columns should map automatically if you've set up the headers correctly. Connect with us Website: https://www.intuz.com/cloud/stack/n8n Email: getstarted@intuz.com LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz
by Aitor | 1Node
This n8n workflow automates the generation and delivery of a daily order summary via email. It leverages an AI Agent to fetch and summarize e-commerce order data from the last 24 hours stored in Supabase, providing a concise overview of the daily business operations. How it works Scheduled Trigger:** The workflow is triggered every day at 8 AM. Sender Email Configuration:** A manual step allows you to set the sender's email address. AI Agent:** An AI Agent node acts as the central intelligence, interacting with various tools to gather and process data. Supabase Data Fetching:** The AI Agent calls "Get Orders," "Get Order Items," "Get Clients," and "Get Products" tables to retrieve relevant e-commerce data from your Supabase database. OpenAI Chat Model:** An OpenAI Chat Model with the 4.1 model is integrated to help the AI Agent understand and summarize the fetched data into a human-readable format. Gmail Summary:** Finally, the workflow sends a summarized report to your specified email address using the "Send Gmail Summary" node. Set up steps This setup will take approximately 15-20 minutes. Download the workflow: Download this workflow and import it into your n8n instance. Configure the Daily 8am trigger: Ensure the "Daily 8am" trigger is active and set to your desired timezone. Set Sender Email: In the "Set Sender Email" node, manually enter the email address you wish to use as the sender for the daily reports. Configure AI Agent: Chat Model: Connect your OpenAI Chat Model credential. Memory & Tools: Ensure all the necessary nodes ("Get Orders", "Get Order Items", "Get Clients", "Get Products", "Send Gmail Summary") are correctly linked to the AI Agent. In our workflow we call data from 4 tables in Supabase. Configure Supabase Database Connections: For each of the "Get Orders," "Get Order Items," "Get Clients," and "Get Products" nodes, you will need to configure your Supabase credentials to access your e-commerce database. Select the tables (e.g., orders, order_items, clients, products) that you want the AI agent to pull data from in your Supabase schema. Configure Gmail Credentials: In the "Send Gmail Summary" node, connect your Gmail account credentials to allow n8n to send emails on your behalf. Test the workflow: Run the workflow manually to ensure all connections are working correctly and the email summary is generated as expected. Requirements n8n instance:** An active n8n instance (self-hosted or cloud). Supabase Account:** A Supabase account with your e-commerce order data accessible. OpenAI API Key:** An OpenAI API key for the Chat Model. Gmail Account:** A Gmail account credentials to send the daily summaries. Need help? Feel free to contact us at 1 Node. Get instant access to a library of free resources we created.
by Derek Schatz
Overview This automated workflow delivers a weekly digest of the most important AI news directly to your inbox. Every Monday at 9 AM, it uses Perplexity AI to research the latest developments and organizes them into four key categories: New Technology, Trending Topics, Top Stories, and AI Security. The workflow then formats this information into a beautifully designed HTML email with summaries, significance explanations, and source links. What It Does Automatically searches for the latest AI news using Perplexity AI Categorizes content into four focused areas most relevant to AI enthusiasts and professionals Generates comprehensive summaries explaining why each story matters Creates a professional HTML email with styled sections and clickable links Sends weekly on Monday at 9 AM (customizable schedule) Includes error handling with fallback content if news parsing fails Setup Instructions Import the Workflow Copy the JSON code and import it into your n8n instance The workflow will appear as “Daily AI News Summary” Configure Perplexity API Sign up for a Perplexity API account at perplexity.ai Create new credentials in n8n: Type: “OpenAI” Name: “perplexity-credentials” API Key: Your Perplexity API key Base URL: https://api.perplexity.ai Set Up Email Credentials Configure SMTP credentials in n8n: Name: “email-credentials” Add your email provider’s SMTP settings Test the connection to ensure emails can be sent Customize Email Settings Open the “Send Email Summary” node Update the toEmail field with your email address Modify the fromEmail if needed (must match your SMTP credentials) Optional Customizations Change Schedule:** Modify the “Daily Trigger” node to run at your preferred time Adjust Categories:** Edit the Perplexity prompt to focus on different AI topics or change the theme altogether Modify Styling:** Update the HTML template in the “Format Email Content” node Test and Activate Run a test execution to ensure everything works correctly Activate the workflow to start receiving daily AI news summaries Requirements n8n instance (cloud or self-hosted) Perplexity API account and key SMTP email access (Gmail, Outlook, etc.)
by Aitor | 1Node
This n8n workflow provides a robust solution for Hostinger website owners looking to streamline their lead capture and qualification process. By integrating AI and popular marketing tools, it ensures efficient management of new leads. How it works This workflow automates the process of capturing leads from a Hostinger website form, qualifying them using an AI model, and syncing them with Beehiiv and Google Sheets. A new form submission on your Hostinger website triggers the workflow via Gmail. An AI model (OpenAI) extracts and qualifies relevant data from the form response, transforming it into a structured JSON format. The qualified lead is then added as a new subscriber to your Beehiiv newsletter. Finally, the lead information is appended to a Google Sheet for comprehensive tracking and record-keeping. Set up steps Create an account on Hostinger and set up a form on your website. Configure a Gmail trigger to capture form submissions from your Hostinger email sender. Ensure your email is mapped correctly for the Hostinger sender. Set up your OpenAI API key for the "Extract & Qualify Message Model" node. Create an account on Beehiiv. Obtain your Beehiiv API key and create your credentials. Set up a Google Sheet and configure the "insert in Sheets" node with the correct mapping. Approximate setup time: 15-30 minutes Why you need this? You need this workflow if you're a Hostinger website owner who wants to: Automate lead capture:** Say goodbye to manual lead processing and ensure no lead slips through the cracks. Qualify leads intelligently:** Leverage AI to instantly extract and qualify crucial lead information, saving you valuable time and improving lead quality. Grow your audience efficiently:** Seamlessly add qualified leads to your Beehiiv newsletter, nurturing them from the moment they express interest. Maintain organized records:** Automatically centralize all your lead data in a Google Sheet for easy access, analysis, and follow-up. Boost productivity:** Free up your time from repetitive administrative tasks and focus on growing your business. 👉 Need Help? Feel free to contact us at 1 Node. Get instant access to a library of free resources we created.
by Incrementors
Discord Channel Creation Automation - n8n Workflow A comprehensive n8n automation that monitors Google Sheets for new project entries, automatically creates dedicated Discord channels, and sends formatted member notifications with all essential project details. 📋 Overview This workflow provides an automated Discord channel creation solution that eliminates manual channel setup and ensures consistent team communication. Perfect for agencies, development teams, and project-based organizations that need to streamline their Discord workspace management. ✨ Key Features 🔍 Automated Monitoring: Continuously watches Google Sheets for new entries requiring Discord channels 📢 Discord Integration: Creates dedicated channels using Discord API for organized communication 📊 Smart Filtering: Only processes valid entries without existing Discord channels 📧 Member Notifications: Sends formatted announcements with key project details 📈 Status Tracking: Updates Google Sheets with Discord channel IDs and completion status 🔄 Sequential Processing: Handles multiple channel requests with proper workflow sequencing ⚡ Error Handling: Built-in validation and error management 🎯 Customizable Messages: Flexible Discord notification templates 🎯 What This Workflow Does Input Sheet Data:** New entries in Google Sheets requiring Discord channels Discord Configuration:** Server and category settings for channel creation Notification Settings:** Member notification preferences and mentions Processing Monitor Trigger: Watches Google Sheets for new row additions Data Validation: Filters entries that need Discord channel creation Channel Creation: Creates new Discord channel with specified naming convention Sheet Update: Records Discord channel ID and status in Google Sheets Status Check: Verifies successful channel creation before messaging Member Notification: Sends formatted announcement to Discord channel Additional Details: Sends follow-up message with supplementary information Completion Tracking: Marks channel creation process as complete Output Data Points | Field | Description | Example | |-------|-------------|---------| | Entry ID | Unique identifier for the entry | ENTRY-2025-001 | | Title/Name | Name or title from the sheet entry | New Marketing Campaign | | Category/Type | Category or type of entry | Marketing Project | | Discord Channel ID | ID of created Discord channel | 1234567890123456789 | | Channel URL | Direct link to Discord channel | https://discord.com/channels/... | | Creation Status | Current status of channel creation process | Discord Created, Message Sent | | Timestamp | When the channel creation was completed | 2025-06-06T09:00:00Z | 🚀 Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Google account with Sheets access Discord server with bot permissions 10-15 minutes for setup Step 1: Import the Workflow Copy the JSON workflow code from the provided file In n8n: Workflows → + Add workflow → Import from JSON Paste JSON and click Import Step 2: Configure Discord Integration Create Discord Bot: Go to Discord Developer Portal Create new application and bot Copy bot token for credentials Add bot to your Discord server with proper permissions Set up Discord credentials: In n8n: Credentials → + Add credential → Discord Bot API Enter your Discord bot token Test the connection Configure Discord settings: Note your Discord server (guild) ID Create or identify the category for new project channels Update guild ID and category ID in workflow nodes Step 3: Configure Google Sheets Integration Create Channel Request Sheet: Go to Google Sheets Create new spreadsheet named "Discord Channel Requests" or similar Copy the Sheet ID from URL: https://docs.google.com/spreadsheets/d/SHEET_ID_HERE/edit Set up Google Sheets credentials: In n8n: Credentials → + Add credential → Google Sheets OAuth2 API Complete OAuth setup and test connection Prepare your data sheet with required columns: Column A: Timestamp (auto-filled by form) Column B: Entry Name/Title Column C: Category/Type Column D: Description Column E: Contact/Owner Information Column F: Entry ID Column G: Discord ID (will be auto-filled) Column H: Discord Channel Creation Status (will be auto-filled) Step 4: Update Workflow Settings Update Google Sheets nodes: Open "Monitor New Project Entries" node Replace document ID with your Sheet ID Select your Google Sheets credential Choose correct sheet/tab name Update Discord nodes: Open all Discord nodes Replace guild ID with your Discord server ID Replace category ID with your project category ID Select your Discord Bot credential Configure notification settings: Open Discord message nodes Replace demo@example.com with actual email if needed Customize team mentions and message content Adjust notification timing as needed Step 5: Test & Activate Add test entry: Add sample data to your Google Sheet Ensure all required fields are filled Leave Discord ID column empty for testing Test the workflow: Activate workflow (toggle switch) Add new row to trigger workflow Verify Discord channel creation Check for member notifications Confirm sheet updates 📖 Usage Guide Adding New Channel Requests Navigate to your Google Sheets document Add new entry with all required information Leave Discord ID and status columns empty Workflow will automatically process within minutes Check Discord for new channel and notifications Understanding Status Updates The workflow uses intelligent status tracking: Empty Discord ID:** Entry needs channel creation "Discord Created":** Channel created, ready for notifications "Discord Created, Message Sent":** Process complete Error states:** Check execution logs for troubleshooting Customizing Member Notifications To modify notification content, edit Discord message nodes: Main announcement:** Update "Send Project Announcement Message" node Additional details:** Update "Send Additional Project Details" node Member mentions:** Replace @everyone with specific roles Message formatting:** Customize using Discord markdown 🔧 Customization Options Adding More Data Fields Edit Google Sheets trigger and message nodes to include: Budget or resource information Timeline and deadlines Assigned team members or owners Priority levels Additional context or requirements Modifying Discord Structure Customize channel organization: // Example: Add category to channel name "name": "{{ $json['Category/Type'] }}-{{ $json['Entry ID'] }}" // Example: Set channel topic "topic": "Channel for {{ $json['Title/Name'] }} - {{ $json['Category/Type'] }}" 🚨 Troubleshooting Common Issues & Solutions | Issue | Cause | Solution | |-------|-------|----------| | "Discord permission denied" | Bot lacks required permissions in Discord server | Ensure bot has "Manage Channels" and "Send Messages" permissions | | "Google Sheets trigger not firing" | Incorrect sheet permissions or credential issues | Re-authenticate Google Sheets, check sheet sharing settings | | "Channel creation failed" | Invalid guild ID, category ID, or duplicate channel names | Verify Discord IDs, ensure unique entry IDs | | "Messages not sending" | Discord rate limiting or invalid channel references | Add delays between messages, verify channel creation success | | "Workflow execution failed" | Missing data fields or validation errors | Ensure all required fields are populated | 📊 Use Cases & Examples 1. Project Management Automation Goal: Streamline project channel creation process Monitor new project requests or approvals Create dedicated project workspaces Notify relevant team members instantly Track channel setup completion 2. Event Organization Goal: Organize events with dedicated Discord channels Create channels for conferences, meetups, or workshops Include event details in notifications Tag organizers and participants Maintain event communication history 3. Team Department Organization Goal: Manage department or team-specific channels Separate channels for different departments Share department announcements and updates Coordinate team assignments Track departmental activities 4. Community Management Goal: Organize community groups and special interest channels Create channels for community groups Share group information and guidelines Facilitate member-to-member communication Track community engagement and growth 📈 Performance & Limits Expected Performance | Metric | Value | |--------|-------| | Processing time | 30-60 seconds per entry | | Concurrent entries | 5-10 simultaneous (depends on Discord limits) | | Success rate | 95%+ for valid data | | Daily capacity | 100+ entries (depends on rate limits) | Resource Usage Memory:** ~50MB per execution Storage:** Minimal (data stored in Google Sheets) API calls:** 3-5 Discord calls + 2-3 Google Sheets calls per entry Execution time:** 1-2 minutes for complete process 📋 Quick Setup Checklist Before You Start n8n instance running (self-hosted or cloud) Google account with Sheets access Discord server with admin permissions Discord bot created and added to server 15 minutes for complete setup Setup Steps Import Workflow** - Copy JSON and import to n8n Configure Discord** - Set up bot credentials and test Create Google Sheet** - New sheet with required columns Set up Google Sheets credentials** - OAuth setup and test Update workflow settings** - Replace IDs and credentials Test with sample entry** - Add test entry and verify Activate workflow** - Turn on monitoring trigger 🎉 Ready to Use! Your workflow URL: https://your-n8n-instance.com/workflow/discord-channel-creation 🎯 Happy Channel Management! This workflow provides a solid foundation for automated Discord channel creation. Customize it to fit your specific team needs and communication requirements.
by Lukas Kunhardt
Who is this for? This template is for any website owner, digital agency, or compliance officer operating within the European Union. It's designed for users who need to comply with the upcoming European Accessibility Act (EAA) but may not have deep technical or legal expertise. Disclaimer This workflow uses an npm package called "cheerio" to work with the specified URLs HTML code. Installing packages is only possible in self hosting. What problem is this workflow solving? / Use Case Starting June 28, 2025, the European Accessibility Act (EAA) mandates that most websites offering products or services in the EU must be accessible and publish a formal Accessibility Statement. Manually creating this legal document is complex, requiring both a technical site analysis and knowledge of specific legal requirements. This workflow automates the generation of a compliant first draft, saving significant time and effort. What this workflow does After you input your details (like website URL and API key) in a central configuration node, this workflow automatically: Scans your live website for accessibility issues using the powerful WAVE API. Processes the scan results to identify the main problem areas. Instructs a Google Gemini AI agent with a specialized legal prompt based on the European Accessibility Act. Generates a formal Accessibility Statement in your desired language. Saves the statement as an .html file and sends it to you as an email attachment. Setup This workflow is designed for a quick setup: Configure All Variables: Click the 'CHANGE THESE: dependencies' node. This is your central control panel. Fill in all the values, including your WAVE API Key, the URL to analyze, company details, and desired output language. Set Up Credentials: You will need to connect your Google accounts for the workflow to run. Gemini: Click the 'gemini 2.5 pro' node, click the gear icon (⚙️) next to the "Credential" field, and connect your Google Gemini API credentials. Gmail: Click the 'Send report by email' node and connect your Gmail account to allow sending the final report. Activate & Execute: Make sure the workflow is active in the top-right corner, then click 'Execute Workflow' to run your first analysis. How to customize this workflow to your needs This template is a great starting point for any EU country. Here's how to adapt it: Localize for Your Country (Important!):* The generated statement contains a placeholder for the "Enforcement Procedure". You *must* edit the prompt in the *'Accessibility Statement Generator'** node to replace this placeholder with the name and link to your specific country's official enforcement body. Change the AI:** Swap the Google Gemini node for any other AI model, like OpenAI or Anthropic Claude, by replacing the node and connecting it to the agent. Change the Trigger:* Replace the *'When clicking ‘Execute workflow’'** node with a Form Trigger or Webhook Trigger to run this workflow based on external inputs, for example, to offer this analysis as a service to your clients.
by Niranjan G
Who is this for? NVD (National Vulnerability Database) data is essential for security analysts, vulnerability managers, and DevSecOps professionals who need to perform both CVE lookups and monitor historical change logs. This workflow helps streamline those efforts by providing structured outputs for audit, triage, or compliance tracking purposes. 📝 Note: While this example uses Google Sheets as the destination, you can easily modify the final destination node (e.g., send to Slack, email, database, etc.) based on your specific automation needs.? What problem is this solving? Security teams often manually look up CVE data and track changes across multiple tools. This process is inefficient and error-prone. This workflow automates the CVE lookup and historical change tracking by logging enriched vulnerability data into Google Sheets in real-time. What this workflow does This workflow is designed for CVE API lookup and change history tracking. In many vulnerability automation pipelines, it is essential to determine not only the metadata of a CVE but also how it has evolved over time. Based on the operational need—whether it's enrichment, risk scoring, or remediation validation—this workflow becomes particularly handy in surfacing both current and historical CVE data. This template performs the following actions: Accepts incoming webhook requests containing a CVE ID Queries the NVD CVE Lookup API to fetch vulnerability metadata Queries the NVD CVE History API to retrieve all historical changes Flattens both datasets into a sheet-compatible structure Appends vulnerability metadata to one sheet and change history to another within the same Google Spreadsheet Setup 🔑 Request an NVD API Key To request an NVD API Key, please provide your organization name, a valid email address, and indicate your organization type at NVD API Key Request. You must scroll to the end of the Terms of Use Agreement and check "I agree to the Terms of Use" to obtain an API Key. After submission, you will receive a single-use hyperlink via email to activate and view your API Key. If not activated within seven days, a new request must be submitted. 📊 API Rate Limits Without an API key, you're limited to 5 requests per 30-second window. With an API key, you’re allowed up to 50 requests in the same period. To prevent request throttling, it's recommended to introduce slight delays between consecutive API calls in production setups. Clone or import this workflow into your n8n instance. Set up the following credentials: Google Sheets OAuth2 NVD API Key (via HTTP Header Auth) The workflow logs data to a Google Sheet titled NVD Database, with Sheet 1 named CVE Lookup and Sheet 2 named CVE History. Trigger each workflow using the respective webhook URL, appending ?cveId=CVE-XXXX-XXXX as a query parameter. 🔍 Example Webhook Request (CVE Change History) You can test this workflow with the following example: GET https://your-domain.com/webhook/cve-history?cveId=CVE-2023-34362 How to customize this workflow Use the Edit Fields node (optional) to centralize configuration like sheet name or query input Extend the CVE flattening logic to include more nested metadata if needed Integrate notification systems (e.g., Slack or email) by branching from the processing nodes Modify webhook paths for better endpoint organization 🔐 Production Security Tips Use HTTP Header Auth on the webhook for secure access > ⚠️ This template uses webhooks and NVD API access with authentication headers. This template uses two flows: Webhook 1:** NVD CVE Lookup — Lookup CVE vulnerability metadata from NVD and sync to Google Sheet Webhook 2:** NVD CVE Change History — Track change history for CVEs via NVD and log each update Each flow: Hits NVD’s respective endpoint Uses custom JS Code node to flatten the nested JSON Syncs data to dedicated Google Sheet tabs 🧩 4 nodes: Webhook → API Call → Parse → Sheet Sync Make sure both flows are activated and webhooks exposed for external access. Based on your needs, ensure you have a secure setup—whether hosted internally or in a cloud environment—when running n8n in production.
by Amit Mehta
How it Works This workflow fetches top news headlines every 10 minutes from NewsAPI, summarizes them using OpenAI's GPT-4o model, and sends a concise email digest to a list of recipients defined in a Google Spreadsheet. It's ideal for anyone who wants to stay updated with the latest news in a short, digestible format. 🎯 Use Case Professionals who want summarized daily news Newsletters or internal communication updates Teams that require contextual summaries of the latest events Setup Instructions 1. Upload the Spreadsheet File name: Emails Column: Email with recipient addresses 2. Configure Google Sheets Nodes Connect your Google account to: Email List Send Email 3. Add API Credentials NewsAPI Key** → for fetching top headlines OpenAI API Key** → for summarizing headlines Gmail Account** → for sending the email digest 4. Activate the Workflow Once active, the workflow runs every 10 minutes via a cron trigger Summarized news is sent to the list of emails in the spreadsheet 🔁 Workflow Logic Trigger: Every 10 minutes via Cron Fetch News: HTTP request to NewsAPI for top headlines Summarize: Headlines are passed to OpenAI's GPT-4o for 5-bullet summary Read Recipients: Google Sheet is used to collect email recipients Send Email: Summary is formatted and sent via Gmail 🧩 Node Descriptions | Node Name | Description | |-----------|-------------| | Cron | Triggers the workflow every 10 minutes. | | HTTP Request - NewsAPI | Fetches top news headlines using NewsAPI. | | Set | Formats or structures raw news data before processing. | | AI Agent | Summarizes the news content using OpenAI into 5 bullet points. | | Email List | Reads recipient email addresses from the 'Emails' Google Spreadsheet. | | Send Email | Sends the email digest to all recipients using Gmail. | 🛠️ Customization Tips Modify the AI prompt for tone, length, or content type Send summaries to Slack, Telegram, or Notion instead of Gmail Adjust cron interval for more/less frequent updates Change email formatting (HTML vs plain text) 📎 Required Files | File Name | Purpose | |-----------|---------| | Emails spreadsheet | Google Sheet containing the list of email recipients | | daily_news.json | Main n8n workflow file to automate daily news digest | 🧪 Testing Tips Add 1–2 test email addresses in your spreadsheet Temporarily change the Cron node to run every minute for testing Check email inbox for delivery and formatting Inspect the execution logs for API errors or formatting issues 🏷 Suggested Tags & Categories #News #OpenAI #Automation #Email #Digest #Marketing
by Zach @BrightWayAI
Daily Email Pulse Summary: This agent summarizes a user's daily emails into a clean, actionable summary. It uses OpenAI to analyze content and sends a formatted "Daily Pulse" email at the end of each day. Main use cases: Keep track of open loops and next steps across all email conversations Identify high-potential leads and flag conversations going nowhere Eliminate the need to manually review your inbox at day’s end Build a smart summary layer using AI without hallucination or noise How it works This workflow can be divided into eight core nodes, each serving a distinct purpose in helping a user stay on top of their day. The result is a curated, AI-generated summary delivered to your inbox — crafted from real message content, not guesswork. Schedule Trigger (Trigger Node – Runs Daily at Set Time) Kicks off the workflow at a specific time each day (e.g. 6:00 PM). Ensures you receive your Daily Pulse consistently, without needing to run it manually. Date Transformer (Function Node – Define Today & Tomorrow Range) Uses JavaScript to calculate the current day’s date range: today: Start of day (00:00:00) tomorrow: Start of next day (used as a cutoff) This ensures only emails from today are analyzed, keeping the summary focused and current. Get All Messages (Gmail Node – Fetch Filtered Emails) Pulls in all Gmail messages with internalDate between today and tomorrow. Outputs structured data: from, subject, and body text of each email. This forms the raw data for the daily business pulse. Aggregator (Function or Item Lists Node – Combine Message Fields) Aggregates each message into a readable format: From: John@example.com Subject: Demo Follow-up Body: Let’s schedule a time this week... All messages are stitched together into a single combinedText string for analysis. This gives the AI model full context for the day in one unified document. Email Cleanup (Function Node – Remove Noise & Normalize Text) Cleans the combinedText blob to remove: HTML tags Marketing footers (e.g., unsubscribe links) Redundant whitespace or formatting artifacts Ensures GPT gets clean, relevant message content with no distractions. Agent (OpenAI Node – Generate Structured Summary) Uses a System Prompt to define its role as an AI Chief of Staff. Uses a User Prompt that instructs it to categorize messages into sections: 📝 Open Loops / Pending Follow-Up 🚀 Next Steps You’ve Committed To 🧲 Leads Worth Following Up On 🛑 Conversations That Aren’t Leading Anywhere 🧠 Strategy Notes ✅ Top 3 Tasks for Tomorrow Built-in guardrails ensure the model only uses real content (no hallucination). Sections with no relevant data are omitted to keep it concise. HTML Formatter (Function Node – Wrap Markdown in Email-Ready HTML) Wraps the GPT-generated markdown summary in a simple <html><body> structure. Applies white-space: pre-wrap to preserve formatting and spacing. The result is a clean, readable email that renders well across all inboxes (especially Gmail). Email Send (Email Node – Deliver the Final Pulse) Sends the formatted summary to your email inbox. Subject: Your Daily Business Pulse – {{today}} HTML body: Uses the formatted output from the previous step. Final output: a well-organized, scannable summary of the day’s communication — focused on what matters. Why It Works Automates the end-of-day review ritual without effort Prioritizes follow-ups, action items, and time-sensitive leads Filters out noise and low-value conversations Leverages GPT without risk of hallucination or irrelevant output Delivers clarity, helping you focus on tomorrow’s most important tasks
by The O Suite
This n8n workflow automates website security audits. It combines direct website scanning, threat intelligence from AlienVault OTX, and advanced analysis from an OpenAI large language model (LLM) to generate and email a comprehensive security report. How it Works (Workflow Flow): Input: A user provides a website URL via a simple web form. Data Collection: An HTTP Request node visits the provided URL to gather initial data (status code, headers). An AlienVault HTTP Request node queries AlienVault OTX for known threats associated with the website's hostname. Data Preparation (Prepare Data for AI): A custom code node consolidates the collected website data and AlienVault intelligence, performing initial checks for common issues (e.g., error codes, missing security headers, AlienVault warnings). AI Analysis (Security Configuration Audit): The prepared data is sent to an OpenAI Chat Model, which acts as a cybersecurity expert. The AI analyzes the data to identify vulnerabilities, explain their impact, suggest exploitation methods, and outline mitigation steps. Report Formatting (Format Report for Email): Another custom code node takes the AI's plain-text report and converts it into a structured HTML format suitable for email. Delivery (Send Security Report): The final HTML report is sent via Gmail to a specified email address. Setup Steps: To use this workflow, you'll need an n8n instance and the following credentials: n8n Instance: Ensure your n8n environment is running. OpenAI API Key: Generate a key from OpenAI. Add an "OpenAI API" credential in n8n (e.g., "OpenAI account"). AlienVault OTX API Key: Obtain a key from your AlienVault OTX profile. Add an "AlienVault OTX API" credential in n8n (e.g., "AlienVault account"). Gmail Account: Set up a "Gmail OAuth2" credential in n8n for sending emails (recommended for security; involves Google Cloud setup). Import Workflow: Copy the workflow's JSON code. In n8n, import the workflow via "Workflows" > "New" > "Import from JSON". Configure Recipient: In the "Send Security Report" node, specify the email address where reports should be sent. Activate: Enable the workflow to start processing submissions. Once activated, access the "On form submission" webhook URL to input a URL and trigger an audit.
by David Olusola
AI Lead Capture System - Complete Setup Guide Prerequisites n8n instance (cloud or self-hosted) Google AI Studio account (free tier available) Google account for Sheets integration Website with chat widget capability Phase 1: Core Infrastructure Setup Step 1: Set Up Google AI Studio Go to Google AI Studio Create account or sign in with Google Navigate to "Get API Key" Create new API key for your project Copy and securely store the API key Free tier limits: 15 requests/minute, 1 million tokens/month Step 2: Configure Google Sheets Create new Google Sheet for lead storage Add column headers (exact names): Full Name Company Name Email Address Phone Number Project Intent/Needs Project Timeline Budget Range Preferred Communication Channel How they heard about DAEX AI Copy the Google Sheet ID from URL (between /d/ and /edit) Ensure sheet is accessible to your Google account Step 3: Import n8n Workflow Open your n8n instance Create new workflow Click "..." menu → Import from JSON Paste the provided workflow JSON Workflow will appear with all nodes connected Phase 2: Credential Configuration Step 4: Set Up Google Gemini API In n8n, go to Credentials → Add Credential Search for "Google PaLM API" Enter your API key from Step 1 Test connection Link to the "Google Gemini Chat Model" node Step 5: Configure Google Sheets Access Go to Credentials → Add Credential Select "Google Sheets OAuth2 API" Follow OAuth flow to authorize your Google account Test connection with your sheet Link to the "Google Sheets" node Phase 3: Workflow Customization Step 6: Update Company Information Open the AI Agent node In the system message, replace all mentions of: Company name and description Service offerings and specializations FAQ knowledge base Typical project timelines and pricing ranges Adjust conversation tone to match your brand voice Step 7: Configure Lead Qualification Fields In the AI Agent system message, modify the required information list: Add/remove qualification questions Adjust budget ranges for your services Customize timeline options Update communication channel preferences In Google Sheets node, update column mappings if you changed fields Step 8: Set Up Sheet Integration Open Google Sheets node Click on Document ID dropdown Select your lead capture sheet Verify all column mappings match your sheet headers Test with sample data Phase 4: Website Integration Step 9: Get Webhook URL Open Webhook node in n8n Copy the webhook URL (starts with your n8n domain) Note: URL format is https://your-n8n-domain.com/webhook/[unique-id] Step 10: Connect Your Chat Widget Choose your integration method: Option A: Direct JavaScript Integration javascript// Add to your website function sendMessage(message, sessionId) { fetch('YOUR_WEBHOOK_URL', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ message: message, sessionId: sessionId || 'visitor-' + Date.now() }) }) .then(response => response.json()) .then(data => { // Display AI response in your chat widget displayMessage(data.message); }); } Option B: Chat Platform Webhook Open your chat platform settings (Intercom, Crisp, etc.) Find webhook/integration section Add webhook URL pointing to your n8n endpoint Configure to send message and session data Option C: Zapier/Make.com Integration Create new Zap/Scenario Trigger: New chat message from your platform Action: HTTP POST to your n8n webhook Map message content and session ID Phase 5: Testing & Optimization Step 11: Test Complete Flow Send test message through your chat widget Verify AI responds appropriately Check conversation context is maintained Confirm lead data appears in Google Sheets Test with various conversation scenarios Step 12: Monitor Performance Check n8n execution logs for errors Monitor Google Sheets for data quality Review conversation logs for improvement opportunities Track response times and conversion rates Step 13: Fine-Tune Conversations Analyze real conversation logs Update system prompts based on common questions Add new FAQ knowledge to the AI agent Adjust qualification questions based on lead quality Optimize for your specific customer patterns Phase 6: Advanced Features (Optional) Step 14: Add Lead Scoring Create new column in Google Sheets for "Lead Score" Update AI agent to calculate scores based on: Budget range (higher budget = higher score) Timeline urgency (sooner = higher score) Project complexity (complex = higher score) Add conditional formatting in Google Sheets to highlight high-value leads Step 15: Set Up Notifications Add email notification node after Google Sheets Configure to send alerts for high-priority leads Include lead details and conversation summary Set up different notification rules for different lead scores Step 16: Analytics Dashboard Connect Google Sheets to Google Data Studio or similar Create dashboard showing: Daily lead volume Conversion rates by source Average qualification time Lead quality scores Revenue pipeline from captured leads Troubleshooting Common Issues AI Not Responding Check Google Gemini API key validity Verify API quota not exceeded Review n8n execution logs for errors Data Not Saving to Sheets Confirm Google Sheets permissions Check column name matching Verify sheet ID is correct Chat Widget Not Connecting Test webhook URL directly with curl/Postman Verify JSON format matches expected structure Check CORS settings if browser-based integration Conversation Context Lost Ensure sessionId is unique per visitor Check memory node configuration Verify sessionId is passed consistently