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 Yaron Been
🚀 Automated Job Market Tracker: Upwork Scraper to Google Sheets Workflow! Workflow Overview This cutting-edge n8n automation is a sophisticated job market intelligence tool designed to transform freelance job tracking into a seamless, data-driven process. By intelligently connecting Apify, data processing, and Google Sheets, this workflow: Discovers Job Opportunities: Automatically scrapes Upwork job listings Tracks recent freelance postings Eliminates manual job market research Intelligent Data Processing: Filters and extracts key job details Structures job information Ensures comprehensive opportunity tracking Seamless Data Logging: Automatically updates Google Sheets Creates real-time job market database Enables rapid market trend analysis Scheduled Intelligence Gathering: Periodic automated tracking Consistent job listing updates Zero manual intervention required Key Benefits 🤖 Full Automation: Zero-touch job market research 💡 Smart Filtering: Targeted job opportunity insights 📊 Comprehensive Tracking: Detailed freelance market intelligence 🌐 Multi-Source Synchronization: Seamless data flow Workflow Architecture 🔹 Stage 1: Job Discovery Scheduled Trigger**: Periodic market scanning Apify Integration**: Upwork job scraping Intelligent Filtering**: Recent job postings Specific keywords Relevant opportunities 🔹 Stage 2: Data Extraction Comprehensive Job Metadata Parsing** Key Information Retrieval** Structured Data Preparation** 🔹 Stage 3: Data Logging Google Sheets Integration** Automatic Row Appending** Real-Time Database Updates** Potential Use Cases Freelancers**: Market trend tracking Job Seekers**: Opportunity intelligence Recruitment Agencies**: Market analysis Skill Development Professionals**: Skill demand monitoring Business Strategists**: Labor market insights Setup Requirements Apify Upwork scraping actor API token Configured scraping parameters Google Sheets Connected Google account Prepared job tracking spreadsheet Appropriate sharing settings n8n Installation Cloud or self-hosted instance Workflow configuration API credential management Future Enhancement Suggestions 🤖 Advanced job matching algorithms 📊 Multi-platform job aggregation 🔔 Customizable alert mechanisms 🌐 Expanded job category tracking 🧠 Machine learning job recommendation Technical Considerations Implement robust error handling Use secure API authentication Maintain flexible data processing Ensure compliance with platform guidelines Ethical Guidelines Respect job poster privacy Use data for legitimate research Maintain transparent information gathering Provide proper attribution Hashtag Performance Boost 🚀 #FreelanceJobTracking #JobMarketIntelligence #WorkflowAutomation #CareerTech #MarketResearch #JobInsights #SkillsDemand #TechInnovation #DataDrivenCareer #ProfessionalGrowth Workflow Visualization [Scheduled Trigger] ⬇️ [Fetch Upwork Jobs] ⬇️ [Format Job Data] ⬇️ [Log to Google Sheets] Connect With Me Ready to revolutionize your job market research? 📧 Email: Yaron@nofluff.online 🎥 YouTube: @YaronBeen 💼 LinkedIn: Yaron Been Transform your job market intelligence with intelligent, automated workflows!
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 Ahmed Alnaqa
Who is this template for? This workflow template is designed for content creators, researchers, educators, and professionals who need quick, accurate summaries of YouTube videos. It’s ideal for those looking to save time, extract key insights, or repurpose video content into concise formats for reports, studies, or social media. What does it do? The workflow automates the process of summarizing YouTube videos by extracting the transcript, analyzing the content, and generating a concise summary. It leverages AI tools to ensure accuracy and relevance, making it easier to digest lengthy videos in seconds. Why is it useful? This template saves hours of manual effort by automating video summarization, enabling users to focus on analyzing or sharing insights rather than watching entire videos. It’s particularly useful for staying updated with trends, conducting research, or creating content efficiently. How does it work? The workflow integrates with YouTube’s Transcript API powered by Apify Actor to fetch video transcripts, process the text using AI-powered summarization tools, and deliver a clear, concise summary. Setup Instructions You need an Apify account and an API key to connect with the Actor. Follow the steps below: Create a Free Account. Choose the appropriate Actor from the Apify search. Under the Integration tab, click on “Use API endpoints.” Select the API that best suits your needs.
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 Bright Data
🔍 Glassdoor Job Finder: Bright Data Scraping + Keyword-Based Automation A comprehensive n8n automation that scrapes Glassdoor job listings using Bright Data's web scraping service based on user-defined keywords, location, and country parameters, then automatically stores the results in Google Sheets. 📋 Overview This workflow provides an automated job search solution that extracts job listings from Glassdoor using form-based inputs and stores organized results in Google Sheets. Perfect for recruiters, job seekers, market research, and competitive analysis. Workflow Description: Automates Glassdoor job searches using Bright Data's web scraping capabilities. Users submit keywords, location, and country via form trigger. The workflow scrapes job listings, extracts company details, ratings, and locations, then automatically stores organized results in Google Sheets for easy analysis and tracking. ✨ Key Features 🎯 Form-Based Input: Simple web form for job type, location, and country 🔍 Glassdoor Integration: Uses Bright Data's Glassdoor dataset for accurate job data 📊 Smart Data Processing: Automatically extracts key job information 📈 Google Sheets Storage: Organized data storage with automatic updates 🔄 Status Monitoring: Built-in progress tracking and retry logic ⚡ Fast & Reliable: Professional scraping with error handling 🎯 Keyword Flexibility: Search any job type with location filters 📝 Structured Output: Clean, organized job listing data 🎯 What This Workflow Does Input Job Keywords:** Job title or role (e.g., "Software Engineer", "Marketing Manager") Location:** City or region for job search Country:** Target country for job listings Processing Form Submission Data Scraping via Bright Data Status Monitoring Data Extraction Data Processing Sheet Update Output Data Points | Field | Description | Example | |-------|-------------|---------| | Job Title | Position title from listing | Senior Software Engineer | | Company Name | Employer name | Google Inc. | | Location | Job location | San Francisco, CA | | Rating | Company rating score | 4.5 | | Job Link | Direct URL to listing | https://glassdoor.com/job/... | 🚀 Setup Instructions Prerequisites n8n instance (self-hosted or cloud) Google account with Sheets access Bright Data account with Glassdoor scraping dataset access 5–10 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 Bright Data Set up Bright Data credentials in n8n Ensure access to dataset: gd_lpfbbndm1xnopbrcr0 Update API tokens in: "Scrape Job Data" node "Check Delivery Status of Snap ID" node "Getting Job Lists" node Step 3: Configure Google Sheets Integration Create a new Google Sheet (e.g., "Glassdoor Job Tracker") Set up Google Sheets OAuth2 credentials in n8n Prepare columns: Column A: Job Title Column B: Company Name Column C: Location Column D: Rating Column E: Job Link Step 4: Update Workflow Settings Update "Update Job List" node with your Sheet ID and credentials Test the form trigger and webhook URL Step 5: Test & Activate Submit test data (e.g., "Software Engineer" in "New York") Activate the workflow Verify Google Sheet updates and field extraction 📖 Usage Guide Submitting Job Searches Navigate to your workflow's webhook URL Fill in: Search Job Type Location Country Submit the form Reading the Results Real-time job listing data Company ratings and reviews Direct job posting links Location-specific results Processing timestamps 🔧 Customization Options More Data Points:** Add job descriptions, salary, company size, etc. Search Parameters:** Add filters for salary, experience, remote work Data Processing:** Add validation, deduplication, formatting 🚨 Troubleshooting Bright Data connection failed:** Check API credentials and dataset access No job data extracted:** Validate search terms and location format Google Sheets permission denied:** Re-authenticate and check sharing Form submission failed:** Check webhook URL and form config Workflow execution failed:** Check logs, add retry logic Advanced Troubleshooting Check execution logs in n8n Test individual nodes Verify data formats Monitor rate limits Add error handling 📊 Use Cases & Examples Recruitment Pipeline:** Track job postings, build talent database Market Research:** Analyze job trends, hiring patterns Career Development:** Monitor opportunities, salary trends Competitive Intelligence:** Track competitor hiring activity ⚙️ Advanced Configuration Batch Processing:** Accept multiple keywords, loop logic, delays Search History:** Track trends, compare results over time External Tools:** Integrate with CRM, Slack, databases, BI tools 📈 Performance & Limits Single search:** 2–5 minutes Data accuracy:** 95%+ Success rate:** 90%+ Concurrent searches:** 1–3 (depends on plan) Daily capacity:** 50–200 searches Memory:** ~50MB per execution API calls:** 3 Bright Data + 1 Google Sheets per search 🤝 Support & Community n8n Community Forum:** community.n8n.io Documentation:** docs.n8n.io Bright Data Support:** Via your dashboard GitHub Issues:** Report bugs and features Contributing: Share improvements, report issues, create variations, document best practices. Need Help? Check the full documentation or visit the n8n Community for support and workflow examples.
by Zain Ali
🧾 Generate Project Summary from meeting transcript Who’s it for 🤝 Project managers looking to automate client meeting summaries Client success teams needing structured deliverables from transcripts Agencies and consultants who want consistent, repeatable documentation How it works / What it does ⚙️ Trigger: Manual or webhook trigger kicks off the workflow. Get meeting transcript: Reads the raw transcript from a specified Google Docs file. Generate summary: Sends transcript + instructions to OpenAI (gpt-4.1-mini) to produce a structured project summary. Convert to HTML: Transforms the LLM-generated Markdown into styled HTML. Prepare request: Wraps HTML and metadata into a multipart request body. Create Google Doc: Uploads the new “Project Summary” document into your Drive folder. How to set up 🛠️ Credentials Google Docs & Drive OAuth2 credentials OpenAI API key (gpt-4.1-mini) Nodes configuration Manual Trigger / webhook node Google Docs “Get meeting transcript” node: set documentURL AI Chat Model node: select gpt-4.1-mini Markdown node: enable tables & emoji Google Drive “CreateGoogleDoc” node: set target folder ID Paste in your IDs Update documentURL to your transcript doc Update google_drive_folder_id in the Set node Execute Click “Execute Workflow” or call via webhook Requirements 📋 n8n Google OAuth2 scopes for Docs & Drive OpenAI account with GPT-4.1-mini access A Google Drive folder to store summaries How to customize ✨ Output format**: Edit the Markdown prompt in the ChainLlm node to adjust headings or tone Timeline section**: Extend LLM prompt template with your own phase table Styling**: Tweak inline CSS in the Code node (Prepare_Request) for fonts or margins Trigger**: Swap Manual Trigger for HTTP/Webhook trigger to integrate with other tools Language model**: Upgrade to a different model by changing model.value in the AI node
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 Alex Kim
Automate Video Creation with Luma AI Dream Machine and Airtable (Part 1) Description This workflow automates video creation using Luma AI Dream Machine and n8n. It generates dynamic videos based on custom prompts, random camera motion, and predefined settings, then stores the video and thumbnail URLs in Airtable for easy access and tracking. This automation makes it easy to create high-quality videos at scale with minimal effort. 👉 Airtable Base Template 🎥 Tutorial Video Setup 1. Luma AI Setup Create an account with Luma AI. Generate an API key from Luma AI for authentication. Ensure the API key has permission to create and manage video requests. 2. Airtable Setup Create an Airtable base with the following fields: 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. Prompt** – The video prompt used in the request. Aspect Ratio** – Defines the video format (e.g., 9:16). Duration** – Length of the video. 👉 Use the Airtable template linked above to simplify setup. 3. n8n Setup Install n8n (local or cloud). Set up Luma AI and Airtable credentials in n8n. Import the workflow and customize the settings based on your needs. How It Works 1. Global Settings Configuration The Set node defines key settings such as: Prompt** – Example: "A crocheted parrot in a crocheted pirate outfit swinging on a crocheted perch." Aspect Ratio** – Example: "9:16" Loop** – Example: "true" Duration** – Example: "5 seconds" Cluster ID** – Used to group related videos for easy tracking. Callback URL** - Used for the Webhook workflow in Part 2 2. Random Camera Motion The Code node randomly selects a camera motion (e.g., Zoom In, Pan Left, Crane Up) to create dynamic and visually engaging videos. 3. API Request to Luma AI The HTTP Request node sends a POST request to Luma AI’s API with the following parameters: Prompt – Uses the defined global settings. Aspect Ratio – Matches the target platform (e.g., TikTok or YouTube). Duration – Length of the video. Loop – Determines if the video should loop. Callback URL – Sends a POST response when the video is complete. 4. Capture API Response Luma AI sends a POST response to the callback URL once video generation is complete. 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. 5. Store in Airtable The Airtable node updates the record with the video and thumbnail URLs. Generation ID** is crucial for matching future webhook responses to the correct video record. Why This Workflow is Useful ✅ Automates high-quality video creation ✅ Reduces manual effort by handling prompt generation and API calls ✅ Random camera motion makes videos more dynamic ✅ Ensures organized tracking with Airtable ✅ Scalable – Ideal for automating large-scale content creation Next Steps Part 2** – Handling webhook responses and updating Airtable automatically. Future Enhancements** – Adding more camera motions, multi-platform support, and automated video editing.
by Easy8.ai
This workflow sends an automatic daily summary of your Microsoft Outlook calendar events into a Microsoft Teams channel. Perfect for team visibility or personal reminders. This automation is ideal for team leads, project managers, and remote workers who need to keep stakeholders informed of scheduled events without manual effort. It saves time, ensures consistent communication, and reduces the chance of missing important meetings. How it works Scheduled Trigger The workflow runs automatically every midnight (00:00 UTC). Create filter for "TODAY" value (Code Node) The code node generates the date value for "today" Calculates UTC start and end of the current day Builds a Microsoft Graph-compatible filter string Microsoft Outlook Node: Get Today’s Events Resource : Event Operation : Get Many Uses {{ $json.filter }}, which is generated from today's date, to retrieve only relevant entries Format Events as HTML (Code Node) Code node transforms each event into a formatted HTML message Meeting Time: 2025-07-08T10:00:00Z Subject: Weekly Sync Summary: Discuss project milestones and blockers. Microsoft Teams Node: Send Summary Message Chat Message | Create | Selected Channel | HTML content Uses the htmlMessage field from the previous node as the message body How to Use Import the Workflow Load the .json file into your n8n instance via “Import from File” or directly via the workflow UI. Set Up Credentials Go to Credentials in n8n. Add or configure your Microsoft Outlook OAuth2 API credential. Add or configure your Microsoft Teams OAuth2 API credential. Assign these credentials to the corresponding nodes in the workflow. Adjust Timezone and Schedule Edit the Schedule Trigger node to reflect your local timezone or preferred time. Configure the Microsoft Outlook Node Ensure the correct Outlook calendar is targeted. Confirm the Get Many node includes this expression in the filter field: {{ $json.filter }} Customize the HTML Output (Optional) Open the “Format Events” Code node to: Add new fields like Location, Organizer, or Attendees. Adjust date formatting to local time if needed. Target the Correct Teams Channel Open the Microsoft Teams node, select the team and channel where messages should be posted. Message type must be set to HTML if sending formatted content. Test the Workflow Run it manually to verify: Events are fetched correctly. The message is well-formatted and appears in the correct Teams channel. If you see no events, double-check the date filter logic or ensure events exist for today. Example Use Cases Team Syncs**: Automatically notify your project channel every morning with today's meetings. Remote Work**: Help remote teams stay aligned on shared calendars. Personal Assistant**: Keep track of your own day’s agenda with an automatic Teams message. Requirements Microsoft Outlook** Account must have permission to access calendar events via Graph API. OAuth2 credential must be configured in n8n Credential Manager. Microsoft Teams** Requires permission to post messages to specific channels. OAuth2 credential must be configured and authorized.
by Damian Karzon
This workflow checks a configured list of Github repositories daily to see if a new release has been published. How it works: Workflow has a daily trigger RepoConfig node is a JSON array that defines a list of repositories to check releases for For each of the configured repos it fetches the latest release If the release was published within the last 24 hours it is output The release is sent as a Slack message showing the repo name, release name and link Setup Update the JSON in the RepoConfig node to the Github repos you wish to get notifications for Setup your Slack connection (or replace with your choice of notification)