by Ossian Madisson
This n8n template allows you to automatically upload all attached files from incoming emails to Google Drive with optional filters on sender, receiver and file types This template is built to be customized for your specific needs. This template has the core logic and n8n node specific references sorted to work with dynamic file names throughout the workflow. Use cases Store invoices in Google Drive Save recurring reports in Google Drive Post recurring reports to another n8n workflow for further processing Archive files to Google Drive by email Save all files received by a client in a dedicated Google Drive folder Good to know The workflow is designed to not use custom code, preferring built-in nodes in n8n How it works Trigger on incoming emails with attachments (Optional) filter on sender/recipient Splits all attachments of the email into separate items (Optional) filter attachment based on file type (Optional) treat attachments with different file types through different paths Upload attachment to Google Drive Mark the email read and archive it after all attachments has been processed Notify in Slack how many attachments was processed in the execution How to use Configure Google credentials (1,2,6) Configure Slack credentials (7) Configure or disable sender/receiver filter (3) Configure or disable file type filter (4) Configure or disable file type paths (5) Configure destination folder (6) Build on this to fit your use case Note: there's a similar template with the same basics but with less ready-made modifications and no loop that allows us to archive the email and notify to Slack when done.
by Roshan Ramani
Who's it for Business owners, freelancers, and professionals who use Cal.com or Calendly for scheduling and want instant WhatsApp notifications for all booking activities without constantly checking their email or calendar apps. What it does This workflow automatically monitors your calendar booking events from both Cal.com and Calendly, then sends beautifully formatted WhatsApp messages to notify you of: New bookings with guest details Rescheduled meetings with old vs new times Cancelled appointments Meeting completion notifications (Cal.com only) The AI agent intelligently formats each message with emojis, proper spacing, and all relevant booking information including guest names, emails, dates, times, locations, and notes. How it saves you time Stop checking multiple platforms: Instead of constantly monitoring email notifications, calendar apps, and booking dashboards, get everything instantly on WhatsApp - the app you're already using throughout the day. Immediate awareness: Know about booking changes the moment they happen, not hours later when you finally check your email. This means you can quickly adjust your schedule, prepare for meetings, or reach out to clients if needed. Mobile-first notifications: Since most people check WhatsApp more frequently than email, you'll never miss important booking updates again. Perfect for busy professionals who are often away from their desk. How it works When a booking event occurs on either platform, the workflow captures the data, merges it through an aggregator, then uses Google Gemini AI to generate a professionally formatted WhatsApp message that gets sent instantly to your phone. Requirements Cal.com and/or Calendly account with API access WhatsApp Business API credentials Google API key for Gemini Active webhook endpoints for both calendar services How to customize Update the recipient phone number in the WhatsApp node Modify message templates in the AI Agent's system prompt Add additional calendar platforms by connecting more trigger nodes Customize emoji usage and message formatting to match your brand
by Cheng Siong Chin
Introduction Automates travel itinerary creation by searching flights and hotels via APIs, then uses AI to generate personalized recommendations delivered as HTML emails through Gmail. How It Works Webhook receives travel requests, searches Skyscanner and Booking.com APIs in parallel, merges results, uses AI to create optimized itineraries, formats as HTML email, sends via Gmail. Workflow Template Webhook → Parse & Validate → Parallel Searches (Flights: Skyscanner | Hotels: Booking.com) → Merge Data → AI Generate Itinerary → Format HTML Email → Send Gmail → Webhook Response Workflow Steps Trigger & Validate: Webhook receives request, extracts destination/dates/budget/preferences, validates data, converts to API parameters. Parallel Search: Skyscanner fetches flights with price/duration/airline. Booking.com retrieves hotels with ratings/pricing. Merge combines both into single JSON object. AI Generation: AI analyzes merged data, evaluates by price/duration/rating, creates itinerary with daily schedule, pairings, costs, and rankings. Delivery: Converts JSON to HTML email with tables and booking links. Gmail sends email. Webhook confirms success. Setup Instructions API Configuration: Add Skyscanner and Booking.com API credentials in n8n. Gmail Setup: Configure OAuth2 authentication. Customization: Copy webhook URL, adjust validation rules, modify AI prompts and HTML template. Prerequisites Skyscanner API key Booking.com API credentials Gmail with OAuth2 n8n instance Use Cases Personal vacation planning Business travel arrangements Customization Add APIs (Kiwi, Expedia) Filter by budget, Modify email design Benefits Saves 2-3 hours per trip Real-time pricing comparison
by Aayushman Sharma
AI-powered feedback analysis and response automation from Jotform to Google Sheets and Slack Who’s it for Businesses using Jotform to collect customer feedback who want to automate sentiment analysis, email responses, and internal reporting — especially eCommerce, support, or CX teams looking to scale without hiring more agents. How it works This workflow captures every new Jotform submission, extracts key fields, and uses OpenAI GPT-4.1 to classify sentiment and root cause. Negative feedback or ratings ≤3:** Generates a recovery email, logs it in Google Sheets, and alerts your CX team on Slack. Positive or neutral feedback:** Sends a personalized thank-you email with a link to leave a public review. All submissions are stored in Google Sheets for analytics and performance tracking. How to set up Visit Jotform and sign up (if you’re new) or log in to your existing account. Click your profile icon (top-right) → go to Settings. In the left sidebar, open the API section. Click Create New Key. Set permission to Full Access (recommended for full workflow functionality). Copy the generated API key. In n8n, open Credentials → Create New → JotForm API. Paste your API key and save it as JotForm account. Test the connection by running your Jotform Trigger node. Jotform Configuration Guide (for n8n Feedback Workflow) Follow these steps to connect your Jotform to n8n: 1️⃣ Create the Feedback Form Build a form in Jotform with the following exact fields: Field Label - Field Type - Example Input Full Name - Short Text - Customer Name Email - Email - test@gmail.com Whatsapp Number - Short Text- 91xxxxxxxxxx Order Id - Short Text - #2321 Ratings - Ratings - 3 Please describe your experience in detail. - Long Text - “Feedback” Would you recommend us to others? - Single Choice (Yes/No) - No 💡 Tip: Keep field labels identical — n8n uses these exact keys for data mapping. Requirements Jotform API key (Full Access) OpenAI API key SMTP or transactional email service Google service account or Authenticate using Oauth2 Slack token How to customize You can easily adjust rating thresholds, AI prompts, or email templates to match your brand’s tone. The structure is modular — no code changes needed, just edit nodes and re-deploy.
by FabioInTech
This workflow uses AI agents to enrich company data from Airtable. It performs deep research to find the best decision-maker, then drafts and evaluates a personalized outreach email, and finally updates the original Airtable record with the new lead information and email content. 👥 Who is it for? This workflow is ideal for sales teams, marketers, and business development professionals looking to automate their lead generation and initial outreach process, saving time and increasing personalization at scale. ⚙️ How it works This workflow initiates by fetching unprocessed company records from a specified Airtable base. For each company, it performs a "deep research" using Jina AI to identify key decision-makers based on the company's name and website. Next, a series of AI agents process the information: Lead Analyzer: A "Lead Generation Specialist" agent analyzes the research results to select the most suitable contact person. Email Content Creator: A "Content Creator Specialist" agent uses the lead's information and your business details to draft a personalized marketing email and subject line. Evaluator: An "Expert Email Marketing Evaluator" agent reviews the generated email for quality, tone, and effectiveness, providing a score and feedback. Finally, the workflow updates the original record in Airtable with the identified lead's name, email, the generated email content, and the evaluation summary, marking the record as processed. 🛠️ How to set up Airtable Setup: Create an Airtable base with a table containing the following fields: Company_name: A text field for the name of the lead's company (Required). Company_website: A URL field for the company's official website (Required). Company_email: An email field for a general contact email for the company (Required). Address: A text field for the physical address of the company (Optional). Company_phone: A phone number field for a general phone number for the company (Optional). processed: A single select field to track the status. It needs the options no and yes. The workflow only processes records set to no (Required). lead_name: A text field that the workflow will populate with the name of the identified lead (Output). lead_email: An email field that the workflow will populate with the identified lead's email (Output). email_subject: A text field for the generated email subject line (Output). email_text: A long text field for the generated, personalized email body (Output). email_summary: A long text field for the AI's evaluation and summary of the created email (Output). create_date: A date and time field to log when the record was processed (Output). task_result: A text field for a summary of the final task result, like "Email wrote" (Output). Create your Airtable Credentials Airtable Documentation Connect your Airtable credentials to the 'Get input records' and 'Update record' nodes and select your Base and Table in both nodes. Fill the Airtable Table with the Companies details you want to generate Leads. The requited columns are (Company_Name, Company_website and Company_email). Also, make sure the column processed is set to "no". Business Information: In the Business_Info node, fill in the values with your company's details, key benefits, target audience, and landing page URL. API Keys: Jina AI: Get your API key from Jina AI and insert it into the Jina_API_Key node. OpenAI: Add your OpenAI credentials to the 'OpenAI o3-mini', 'OpenAI - 4o-mini', and 'OpenAI - 4o-mini - low' nodes. ✅ Requirements An Airtable account. A Jina AI account and API key. An OpenAI account and API key. 🎨 How to customize the workflow Change the data source:** Replace the Airtable 'Get input records' node with another database or CRM node like Google Sheets, HubSpot, or Salesforce to pull your company list from a different source. Adjust AI models:** Experiment with different OpenAI models in the LangChain nodes ('OpenAI o3-mini', 'OpenAI - 4o-mini') to balance cost, speed, and performance. Refine the AI prompts:** Modify the system messages and prompts within the 'Lead Analyzer', 'Email Content Creator', and 'Evaluator' agent nodes to better align their outputs with your specific tone of voice, goals, and evaluation criteria. Automate sending:** Extend the workflow by adding an email node (e.g., Gmail, Outlook) after the 'Update record' node to automatically send the generated emails.
by Marth
⚙ How It Works The automated blacklist monitor is designed to be a proactive, not reactive, tool. Here is the high-level process: Scheduled Checks: At regular intervals (e.g., every 30 minutes or every hour), a monitoring script or service sends a request to a list of predefined DNS blacklists (DNSBLs) and real-time blackhole lists (RBLs). Lookup Queries: For each check, the system performs a lookup query for our specified domains and IP addresses against the various blacklists. It essentially asks, "Is our-ip-address.com on your list?" Status Evaluation: The blacklist service responds with a status: either the asset is clean or it is listed. Alerting Mechanism: If a new listing is detected, the system immediately triggers a notification. This alert contains key information like the asset that was blacklisted (domain or IP), the specific blacklist it was found on (e.g., Spamhaus), and the time of detection. Status Logging: The status of each asset (clean or listed) is logged in a central dashboard. This allows us to track the history of an IP or domain, see when a listing occurred, and when it was resolved. Setup Steps Follow these steps to set up the automated blacklist monitor. Select a Service: Choose a reliable blacklist monitoring service. Services like MXToolBox, HetrixTools, or Uptime Robot (with custom checks) are popular options. Create an Account: Sign up and create an account for your organization on the chosen platform. Add Monitored Assets: Navigate to the "Monitors" or "Assets" section within the service's dashboard. Add all of the following: Your primary domain names (e.g., yourcompany.com). All outbound mail server IP addresses. Any other publicly facing IP addresses associated with your business. Configure Notification Channels: Set up how and where you want to receive alerts. The best practice is to configure multiple channels for redundancy: Email: Send alerts to a group alias like security@yourcompany.com or it-alerts@yourcompany.com. Chat/IM: Integrate with a communication tool like Slack or Microsoft Teams and create a dedicated channel (e.g., #blacklist-alerts). Ticketing System: Configure the service to automatically open a ticket in your help desk software (e.g., Jira, ServiceNow) when a new listing is found. Set Up Check Frequency: Configure how often you want the system to perform checks. A frequency of every 15 to 30 minutes is a good starting point for a high-priority service like email. Create a Runbook: A runbook is a document that outlines the steps to take when an alert is received. Create and share a runbook with your team that includes: Confirmation: How to verify the listing. Investigation: Initial steps to find the root cause (e.g., checking mail logs for spam). Delisting: How to submit a delisting request to the specific blacklist provider. Initial Testing: Once everything is configured, perform a manual check to ensure the system is working and that all notification channels are active. You can often do this with a "test check" button within the monitoring service's dashboard.
by uzman
What This Workflow Does Automatically handles customer support emails about Shopify orders using AI. When customers email questions like "Where is my order?" or "When will it arrive?", this workflow: Receives the email via Gmail trigger Classifies the email to identify order-related queries (WISmo - Where Is My Order) Retrieves real-time order data from your Shopify store Generates a friendly, personalized response using AI Sends an automatic reply directly to the customer Key Features ✅ Smart email classification (handles only order-related queries) ✅ Real-time Shopify order lookup ✅ Natural, empathetic AI responses ✅ Fully automated - no manual intervention needed ✅ Non-order emails are filtered out automatically Setup Requirements Estimated setup time: 20-30 minutes You'll need: Gmail account (for receiving/sending emails) Shopify store with Admin API access OpenRouter API key (for AI model) Setup steps: Gmail: Connect your Gmail account to the trigger node (watch this tutorial) OpenRouter: Sign up at openrouter.ai and add your API key Shopify: Create a custom app in your Shopify admin with read_orders permission Detailed setup instructions are included in the workflow's sticky notes. Use Cases E-commerce stores with high email volume Small businesses wanting to automate order inquiries Shopify merchants looking to improve response times Support teams needing 24/7 automated assistance Notes **Only responds to order-related emails automatically Other emails are ignored (passed to "No Operation" node) Customize the AI's tone and behavior in the Agent node's system message Safe and secure - only reads order data, doesn't modify anything**
by Automate With Marc
🎥 AI-Powered Inbound Sales Rep Video Agent – Auto-Respond to Leads with Personalized Videos Description: This workflow helps you instantly respond to inbound leads with a hyper-personalized video and email—fully automated using n8n, Heygen API, and OpenAI. Watch the step-by-step Tutorial Build here: https://www.youtube.com/@Automatewithmarc When a visitor submits a form on your website, this AI agent dynamically: Creates a video script tailored to the lead's input using an AI prompt agent Generates a video using the Heygen API with a branded avatar Crafts a contextual follow-up email embedding the video Sends it to the lead’s inbox with a call-to-action This is ideal for: Marketing agencies looking to impress new prospects Sales teams aiming to boost inbound conversions Founders and freelancers building trust through instant video touchpoints 📥 How It Works: Form Trigger Captures user inputs like name, email, business URL, and marketing pain points. AI Video Prompt Agent Uses LangChain + OpenAI to write a short, personalized script (e.g., “Hey this is Jason from Purple Unicorn Marketing...”). Video Generation (Heygen API) Triggers a video using a selected avatar and voice style. Video Status & Wait Logic Monitors the video generation status until completed. Get Final Video URL & Thumbnail Retrieves the finished video and prepares for embedding. Email Writer (GPT-4) Generates an HTML-based outreach email including the lead's info and embedded video thumbnail with a booking link. Email Delivery (Gmail Node) Sends the full message to the inbound lead automatically. ⚙️ Tools & Integrations: n8n (self-hosted or cloud) Heygen API – for video generation LangChain + OpenAI GPT-4 – for script writing and email creation Gmail Node – for automated outreach delivery 🔧 Setup Instructions: Heygen API Key Create a Heygen account and retrieve your API key. Set it up as a credential in n8n (httpHeaderAuth). OpenAI Key Add your OpenAI API key under OpenAI credentials. Gmail OAuth2 Connect your Gmail account using OAuth2 for sending emails. Customize the Prompt Modify the system message in the LangChain Agent node to reflect your brand tone or CTA. Calendly Link Update the call-to-action links in both the video prompt and email generator nodes with your real booking URL. 💡 Use Cases: Automating welcome sequences for new signups Personalized video lead responses for agencies AI-driven inbound sales agent for bootstrapped startups
by Asfandyar Malik
Automatically track new freelance job postings from any platform using Apify Actors, process the results, and get real-time WhatsApp alerts for new opportunities. This workflow saves jobs to Google Sheets for record-keeping and sends instant notifications so you never miss a client lead. Who’s it for Freelancers, agencies, and business developers who want to monitor platforms like Upwork, Fiverr, or Freelancer for new jobs — without checking manually. How it works The workflow starts when a chat message or trigger event is received. It runs an Apify Actor to scrape job listings from your target platform. The dataset results are fetched via Apify’s API. A JavaScript Code node processes and filters the results for relevant jobs. The data is saved to Google Sheets for tracking and reporting. A formatted job summary is created and sent as a WhatsApp message directly to your phone. How to set up Create or use an Apify Actor for scraping job listings from your chosen site. Connect your Apify API token in n8n under credentials. Link your Google Sheets account and specify the sheet for storing job data. Add your WhatsApp Cloud API or Twilio WhatsApp credentials. Test the workflow by sending a trigger message — new jobs will be fetched, stored, and sent to WhatsApp. Requirements Apify account with API access Google Sheets integration WhatsApp Cloud API or Twilio account n8n Cloud or self-hosted instance How to customize 🧩 Add filters: Include keyword or budget filters in the JavaScript node. 🔄 Schedule runs: Replace the chat trigger with a Cron node for hourly or daily tracking. 📊 Change destination: Save results to Notion, Airtable, or Slack instead of Google Sheets. 🗣️ Multi-channel alerts: Send updates to Discord, Telegram, or Email as well. Stay ahead of freelance opportunities — this n8n workflow finds jobs, logs them, and alerts you instantly via WhatsApp.
by Piotr Sobolewski
How it works This workflow provides a comprehensive daily overview of your chosen company's online presence. It automatically: Scans diverse online sources including Google News, Reddit, and YouTube for mentions of your specified company and keywords. Leverages Artificial Intelligence to analyze the sentiment (positive, negative, neutral) and provide concise summaries for each new mention. Intelligently tracks and deduplicates content using a persistent local database, ensuring you only receive alerts for genuinely new discussions or articles, preventing redundant notifications. Compiles a structured, categorized daily report detailing new mentions by source and sentiment. Delivers this insightful report directly to your email inbox. Gain unparalleled visibility into your company's online reputation and public perception across various digital channels! Set up steps Setting up this comprehensive workflow is more involved, typically taking around 25-50 minutes, due to multiple data sources, AI integration, and database management. You'll need to: Define your company's name and a comprehensive list of search keywords. Authenticate your preferred email service (e.g., Gmail). Obtain an API key for your chosen AI service (e.g., OpenAI). Authenticate your Reddit account. Authenticate your Google (YouTube) account (for YouTube API access). Understand the nuances of general internet monitoring, acknowledging that capturing "all" content is practically impossible without highly specialized (and expensive) enterprise tools. All detailed setup instructions and specific configuration guidance are provided within the workflow itself using sticky notes.
by Fahmi Fahreza
Send smart, personalized welcome emails to any Jotform lead This workflow intelligently qualifies new Jotform leads and sends the perfect welcome email every time. It detects whether a lead is using a business or personal email address and tailors the outreach accordingly—either with deep company research for B2B leads or a warm, direct welcome for B2C leads. Who's it for? Businesses with mixed audiences:** Companies that serve both business clients and individual users. Sales & Marketing Teams:** To automate lead qualification and send context-aware first-touch emails. Founders & Solopreneurs:** To ensure every new lead gets a relevant, personalized welcome without manual effort. How it works Trigger: The workflow starts on a new Jotform submission. Filter: It checks if the lead's email is a work email (e.g., jane@mycompany.com) or a personal one (e.g., john@gmail.com). Path A (Work Email): The workflow researches the company using Perplexity AI and then uses OpenAI to draft a deeply personalized email referencing company-specific details. Path B (Personal Email): The workflow skips the research and uses OpenAI to draft a warm, friendly, but more general welcome email. Send: The appropriate, context-aware email is sent to the new lead via Gmail. How to set up Jotform: Connect your Jotform credentials and choose your lead capture form. Important: Your form must contain fields with the exact names name and email. You can add other fields for more context (e.g., company_size). Credentials: Connect your Perplexity AI, OpenAI, and Gmail accounts. Activate Workflow: Turn the workflow on. Requirements An n8n account. A Jotform account. A Perplexity AI account with API access. An OpenAI account with API access. A Gmail account. How to customize the workflow Filter Logic:** Add more personal email domains (e.g., icloud.com) to the list in the Check if Email is Work or Personal node to improve filtering. Prompts:** Customize the prompts in both the AI Agent nodes to match your brand's voice and tone.
by Robert Breen
This n8n workflow checks daily ad spend totals from a Google Sheet and sends a Slack alert if spend exceeds $100. It can be scheduled to run automatically or manually triggered for testing. This is perfect for marketing teams who want to monitor budget spikes in near real-time. ✅ Key Features 📥 Google Sheets Integration**: Pulls raw spend data from a shared spreadsheet. 📆 Scheduled or Manual Execution**: Can run daily on a schedule or manually for testing. 📈 Aggregates Spend**: Summarizes daily totals from raw data. 🧠 Logic Check**: Alerts only when spend exceeds a certain threshold. 🔔 Slack Alerts**: Sends instant notification to a specified channel. 🧰 What You'll Need Google Cloud Project** with Sheets API enabled OAuth2 Credential** for Google Sheets Slack Bot Token** with permission to post to your workspace Your Google Sheet link and tab name** 📎 Copy this Sample Google Sheet to Use: Marketing Data Sheet - Copy Me 🔧 Step-by-Step Setup 1️⃣ Schedule or Manual Trigger Node**: Schedule Workflow or Test Workflow Purpose**: Either run daily via a cron-like rule or manually trigger the flow. 2️⃣ Get Google Sheet Data Node**: Get Data What it does**: Fetches all rows from your connected sheet. Setup**: Go to Google Cloud Console Create a new project Enable Google Sheets API Create OAuth2 credentials for a desktop or web application Connect your Google account in n8n via OAuth2 Grant access to the sheet you want to read (ensure it's shared with your OAuth email) Use the copied sheet's link when connecting in n8n 3️⃣ Summarize Spend by Day Node**: Sum spend by Day What it does**: Groups the dataset by Date and sums the Spend ($) column Requirements**: Your sheet must have a header row with Date and Spend ($) as columns 4️⃣ Sort by Most Recent Date Node**: Sort Dates Descending What it does**: Sorts all entries by the Date field so that the most recent day is first Custom JavaScript**: const items = $input.all(); items.sort((a, b) => new Date(b.json.Date) - new Date(a.json.Date)); return items; 5️⃣ Select Top Result Node**: Keep only Last Day What it does**: Captures the top row (most recent day) for evaluation Fields**: Sets only Date and sum_Spend_($) to keep things clean 6️⃣ Check Spend Threshold Node**: Check if Spend over $100 What it does**: Uses an IF node to compare sum_Spend_($) against a 100 threshold Logic**: sum_Spend_($) > 100 7️⃣ Send Slack Notification Node**: Send Slack Message What it does**: Sends a message to a Slack channel if the threshold is exceeded Setup**: Go to Slack API Create a new app Enable chat:write and channels:read scopes under OAuth & Permissions Install the app to your workspace Copy the OAuth Token into your Slack credentials in n8n Select your target channel from the dropdown (must be public or the bot must be invited) Message**: The spend for the most recent day is over $100 8️⃣ No Action if Under Budget Node**: Do Nothing. Under 100 Purpose**: This path simply ends the flow with no action if spend is below the threshold 👤 Created By Robert Breen Automation Consultant | AI Workflow Designer | n8n Expert 📧 rbreen@ynteractive.com 🌐 ynteractive.com 🔗 LinkedIn 🏷️ Tags slack marketing automation budget alert daily schedule google sheets threshold logic n8n spend tracking data summarization