by Yaron Been
🚀 Automated Competitor Intelligence: CrunchBase to ClickUp Tracking Workflow! Workflow Overview This cutting-edge n8n automation is a sophisticated competitive intelligence tool designed to transform market research into actionable insights. By intelligently connecting CrunchBase, ClickUp, and intelligent data processing, this workflow: Discovers Competitor Insights: Automatically retrieves company data Tracks real-time business updates Eliminates manual research efforts Intelligent Data Processing: Converts company names to API-compatible formats Fetches comprehensive company information Ensures precise data retrieval Automated Task Management: Creates instant review tasks in ClickUp Distributes competitive intelligence Enables rapid team response Seamless Workflow Integration: Cross-platform data synchronization Reduces manual intervention Provides structured competitive insights Key Benefits 🤖 Full Automation: Zero-touch competitive tracking 💡 Smart Data Processing: Intelligent insight generation 📊 Comprehensive Intelligence: Detailed company information 🌐 Multi-Platform Synchronization: Seamless data flow Workflow Architecture 🔹 Stage 1: Competitor Identification Manual Trigger**: Workflow initiation Competitor Name Setting** Slug Generation**: Converts names to API-compatible formats Ensures precise data matching 🔹 Stage 2: Data Retrieval CrunchBase API Integration** Comprehensive Company Lookup** Real-Time Information Gathering** 🔹 Stage 3: Insight Distribution ClickUp Task Creation** Structured Information Sharing** Team Notification Mechanism** Potential Use Cases Strategic Planning**: Competitive landscape monitoring Sales Teams**: Market intelligence gathering Product Managers**: Tracking industry innovations Investors**: Investment opportunity research Marketing Departments**: Competitive analysis Setup Requirements CrunchBase API API credentials Configured access permissions Company tracking setup ClickUp Workspace Connected ClickUp account Task management configuration Team collaboration settings n8n Installation Cloud or self-hosted instance Workflow configuration API credential management Future Enhancement Suggestions 🤖 Multi-competitor tracking 📊 Advanced trend analysis 🔔 Customizable alert mechanisms 🌐 Expanded data source integration 🧠 Machine learning insights generation Technical Considerations Implement robust error handling Use secure API authentication Maintain flexible data processing Ensure compliance with API usage guidelines Ethical Guidelines Respect business privacy Use data for legitimate research Maintain transparent information gathering Provide proper attribution Hashtag Performance Boost 🚀 #CompetitiveIntelligence #MarketResearch #BusinessTracking #AIWorkflow #DataAutomation #TechInnovation #StrategicPlanning #BusinessIntelligence #MarketInsights #APIAutomation Workflow Visualization [Manual Trigger] ⬇️ [Set Competitor Name] ⬇️ [Generate Crunchbase Slug] ⬇️ [Fetch Crunchbase Data] ⬇️ [Create ClickUp Task] Connect With Me Ready to revolutionize your competitive intelligence? 📧 Email: Yaron@nofluff.online 🎥 YouTube: @YaronBeen 💼 LinkedIn: Yaron Been Transform your competitive research with intelligent, automated workflows!
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 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 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 Yaron Been
Automated workflow that transforms BuiltWith technology data into actionable sales leads in Trello, creating a visual sales pipeline. 🚀 What It Does Converts tech stack data into Trello cards Organizes leads by technology stack Tracks sales pipeline stages Enables team collaboration Updates automatically 🎯 Perfect For Sales teams Business development Account executives Tech startups Digital agencies ⚙️ Key Benefits ✅ Visual sales pipeline ✅ Easy lead qualification ✅ Team collaboration ✅ Technology-based filtering ✅ Automated data entry 🔧 What You Need BuiltWith API access Trello account n8n instance Google account (for authentication) 📊 Data Mapped to Trello Company details Technology stack Contact information Website metrics Custom labels 🛠️ Setup & Support Quick Setup Start in 20 minutes with our step-by-step guide 📺 Watch Tutorial 💼 Get Expert Support 📧 Direct Help Turn technology intelligence into sales opportunities with automated lead management.
by Mauricio Perera
n8n Workflow: Calculate the Centroid of a Set of Vectors Overview This workflow receives an array of vectors in JSON format, validates that all vectors have the same dimensions, and computes the centroid. It is designed to be reusable across different projects. Workflow Structure Nodes and Their Functions: Receive Vectors (Webhook): Accepts a GET request containing an array of vectors in the vectors parameter. Expected Input: vectors parameter in JSON format. Example Request: /webhook/centroid?vectors=[[2,3,4],[4,5,6],[6,7,8]] Output: Passes the received data to the next node. Extract & Parse Vectors (Set Node): Converts the input string into a proper JSON array for processing. Ensures vectors is a valid array. If the parameter is missing, it may generate an error. Expected Output Example: { "vectors": [[2,3,4],[4,5,6],[6,7,8]] } Validate & Compute Centroid (Code Node): Validates vector dimensions and calculates the centroid. Validation: Ensures all vectors have the same number of dimensions. Computation: Averages each dimension to determine the centroid. If validation fails: Returns an error message indicating inconsistent dimensions. Successful Output Example: { "centroid": [4,5,6] } Error Output Example: { "error": "Vectors have inconsistent dimensions." } Return Centroid Response (Respond to Webhook Node): Sends the final response back to the client. If the computation is successful, it returns the centroid. If an error occurs, it returns a descriptive error message. Example Response: { "centroid": [4, 5, 6] } Inputs JSON array of vectors, where each vector is an array of numerical values. Example Input { "vectors": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] } Setup Guide Create a new workflow in n8n. Add a Webhook node (Receive Vectors) to receive JSON input. Add a Set node (Extract & Parse Vectors) to extract and convert the data. Add a Code node (Validate & Compute Centroid) to: Validate dimensions. Compute the centroid. Add a Respond to Webhook node (Return Centroid Response) to return the result. Function Node Script Example const input = items[0].json; const vectors = input.vectors; if (!Array.isArray(vectors) || vectors.length === 0) { return [{ json: { error: "Invalid input: Expected an array of vectors." } }]; } const dimension = vectors[0].length; if (!vectors.every(v => v.length === dimension)) { return [{ json: { error: "Vectors have inconsistent dimensions." } }]; } const centroid = new Array(dimension).fill(0); vectors.forEach(vector => { vector.forEach((val, index) => { centroid[index] += val; }); }); for (let i = 0; i < dimension; i++) { centroid[i] /= vectors.length; } return [{ json: { centroid } }]; Testing Use a tool like Postman or the n8n UI to send sample inputs and verify the responses. Modify the input vectors to test different scenarios. This workflow provides a simple yet flexible solution for vector centroid computation, ensuring validation and reliability.