by WhySoSerious
📬 Plex Recently Added → Responsive Email Newsletter (Tautulli Alternative) What it is This workflow automatically creates a weekly Plex newsletter that highlights recently added Movies & TV Shows. It’s designed to be mobile-friendly and Gmail/iOS Mail compatible, making it easy to share Plex updates with friends, family, or your community. How it works • ⏰ Runs on a weekly schedule (customizable). • 🎬 Fetches recently added Movies & TV Shows from Tautulli API. • 📰 Builds a responsive HTML newsletter that works in Gmail, iOS Mail, and most clients. • 📧 Sends one personalized email per recipient via SMTP. • 🗒️ Every node has a Sticky Note explaining setup and purpose. How to set up Replace the placeholders in the nodes with your own details: • YOUR_TAUTULLI_URL • YOUR_API_KEY • YOUR_PLEX_TOKEN • YOUR_PLEX_SERVER_ID Update the recipient list in Prepare Emails for Recipients. Add your SMTP credentials in Send Newsletter Emails. (Optional) Customize the HTML/CSS in Generate HTML Newsletter. Requirements • Plex Media Server with Tautulli installed. • SMTP account (Gmail, custom domain, etc.). Customization • Change the schedule to daily/weekly as needed. • Edit the HTML template for your own branding. • Extend with additional nodes (Discord, Slack, etc.). ⸻ ⚡ Workflow Overview: ``⏰ Schedule Trigger → 🎬 Fetch Movies → 📺 Fetch TV → 🔗 Merge → 📰 Build HTML → 📧 Prepare Recipients → 📤 Send → ✅ Finish ``
by Avkash Kakdiya
How it works This workflow starts whenever a new lead submits a Typeform. It captures the lead’s details, checks their budget, and routes them based on priority and source. High-budget leads are pushed into HubSpot with a follow-up task for sales. Facebook leads are logged in Google Sheets for marketing, while SurveyMonkey leads are stored in Airtable for campaign tracking. Finally, every lead receives an automated Gmail acknowledgment to confirm receipt and set expectations. Step-by-step Capture Leads The workflow listens for new form responses from Typeform. Each lead’s details — name, email, phone, budget, and message — are captured for processing. Prioritize High-Budget Leads The budget field is checked. If the budget is greater than $5,000 → the lead is flagged as high priority. These leads are added or updated in HubSpot CRM. A priority follow-up task is created in HubSpot for the sales team. Route by Lead Source If the source is Facebook → the lead is logged in a Google Sheet for marketing analysis. If the source is SurveyMonkey → the lead is stored in Airtable for structured campaign tracking. Send Auto-Response After storage, every lead receives an automated Gmail reply. The email thanks them for their interest and assures them that the sales team will follow up within 24 hours. Why use this? Captures and organizes leads from multiple channels in one workflow. Flags and escalates high-budget leads instantly to sales. Routes leads to the right system (HubSpot, Google Sheets, Airtable) based on their source. Automates acknowledgment emails, improving response time and customer experience. Saves manual effort by centralizing lead capture, qualification, and routing in one place.
by Supira Inc.
How It Works This workflow automatically classifies incoming Gmail messages into categories such as High Priority, Inquiry, and Finance/Billing, and then generates professional draft replies using GPT-4. By combining Gmail integration with AI-powered text generation, the workflow helps business owners and freelancers reduce the time spent managing emails while ensuring that important messages are handled quickly and consistently. When a new email arrives, the workflow: Triggers via Gmail. Uses an AI classifier to categorize the message. Applies the appropriate Gmail label. Passes the email body to GPT-4 to generate a tailored draft reply. Saves the draft in Gmail, ready for review and sending. Requirements A Gmail account with API access enabled. An OpenAI API key with GPT-4 access. n8n account or self-hosted instance. Setup Instructions Import this workflow into your n8n instance. Under Credentials, connect your Gmail account and OpenAI API key. Replace placeholder YOUR_LABEL_ID_XXX values with your Gmail label IDs (obtainable via Gmail → List Labels). Execute the workflow and check that draft replies are generated in your Gmail account. Customization Add or edit categories to fit your business needs (e.g., “Sales Leads” or “Support”). Adjust the GPT-4 prompts inside each “Generate Draft” node to match your preferred tone and style. Combine with other workflows (e.g., CRM integration, Slack alerts) for a complete email automation system. This template is especially useful for small businesses and freelancers who want to save time, improve response speed, and maintain professional communication without manually writing every reply.
by Rakin Jakaria
Use cases are many: Automate resume screening, candidate scoring, and interview communication in one seamless pipeline. Perfect for HR teams hiring at scale, startups that need quick filtering of applicants, or enterprises like Samsung running multiple roles at once. Good to know At time of writing, each Gemini request is billed per token. See Gemini Pricing for the latest info. The workflow automatically sends acceptance or rejection emails to candidates — be sure to configure your Gmail account and email templates carefully. How it works Form Submission**: Applicants fill out a custom form with their name, email, job role (Executive Assistant, IT Specialist, or Manager), and resume (PDF). Resume Processing**: The PDF resume is extracted into text using the Extract from File node. AI Evaluation**: Gemini-powered AI reviews the resume against the job role and generates: A score (0–10) A status (Accepted/Rejected) A personalized email (acceptance or rejection) Information Extraction**: The AI output is structured into fields: Score, Status, Mail Subject, and Mail Body. Email Sending**: The candidate automatically receives their personalized result via Gmail. Record Keeping**: All candidate details (Name, Job, Score, Status, Email, Email Status) are stored in Google Sheets for tracking. How to use Share the generated form link with applicants. When they submit, the system handles scoring and sends an email instantly. HR teams can review all results directly in Google Sheets. Requirements Google Gemini API key (for resume evaluation) Gmail account with OAuth2 (for sending acceptance/rejection emails) Google Sheets (for candidate tracking) n8n form node (for application collection) Customising this workflow Add more job positions to the form dropdown. Adjust the acceptance threshold (e.g., accept at 8/10 instead of 7/10). Modify email templates for a more formal or branded tone. Extend the pipeline to trigger a Calendly invite for accepted candidates. Integrate with Slack or Teams to notify HR when a candidate is accepted.
by Gabriel Santos
This workflow streamlines how employees request equipment/items and how those requests reach the Procurement team. It validates the employee by enrollment number, detects whether a manager exists, and then either requests approval (if the requester has a manager) or routes the request directly to Procurement (if the requester is a manager). All messages are written in a professional tone using an LLM, and emails are sent via Gmail with a built-in approve/deny step for managers. Who’s it for HR/IT/Operations teams that handle equipment requests, need a lightweight approval flow, and want clean, professional emails without manual drafting. How it works Employee submits their enrollment number. Workflow fetches employee (and manager, if any). Employee describes the requested item(s). If a manager exists → an approval email (double opt-in) is sent to the manager. Approved → notify employee and forward a polished request to Procurement. Denied → notify employee. If the requester is a manager → skip approval and send directly to Procurement. End pages confirm the outcome. Requirements MySQL (or compatible DB) with an employees table (id, name, email, enrollment_number, manager). Gmail credentials (OAuth) in n8n. LLM provider (OpenAI or compatible) for message polishing. How to customize Replace the Procurement NoOp nodes with your email, helpdesk, or ERP integration. Adjust email copy and tone in the LLM prompt nodes. Add tracking IDs, SLA text, or CCs for auditing. Style the forms with your brand (CSS blocks provided).
by WeblineIndia
This n8n workflow automatically fetches all interview events scheduled for today from a specified Google Calendar and sends a personalized email to each interviewer. The email contains a formatted HTML table listing their interview details, including meeting times, Google Meet links, and attendees with their response status. This ensures all interviewers are informed daily at 8:00 AM IST without any manual coordination. Who’s it for Interviewers** who want a quick morning packet instead of opening multiple calendar tabs. Recruiters/coordinators** who need a reliable, zero‑friction daily brief for interviewers. Teams** that paste CV/notes links directly into calendar events (no file search required). How it works Cron triggers daily at 08:00 IST. Google Calendar reads today’s events from the Interviews calendar. A Code step parses each event to identify interviewers and extract candidate details, meeting link, and any CV: / Notes: links from the description and create a table to share via Gmail. A grouping step compiles a per‑interviewer list for the day. Email (Gmail) sends one digest to interviewer. How to set up Ensure all interviews are scheduled on the Google Calendar named Interviews and that interviewers are added as attendees. Add CV: <url> and Notes: <url> in the event description when available. Import the workflow and add credentials: Google Calendar (OAuth) SMTP/Gmail for sending the email digests Keep the default 08:00 IST schedule in the Cron node or adjust as needed. Requirements Google Workspace account with access to the Interviews calendar. Gmail sender account for digests (App Password if using 2FA). n8n instance (cloud or self‑hosted). Steps Trigger Schedule Node:** Schedule Trigger Purpose:* Starts the workflow daily at *8:00 AM**. Fetch Interview Events Node:** Google Calendar(Fetch Interview Events) Purpose:** Retrieves all events (interviews) from the configured calendar. Output:** Event details including summary, time, and organizer email. Group & Format Schedule Node:** HTML Table (JavaScript Code Node) Purpose:** Groups events by interviewer email and generates an HTML schedule table. Output:** Formatted fields: interviewer_email subject htmlContent Send Personalized Emails Node:** Gmail Purpose:** Sends the formatted interview schedule to each interviewer’s email address. Send To:** Dynamically set using ={{ $json.interviewer_email }} Subject:** "Interview Reminder" Body:** ={{ $json.htmlContent }} (HTML) How to customize the workflow Parsing rules:** If your event titles follow a pattern (e.g., Onsite – {Candidate} – {Role}), tweak the regex in the Code node. Attendee logic:** Refine how interviewers are detected (e.g., filter only accepted responses, or include tentative). Digest format:** Adjust table columns/order, or add role/team labels from the title. Schedule:** Duplicate the Cron for regional time zones or add a midday refresh. Add-ons to level up the Workflow with additional nodes Reminder pings:** Add 10‑minute pre‑interview reminders via Email or Slack/Teams. Conflict alerts:** Flag if an interviewer is double‑booked within a 15‑minute window. Feedback follow‑up:** After the scheduled time, DM or email a standardized feedback form link. Drive search (optional):** If you later want auto‑attach CVs, add a Google Drive search step (by candidate name) in a designated folder. Common troubleshooting points No events found:* Confirm the calendar name is *Interviews* and that events exist *today**. Missing links:** If CV/notes links aren’t in the email, add CV:/Notes: links to the event description. Email not sent:** Verify SMTP credentials, from‑address permissions, and any sending limits. Time mismatch:* Confirm workflow timezone and Calendar times are set to *Asia/Kolkata** (or adjust). A short note If you need help tailoring the parsing rules, adjusting the schedule or troubleshooting any step, feel free to reach out we will happy to help.
by Christian Lutz
How it works This workflow automates the delivery of personalized, AI-generated reports or roadmaps for new leads. When someone submits their information through a form, the workflow: Captures and stores the lead data. Uses an AI model to generate a customized report or roadmap. Formats the output into a professional, email-ready HTML document. Sends the report automatically to the lead via email. Optionally sends internal notifications (e.g., via chat or email) for tracking and follow-up. The process eliminates manual work and ensures every lead receives instant, high-quality output tailored to their input. Setup steps Webhook – Connect your form or website to the webhook endpoint to receive lead data. Data Table – Create or link a table to store incoming leads and track delivery status. AI Configuration – Add your OpenAI (or compatible) API credentials and customize prompts for your desired output. Email Setup – Configure SMTP credentials and define sender/recipient addresses for report delivery. Notifications – Optionally connect a chat or messaging service (e.g., Telegram) for internal alerts. Activation – Test the workflow, confirm the data flow and email delivery, then activate it for live use. This workflow transforms manual lead engagement into a fully automated, AI-driven experience that delivers instant, personalized value to every new contact.
by Robert Breen
Use this template to upload an image, run a first-pass OpenAI Vision analysis, then re-attach the original file (binary/base64) to the next step using a Merge node. The pattern ensures your downstream AI Agent (or any node) can access both the original file (data) and the first analysis result (content) at the same time. ✅ What this template does Collects an image file* via *Form Trigger** (binary field labeled data) Analyzes the image* with *OpenAI Vision* (GPT-4o) using *base64** input Merges* the original upload and the analysis result (combine by position) so the next node has *both** Re-analyzes/uses* the image alongside the first analysis in an *AI Agent** step 🧩 How it works (Node-by-node) Form Trigger Presents a simple upload form and emits a binary/base64 field named data. Analyze image (OpenAI Vision) Reads the same data field as base64 and runs image analysis with GPT-4o. The node outputs a text content (first-pass analysis). Merge (combine by position) Combines the two branches so the next node receives both the original upload (data) and the analysis (content) on the same item. AI Agent Receives data + content together. Prompt includes the original image (=data) and the first analysis ({{$json.content}}) to compare or refine results. OpenAI Chat Model Provides the language model for the Agent (wired as ai_languageModel). 🛠️ Setup Instructions (from the JSON) > Keep it simple: mirror these settings and you’re good to go. 1) Form Trigger (n8n-nodes-base.formTrigger) Path:* d6f874ec-6cb3-46c7-8507-bd647c2484f0 *(you can change this) Form Title:** Image Document Upload Form Description:** Upload a image document for AI analysis Form Fields:** Label: data Type: file Output:* emits a binary/base64 field named *data**. 2) Analyze image (@n8n/n8n-nodes-langchain.openAi) Resource:** image Operation:** analyze Model:** gpt-4o Text:* =data *(use the uploaded file field) Input Type:** base64 Credentials:* OpenAI (use your stored *OpenAI API** credential) 3) Merge (n8n-nodes-base.merge) Mode:** combine Combine By:** combineByPosition Connect Form Trigger → Merge (input 2) Connect Analyze image → Merge (input 1) This ensures the original file (data) and the analysis (content) line up on the same item. 4) AI Agent (@n8n/n8n-nodes-langchain.agent) Prompt Type:** define Text:** System Message:** analyze the image again and see if you get the same result. Receives:** merged item containing data + content. 5) OpenAI Chat Model (@n8n/n8n-nodes-langchain.lmChatOpenAi) Model:** gpt-4.1-mini Wiring:* connect as *ai_languageModel* to the *AI Agent** Credentials:** same OpenAI credential as above > Security Note: Store API keys in Credentials (do not hardcode keys in nodes). 🧠 Why “Combine by Position” fixes the binary issue Some downstream nodes lose access to the original binary once a branch processes it. By merging the original branch (with data) and the analysis branch (with content) by position, you restore a single item with both fields—so the next step can use the image again while referencing earlier analysis. 🧪 Test Tips Upload a JPG/PNG and execute the workflow from the Form Trigger preview. Confirm Merge output contains both data (binary/base64) and content (text). In the AI Agent, log or return both fields to verify availability. 🔧 Customize Swap GPT-4o for another Vision-capable model if needed. Extend the AI Agent to extract structured fields (e.g., objects detected, text, brand cues). Add a Router after Merge to branch into storage (S3, GDrive) or notifications (Slack, Email). 📝 Requirements n8n (cloud or self-hosted) with web UI access OpenAI** credential configured (Vision support) 🩹 Troubleshooting Binary missing downstream?* Ensure *Merge* receives *both** branches and is set to combineByPosition. Wrong field name?* The *Form Trigger* upload field must be labeled *data** to match node expressions. Model errors?* Verify your *OpenAI* credential and that the chosen model supports *image analysis**. 💬 Sticky Note (included in the workflow) > “Use Binary Field after next step” — This workflow demonstrates how to preserve and reuse an uploaded file (binary/base64) after a downstream step by using a Merge node (combineByPosition). A user uploads an image via Form Trigger → the image is analyzed with OpenAI Vision → results are merged back with the original upload so the next AI Agent step can access both the original file (data) and the first analysis (content) at the same time. 📬 Contact Need help customizing this (e.g., filtering by campaign, sending reports by email, or formatting your PDF)? 📧 rbreen@ynteractive.com 🔗 https://www.linkedin.com/in/robert-breen-29429625/ 🌐 https://ynteractive.com
by Wessel Bulte
Generate Weekly n8n Execution Report and Email Summary Description: How it works Automatically runs every 7 days to pull all n8n workflow executions from the past week Merges execution data with workflow information to provide context Generates a professional HTML report with execution statistics (errors, successes, waiting status) Sends the formatted report with Outlook or Gmail Set up steps 1. Configure n8n API Credential Go to your n8n instance → Settings → API Create a new API token with read access to workflows and executions In this workflow, add a new "n8n" credential and paste your API token This credential is used by two nodes: "Get all Workflows" and "Get all previous executions" 2. Connect Email Services Configure your Outlook credential in the "Send a message outlook" node Configure your Gmail credential in the "Send a message gmail" node Set your preferred email recipients in both nodes 3. Adjust Schedule (Optional) By default, the workflow runs every 7 days Edit the "Schedule Trigger" node to change the interval if needed Key features Tracks workflow execution status and runtime metrics Calculates average and total runtime for each status type Provides visual HTML report with color-coded status indicators Dual email delivery (Outlook + Gmail options) Requires only n8n API credentials (no external API keys needed) Need Help 🔗 LinkedIn – Wessel Bulte
by Asuka
Who's it for Customer support teams, sales representatives, and international business professionals who need to handle multilingual email communication efficiently while maintaining quality control through human approval. How it works This workflow automates email responses by: Monitoring Gmail for emails with a specific label (e.g., "To_Process") Translating the email content using DeepL to your preferred language Generating an AI-powered summary and draft reply using OpenAI Requesting approval via Slack with a summary and one-click approval link Sending the reply only after human approval is received Removing the label to prevent reprocessing Set up steps Setup takes approximately 15-20 minutes: Configure credentials for Gmail, DeepL, OpenAI, and Slack Create a Gmail label for emails to process Update the Slack channel ID in the configuration node Ensure n8n is accessible via webhook (tunnel or production mode required) Requirements Gmail account with OAuth2 authentication DeepL API key (free tier available) OpenAI API key Slack workspace with OAuth2 app configured n8n instance accessible via webhook URL How to customize the workflow Change translation language**: Modify the DeepL node's target language Adjust AI model**: Switch between GPT-4 or GPT-3.5 in the OpenAI node Customize approval message**: Edit the Slack message format Add multiple languages**: Duplicate the translation node for multi-language support Filter specific senders**: Add conditions to process only certain email addresses
by Rohit Dabra
Google Sheets → Stripe Payment Automation Workflow 📌 Overview This workflow automates the end-to-end process of generating and sending client payment links using Google Sheets and Stripe. Whenever a new or updated entry is added to the Google Sheet, the workflow will: Fetch client and invoice details. Create a Stripe Product and Price. Generate a Stripe Payment Link. Store the link back in the Google Sheet. Upload a copy of the invoice to Google Drive. Send a professional, formatted email with the payment link to the client using Gmail. 🔗 Demo Video: Watch on YouTube ⚡️ Workflow Steps Trigger – The workflow is triggered on any update in the Google Sheet. Filter – Ensures only relevant rows (e.g., PENDING invoices) proceed. Stripe Automation Create Stripe Product Create Stripe Price Generate Stripe Payment Link Google Drive – Store invoice files (if required). Google Sheets – Update the sheet with the generated Stripe Payment Link and timestamp. Gmail – Send a client-facing email with the invoice details and payment link. 🛠 Setup Guide Prerequisites n8n account** Google Sheets & Google Drive credentials** Gmail API credentials** Stripe API Key** Steps Clone/Import Workflow Import the workflow JSON file into your n8n instance. Configure Google Sheets Create a Google Sheet with columns: Order ID, Client Name, Client Email, Items Description, Due Date, Amount, Currency, Invoice Status, Invoice Link, Stripe Payment Link, Last Updated Connect your Google Sheets node to this sheet. Set Up Stripe Obtain your Stripe Secret Key from Stripe Dashboard. Add it in the Stripe nodes for Product, Price, and Payment Link creation. Google Drive Configure to store invoice backups (optional). Gmail Authorize Gmail and set up the Send Email node. Customize the email template with client details and the Stripe link. Test the Workflow Add a sample row in Google Sheets. Run the workflow manually or update the sheet to trigger automatically. Verify that the Stripe link is created, updated in the sheet, and emailed to the client. ✅ Now your workflow is ready to automatically manage client invoices and payments with Stripe + Google Sheets + Gmail + Google Drive.
by Meak
Form Lead Scoring with AI → Google Sheets + Slack When a new lead fills out your Typeform or any other form, this workflow classifies the message with AI, stores it in the right Google Sheet tab, and can send your team a Slack alert. Benefits Get new leads in real time from any form Classify each lead with AI (hot / neutral / cold) Save leads to the correct Google Sheets tab automatically Send Slack alerts for hot leads so you act fast Keep your pipeline clean and easy to scan How It Works Webhook receives a new form submission Parse name, email, phone, message, and timestamp AI analyzes the message and returns hot / neutral / cold Route to the matching Google Sheets tab (Hot, Neutral, Cold) (Optional) Post a Slack message with key details Who Is This For Agencies running paid ads and lead forms Sales teams that need quick triage Coaches, creators, and SaaS teams with waitlists Setup Connect your form tool (Typeform or other) to a webhook Add Google Gemini (or your AI model) credentials Connect Google Sheets (Spreadsheet ID + Tab names) (Optional) Connect Slack and select a channel Test with a few submissions to check routing ROI & Monetization Respond faster to hot leads → higher close rates Save 2–4 hours/week on manual sorting Offer as “AI lead scoring” for clients ($500–$2k/month) Strategy Insights In the full walkthrough, I show how to: Write a short, reliable prompt for clear labels Map form fields cleanly into Sheets Format Slack alerts for quick reading Expand with auto-replies or CRM sync later Check Out My Channel For more AI automation systems that get real results, check out my YouTube channel where I share the exact strategies I use to build automation workflows, win clients, and scale to $20k+ monthly revenue.