by Cj Elijah Garay
AI-Powered Discord Task Manager with Priority Intelligence Mission-Aligned Task Tracker: Discord + AI + Google Sheets Opening Summary This n8n template demonstrates how to automate task management by syncing tasks from a Discord channel to Google Sheets, enriching them with AI-driven prioritization, and delivering a daily prioritized digest back to Discord. It streamlines task organization aligned with personal mission and productivity frameworks. Use cases are many: Try managing your team’s project tasks by automatically prioritizing them based on strategic goals! Try personal task tracking with AI-powered prioritization for optimized daily productivity! Try automating follow-ups and completed task archiving seamlessly between Discord and Google Sheets! Good to know Using OpenAI GPT-4.1 and GPT-5 mini models may incur API costs based on usage (check your OpenAI pricing plan). Google Sheets API has rate limits; large task volumes may require batch adjustments to avoid quota errors. Discord API OAuth2 authentication is needed with permissions to read messages, add reactions, and post messages. The workflow requires shared Google Sheets with specific sheets named Tasks and completed tasks (template link provided). Reaction emojis in Discord (✍️ for processed, ✅ for completed) are used to track task status within Discord. AI-driven prioritization follows mission alignment based on Eisenhower Matrix, energy levels, and impact scoring. Uses concepts from: Deep work by Cal Newport Essentialism: The Disciplined Pursuit of Less – Greg McKeown (2014) Getting Results the Agile Way – J.D. Meier Hyperfocus – Chris Bailey (2018) Slow Productivity – Cal Newport (2024) Newport’s newest book. Explicitly about doing fewer things, working at a natural pace, and obsessing over quality—basically Deep Work 2.0 How it works Schedule Trigger fires hourly to initiate task syncing. Set discord IDs here node defines Discord server and channel IDs for input/output. get data - tasks Channel fetches all messages from the Discord input channel. Loop Over Items1 and if message is recorded already prevent reprocessing tasks. clean data prepares message information to uniform structure. ai task organizer node sends each task text to OpenAI GPT-4.1 mini agent, which analyzes and assigns priority, impact, energy level, category, and other metadata aligned to the user's mission. Tasks are appended to Google Sheets Tasks sheet using Append row in task sheet. react to confirm adds a reaction on Discord to mark the message as processed. Get tasks to do retrieves all in-progress tasks from Google Sheets for daily prioritization. Aggregated task data is analyzed by the AI Agent with GPT-5 mini to select top 6 tasks (3 high-energy, 3 low-energy). The daily prioritized list is split into acceptable message sizes and sent back to a Discord output channel by Send a message node. The workflow checks for tasks with ✅ reactions in Discord (get checked ones), updates their status to "Completed" in Google Sheets (Update row in sheet). Completed tasks are moved to a separate completed tasks sheet (move completed rows to completed sheet) and deleted from active list (delete completed rows) in a loop until none remain. Wait nodes and limits are used to control API call pacing and batch sizes. How to use Set your Discord server and channel IDs for input (tasks-to-do) and output (my-prio-tasks-today) in the Set discord IDs here node. Connect your Google Sheets account and set the Spreadsheet ID in all relevant nodes (the sheet must have Tasks and completed tasks sheets with expected columns). Add your OpenAI API credentials for GPT-4.1 mini (task processing) and GPT-5 mini (daily digest). Ensure your Discord app has OAuth2 tokens with message read, react, and post permissions. Post tasks as messages in the configured Discord input channel. Run the workflow or activate it; it will sync, process, prioritize, and update tasks automatically on schedule. Customize the schedule trigger if you want more frequent or different syncing intervals. Requirements Discord account and bot/app with OAuth2 app credentials for message read, react, and post permissions. Google Sheets account for task data storage, with a spreadsheet structured as specified (Sheets: Tasks, completed tasks). OpenAI API account with access to GPT-4.1 mini and GPT-5 mini models for AI task analysis and summarization. Google Sheets OAuth2 credentials configured in n8n. Properly set Discord server and channel IDs in the workflow. Customising this workflow Try adding support for multiple Discord servers or channels to centralize tasks from different teams or projects. Extend AI prompts to include deadlines parsing or automated reminders. Customize the Google Sheets columns or the scoring logic to fit your unique productivity frameworks or KPIs. Incorporate notifications via email or Slack based on task priority or completion. Replace Google Sheets with other databases if scalable storage is required. Adjust the energy level and impact criteria in AI prompts to match your personal productivity rhythms. Sample inputs: "publish tasks tracker asap" "Improve personal portfolio asap" "Watch new movie - Jujutsu Kaisen" Sample output: 🔥 Today's Agenda ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚡ Morning Deep Work Blocks (High Energy Required) Do these during peak hours (6 AM to 2 PM or whenever you're sharpest) 1️⃣ Improve personal portfolio for job applications 💡 Why: Critical for landing > 50k automation job - enhances job application success 📊 Priority: 100 | Impact: 10/10 Link: (https://discord.com/channels/1373770435146689/1481777943919293/1440107502032) 2️⃣ Complete all Udemy n8n courses ASAP 💡 Why: Essential skill for landing >50k automation job and digital product creation 📊 Priority: 88 | Impact: 9/10 Link: (https://discord.com/channels/137770435134668/14348177539192/14365639629204) 3️⃣ Finish finance debt tracker and publish as template 💡 Why: Generates immediate income potential and supports income generation 📊 Priority: 86 | Impact: 9/10 Link: (https://discord.com/channels/1373767704351346/1434817779453919/1436445965471973) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎯 DOWNTIME BLOCK (Low-Medium Energy) Do these during energy dips (post-lunch, late afternoon, tired moments) 1️⃣ Call Bank collections agency (09277055515 / 09559050973) 💡 Why: Limited-time offer; could significantly monthly payments 📊 Priority: 96 | Impact: 10/10 | Energy: Medium Link: (https://discord.com/channels/13767704351/14348177453/14379926889894) 2️⃣ Publish n8n workflow and submit for verification 💡 Why: Enables earning from this and future n8n workflows — immediate income opportunity 📊 Priority: 96 | Impact: 9/10 | Energy: Medium Link: (https://discord.com/channels/1373767435134/14347794539/143810998822) 3️⃣ Plan and pay Loan 💡 Why: Immediate debt payments reduce penalties/interest and support financial stability 📊 Priority: 96 | Impact: 10/10 | Energy: Medium Link: (https://discord.com/channels/1373767704351346/143481777945391/14382823609982) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 💪 EXECUTION STRATEGY 🛡️ Morning Block: Protect this ruthlessly — no meetings, no social, deep work only. ⚙️ Downtime Block: Tackle these during lower-energy windows; they move the money/debt needle without burning you out. 🎯 Win Condition: Complete all 6 = massive progress toward landing high-paying work and eliminating high-priority debt. Protect your morning deep work at all costs — it's your leverage. You're building financial freedom one prioritized action at a time. If you finish all 6 today: your portfolio and skills will be significantly closer to landing high-paying work, and you'll make a major dent in urgent debt obligations. Questions? If you have questions or need help with this workflow, feel free to reach out: elijahmamuri@gmail.com elijahfxtrading@gmail.com
by Baptiste Fort
How it works? Send a message or a voice note on Telegram right after the meeting. n8n transcribes (if it’s a voice note) and sends the text to GPT. GPT generates a structured and professional meeting minutes report. The report is automatically stored in Airtable. Your team is instantly notified in Slack. A formal email is sent via Gmail to the right recipients. 👉 Works for all types of meetings: client calls, team syncs, project updates… whether you type a message or send a quick voice memo. ✅ Requirements Before running this workflow, you’ll need: A Telegram account with a bot configured (to send your messages/voice notes) An OpenAI API key (for GPT and voice transcription) An Airtable account with a base containing these fields: Email Subject Report A Slack account with the target channel for notifications A Gmail account connected to n8n (OAuth2) 🔧 Step-by-step setup Step 1 – Telegram Trigger Node**: Telegram Trigger Updates**: message 👉 Captures every message or voice note sent to the bot. Step 2 – Detect text or voice Node**: Code (“Message or Voice ?”) Expected output**: { type: "text", content } if message { type: "voice", file_id } if voice note 👉 Routes the workflow based on the input type. Step 3 – IF Condition Condition**: {{$json.type}} == voice 👉 Directs to the transcription branch if it’s a voice note. Voice Branch 🎤 Step 4 – Download the voice file Node**: Telegram → Voice note Parameter**: fileId = {{$json.file_id}} Step 5 – Wait Node**: Wait (2–3s) 👉 Lets Telegram prepare the file. Step 6 – Voice note download Node**: Telegram (file download) 👉 Retrieves the audio file. Step 7 – Transcribe to text Node**: OpenAI (Transcription) Resource**: audio Operation**: transcribe 👉 Converts the voice note into plain text. Step 8 – Short wait 👉 Ensures continuity before sending to GPT. Text Branch ✍️ Step 9 – Normalize Node**: Code (“Content”) Return**: { text: $json.content } 👉 Standardizes the text as if it were already a transcription. Step 10 – Detect email Node**: Code (“Domain or Email detection”) 👉 Extracts the target email (or builds a fallback contact@gmail.com). Step 11 – Generate meeting minutes Node**: Agent (“Generate Meeting Message”) Prompt**: specialized for “meeting minutes” Model**: GPT-4.1-mini Output**: { email, subject, body } 👉 GPT creates a clean and structured meeting report. Step 12 – Enforce clean JSON Node**: Output Parser Structured JSON Example**: json {"email": "address@gmail.com","subject":"Subject","body":Email"} 👉 Ensures the output is always valid JSON. Step 13 – Cleanup / Airtable mapping Node**: Code Return**: { Email, subject, Report } 👉 Prepares the correct fields aligned with your Airtable table. Step 14 – Store in Airtable Node**: Airtable (Create Record) Mapping**: Email = {{$json.Email}} subject = {{$json.subject}} Report = {{$json.Report}} 👉 Archives each meeting report in your Airtable base. Step 15 – Notify in Slack Node**: Slack (Send Message) Channel**: your team channel Message**: {{$json.fields.subject}}{{$json.fields.Report}} Step 16 – Send the email Node**: Gmail (Send Email) sendTo**: {{$('Create a record').item.json.fields.Email}} subject**: {{$('Create a record').item.json.fields.subject}} message**: {{$('Create a record').item.json.fields.Report}}
by Jitesh Dugar
Automated Certificate Generator with Email Validation & Delivery Automatically generate, validate, and deliver professional course completion certificates with zero manual work — from webhook request to PDF delivery in seconds. Overview This workflow transforms certificate generation from a manual design task into a fully automated system. It receives certificate requests via webhook, validates recipient emails using advanced verification, generates beautifully designed HTML certificates, converts them to high-quality PNG images, delivers via professional email templates, and maintains complete audit trails in Google Sheets. Powered by email validation APIs and HTML-to-image conversion, it ensures every certificate meets professional standards while preventing delivery to invalid or fraudulent email addresses. What This Workflow Does Receives certificate requests** via webhook from your LMS, CRM, or custom application Validates recipient emails** using VerifiEmail API with comprehensive checks: RFC compliance verification MX record validation Disposable email detection Spoof and fraud prevention Generates professional certificates** with custom HTML/CSS templates featuring: Purple gradient backgrounds with modern typography Google Fonts integration (Playfair Display + Montserrat) Gold achievement badges Auto-generated unique certificate IDs Formatted completion dates Instructor signatures Converts HTML to PNG** using HTMLcsstoImg API for permanent, shareable images Delivers via email** with branded HTML templates including download links and LinkedIn sharing CTAs Logs everything** to Google Sheets for reporting, analytics, and certificate verification Handles errors** with automatic validation checks and optional Slack notifications Key Features Zero Manual Work**: Fully automated from request to delivery Advanced Email Validation**: Blocks invalid, temporary, and fraudulent email addresses Professional Design**: Print-ready certificates with customizable branding Unique Certificate IDs**: Auto-generated format: CERT-{timestamp}-{random} Instant Delivery**: Certificates sent within seconds of completion Complete Audit Trail**: All certificates logged with 10+ data points Error Prevention**: Validation stops invalid requests before processing Highly Customizable**: Easy to modify colors, fonts, layouts, and email templates Scalable**: Handles hundreds of certificates per day API-Ready**: RESTful webhook endpoint for easy integration Use Cases Educational Institutions Automatically issue certificates for online courses and programs Generate graduation certificates for completed degrees Create participation certificates for workshops and seminars Corporate Training Award compliance training certificates to employees Recognize professional development completions Issue skill certification for internal programs Online Course Platforms Integrate with LMS systems (Teachable, Thinkific, Kajabi) Automate certificate delivery upon course completion Build certificate libraries for student portfolios Event Management Issue attendance certificates for conferences and webinars Generate speaker appreciation certificates Create volunteer recognition certificates Certification Programs Award professional certifications and credentials Generate CPE/CE certificates for continuing education Issue examination completion certificates Prerequisites Required Services & Accounts n8n** (self-hosted or cloud) - Workflow automation platform VerifiEmail Account** - Email validation API HTMLcsstoImg Account** - HTML to PNG conversion Gmail Account** - Email delivery via OAuth2 Google Workspace** - For Sheets logging and tracking Required Credentials VerifiEmail API Key HTMLcsstoImg User ID + API Key Gmail OAuth2 credentials Google Sheets OAuth2 credentials Setup Instructions 1. Import the Workflow Download the certificate-generator.json file In n8n, navigate to Workflows → Import from File Select the JSON file and click Import 2. Configure Credentials VerifiEmail API Sign up at https://verifi.email Navigate to Dashboard → API Keys Copy your API key In n8n: Settings → Credentials → Add Credential Search for "VerifiEmail" Name: VerifiEmail API Paste API key and save Assign to "Verifi Email" node in workflow HTMLcsstoImg API Sign up at https://htmlcsstoimg.com Go to Dashboard → API Copy User ID and API Key In n8n: Credentials → Add Credential → "HTMLcsstoImg" Name: HTMLcsstoImg API Enter User ID and API Key Assign to "HTML/CSS to Image" node Gmail OAuth2 In n8n: Credentials → Add Credential → "Gmail OAuth2" Click Connect my account Follow Google OAuth flow Grant permissions: Send email Name: Gmail OAuth2 Assign to "Send Certificate Email" node Google Sheets OAuth2 Create new Google Sheet: "Certificates Log" Add column headers in Row 1: Certificate ID Recipient Name Course Email Completion Date Generated At Certificate URL Status Instructor Duration In n8n: Credentials → Gmail OAuth2 (same as above works for Sheets) Assign to "Log to Google Sheets" node Select your "Certificates Log" spreadsheet Select "Sheet1" 3. Activate Workflow Click the toggle switch in top-right to activate Copy the Webhook URL from "Certificate Request Webhook" node Format: https://your-n8n-instance.com/webhook/certificate-generator 4. Configure Your Application For LMS Integration: // When course is completed fetch('https://your-n8n-instance.com/webhook/certificate-generator', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: student.fullName, course: course.title, date: new Date().toISOString().split('T')[0], email: student.email, instructor: course.instructor, duration: course.duration }) }); For Zapier/Make.com: Trigger: Course completed Action: Webhooks → POST URL: Your webhook URL Body: Map fields to JSON format 5. Test the Workflow Send test request: curl -X POST https://your-n8n-instance.com/webhook/certificate-generator \ -H "Content-Type: application/json" \ -d '{ "name": "Test User", "course": "Test Course", "date": "2025-10-04", "email": "test@gmail.com" }' Verify: Email validation passes Certificate generated successfully Image created at HTMLcsstoImage Email delivered to inbox Entry logged in Google Sheets How It Works Webhook Trigger → Receives POST request with certificate data Email Validation → VerifiEmail checks RFC, MX records, disposable status Field Validation → Ensures name, course, date present and email valid Data Combination → Merges webhook data with validation results HTML Generation → Creates styled certificate with dynamic content Image Conversion → HTMLcsstoImg renders 1200x850px PNG Email Delivery → Gmail sends professional template with download link Database Logging → Google Sheets records all certificate details Error Handling → Catches failures and stops invalid requests Processing Time: 5-10 seconds per certificate API Reference Endpoint POST /webhook/certificate-generator Content-Type: application/json Required Fields { "name": "string", // Full name of recipient "course": "string", // Course or program name "date": "YYYY-MM-DD", // Completion date "email": "string" // Recipient email address } Optional Fields { "instructor": "string", // Instructor name (default: "Program Director") "duration": "string", // Course duration (e.g., "40 hours") "certificateId": "string" // Custom ID (auto-generated if not provided) } Success Response { "success": true, "message": "Certificate generated and sent successfully", "certificateId": "CERT-1728000000-ABC123", "certificateUrl": "https://hcti.io/v1/image/xyz123" } Error Response { "success": false, "error": "Missing required fields: name, course, date, or valid email" } Customization Certificate Design Edit the "Generate HTML Certificate" Code node: Change Brand Colors: // Background gradient background: linear-gradient(135deg, #YOUR_COLOR_1 0%, #YOUR_COLOR_2 100%); // Border color border: 3px solid #YOUR_BRAND_COLOR; Add Company Logo: Modify Fonts: @import url('https://fonts.googleapis.com/css2?family=Your+Font&display=swap'); font-family: 'Your Font', sans-serif; Email Template Edit the "Send Certificate Email" node message: Update Company Info: © 2025 Your Company Name Contact: support@yourcompany.com Change Header Color: .header { background: linear-gradient(135deg, #YOUR_COLOR_1, #YOUR_COLOR_2); } Certificate ID Format In "Generate HTML Certificate" node: // Custom format: COURSE-YEAR-NUMBER const certId = ${data.course.substring(0,3).toUpperCase()}-${new Date().getFullYear()}-${Math.floor(Math.random() * 10000)}; Data Flow Webhook → Email Validation → Field Validation → Combine Data ↓ Generate HTML → Convert to PNG → Send Email ↓ Log to Sheets → Success Response ↓ Error Handling (if failed) Expected Output PNG Certificate Includes: Branded header with logo/company name Recipient name in large display font Course name and duration Formatted completion date Instructor signature section Unique certificate ID Gold achievement badge Professional borders and styling Google Sheets Entry: Certificate ID Recipient details Course information Completion date and time Direct link to certificate image Status: "Sent" Email Notification: Professional HTML template Personalized congratulations message Direct download button Certificate details table LinkedIn sharing encouragement Performance Processing Time:** 5-10 seconds per certificate Daily Capacity:** 250+ certificates (limited by free tier quotas) Image Resolution:** 1200x850px (print-ready) File Size:** ~200-400 KB per PNG Email Delivery:** ~98% success rate Troubleshooting Webhook not receiving data Verify webhook URL is correct Check n8n workflow is activated Ensure POST method is used Validate JSON format Email validation fails Use real email domains (not example.com) Check VerifiEmail API quota Verify API credentials are correct Test with gmail.com addresses first Certificate not generating Check required fields are present Verify date format is YYYY-MM-DD Review "Generate HTML Certificate" node logs Ensure HTMLcsstoImg API key valid Image conversion fails Verify HTMLcsstoImg credits available Check HTML syntax is valid Review API response in execution logs Test HTML locally first Email not delivered Confirm Gmail OAuth2 connected Check recipient email is valid Review spam/junk folders Verify Gmail daily limit not exceeded Google Sheets not updating Re-authenticate Google Sheets OAuth2 Verify spreadsheet permissions Check column names match exactly Ensure sheet exists and is accessible Best Practices Test with small batches before production rollout Monitor API quotas to avoid unexpected failures Use real email addresses during testing (avoid disposable) Archive old certificates periodically from Google Sheets Set up Slack notifications for error monitoring Validate webhook payload before sending Document customizations for team reference Back up Google Sheets regularly Review email deliverability weekly Keep credentials secure and rotate periodically Security Notes All API credentials encrypted in n8n Certificate URLs are publicly accessible via direct link Email validation prevents delivery to fraudulent addresses Webhook uses HTTPS for secure data transmission Google Sheets access controlled via OAuth2 permissions No sensitive data stored in workflow logs Future Enhancements PDF output option for formal certifications Multiple certificate templates (modern, classic, minimalist) QR code verification system Batch certificate generation Multi-language support Certificate revocation capability Analytics dashboard WhatsApp/SMS delivery option Integration with Notion/Confluence knowledge bases Support Resources n8n Documentation n8n Community Forum VerifiEmail Docs HTMLcsstoImage API Gmail API Reference Google Sheets API License This workflow template is provided as-is for free use and modification under the MIT License. Attribution appreciated but not required. Version: 1.0.0 Last Updated: October 2025 Compatibility: n8n v1.0.0+
by Yanagi Chinatsu
Who's it for? This template is perfect for teams, communities, or anyone who wants a fun, automated way to remember and celebrate birthdays. If you love space and want to make someone's special day a little more cosmic, this is for you. It's a great way to boost morale and ensure no one's birthday is forgotten. How it works / What it does The workflow runs automatically every morning. It reads a list of birthdays from your Google Sheet and checks if any match the current date. If a match is found, it fetches the latest Earth image from NASA's EPIC API and uses an AI model to generate a unique, space-themed birthday greeting. Finally, it sends a personalized HTML email to the birthday person and posts a celebratory message in your designated Slack channel. Requirements A Google Sheet with columns for Name, Email, and Birthday (in a format like YYYY-MM-DD). Credentials for Google Sheets, Gmail, OpenAI, and Slack configured in your n8n instance. How to set up Configure Credentials: Add your API credentials for Google (for both Sheets and Gmail), OpenAI, and Slack in the respective nodes. Set Up Google Sheet: In the "Get Birthday Roster" node, enter your Google Sheet ID and the name of the sheet where the birthday list is stored. Configure Slack: In the "Post Slack Notification" node, select the channel where you want birthday announcements to be posted. Activate Workflow: Save and activate the workflow. It will now run automatically every day! How to customize the workflow Change the schedule: Modify the CRON expression in the "Every Morning at 7:00" node to change when the workflow runs. Adjust the AI prompt: Edit the system message in the "Generate Space Birthday Message" node to alter the tone, length, or style of the AI-generated greetings. Customize the email design: Modify the HTML in the "Send Birthday Email" node to change the look and feel of the birthday message.
by Rahul Joshi
Description This workflow intelligently analyzes incoming Gmail emails, classifies intent using GPT-4, and sends real-time Slack notifications while logging structured data into Google Sheets. It provides a smart, AI-assisted communication workflow that saves time and ensures no important email is overlooked. 🤖💌📊 What This Template Does Monitors Gmail for unread or new incoming emails. 📥 Extracts sender, subject, and body content for processing. ✉️ Uses GPT-4 to analyze email intent and determine priority. 🧠 Formats key insights (sender, summary, intent, urgency). 🧾 Posts structured summaries and priority alerts in Slack. 💬 Logs all processed emails with classification results in Google Sheets. 📊 Sends error notifications in case of API or parsing failures. 🚨 Key Benefits ✅ AI-driven email intent classification for smarter response handling. ✅ Seamless Slack notifications for high-priority or urgent emails. ✅ Maintains a centralized record of email insights in Google Sheets. ✅ Reduces response time by surfacing critical messages instantly. ✅ Minimizes manual email triage and improves team productivity. Features Real-time Gmail monitoring for unread emails. AI-based classification using GPT-4. Slack notifications with rich formatting and urgency tagging. Google Sheets logging for tracking and analytics. Built-in error handling with notification alerts. Modular setup for easy credential reuse across projects. Requirements Gmail OAuth2 credentials with inbox read access. Slack Bot token with chat:write and channels:history scopes. Google Sheets OAuth2 credentials for data logging. Azure OpenAI (or OpenAI GPT-4) API credentials. n8n instance (cloud or self-hosted). Target Audience Customer support teams managing shared inboxes. Operations teams tracking email-based requests. Sales or marketing teams prioritizing inbound leads. AI automation enthusiasts optimizing email workflows. Remote teams using Slack for real-time updates. Step-by-Step Setup Instructions Connect your Gmail, Slack, Google Sheets, and GPT-4 credentials in n8n. 🔑 Specify the Gmail search filter (e.g., is:unread) for tracking new emails. 📬 Add your Slack channel ID in the notification node. 💬 Set your Google Sheet ID and tab name for logging results. 📊 Run once manually to verify connection and output structure. ✅ Enable the workflow for continuous, real-time execution. 🚀
by Jan Zaiser
This n8n template demonstrates how to automatically process incoming invoice emails using AI to extract structured data, organize files in Google Drive, log everything in Google Sheets, and forward to your accounting system, completely hands-free. Use cases are many: Perfect for freelancers managing client invoices, small businesses handling supplier bills, accounting departments processing high invoice volumes, or anyone who wants to eliminate manual data entry and maintain a perfectly organized invoice archive! Good to know The AI extraction works with most standard invoice formats but may require prompt adjustments for unusual layouts. Ensure your IMAP email account allows external app connections and has sufficient storage for the archive folder. Google Drive folder structure is automatically created if it doesn't exist yet. How it works The IMAP Email trigger monitors your inbox for new messages with attachments. JavaScript splits multiple attachments into separate items, ensuring each invoice is processed individually. PDF text extraction reads the content from each invoice file. An AI model (like OpenAI or Gemini) analyzes the extracted text and identifies key fields: company name, invoice number, date, amount, VAT, and more. Additional date metadata is generated (month, year, formatted dates) for smart categorization. The invoice PDF is uploaded to a temporary "Incoming Files" folder on Google Drive for safe processing. The workflow searches for or creates the correct monthly folder (e.g., "Invoices / October 2025") in your Drive structure. The invoice is moved to the final destination with a clean, standardized filename: 2025-10-02_Company-Name_InvoiceNumber.pdf. All extracted data is logged to Google Sheets for easy tracking, reporting, and audit trails. The finalized invoice is forwarded to your DateV accounting email inbox. The original email is automatically moved to an archive folder, keeping your inbox clean and organized. How to use The IMAP trigger is configured for continuous monitoring, but you can adjust the polling interval based on your needs. Customize the AI prompt to match your specific invoice formats or extract additional fields relevant to your business. The folder structure on Google Drive can be modified to match your existing organization system. Requirements IMAP-enabled email account (Gmail, Outlook, or any email provider supporting IMAP) Google Drive account for file storage Google Sheets for invoice logging AI model access (OpenAI, Gemini, or compatible LLM for data extraction) DateV email address (or replace with your preferred accounting system) Customising this workflow Replace the DateV email step with integrations to other accounting platforms like Xero, QuickBooks, or Lexoffice. Add conditional logic to route different invoice types to different folders or sheets. Extend the AI extraction to include line items, payment terms, or custom fields specific to your industry. Connect additional notifications via Slack, Teams, or SMS when high-value invoices are received. Disclaimer: The node to move the e-mail is a community-node, so it’s only for self-hosting.
by Jordan Hoyle
🤖 AI-Powered Job Matcher & Resume Customizer Description This advanced workflow automates the entire job search and preparation process, moving beyond simple notifications to provide AI-driven career intelligence. It connects to LinkedIn to scrape fresh job postings, filters against jobs you've already seen, and then uses powerful LLMs (Mistral Large/Small) to perform a detailed resume-to-job match, generate tailored cover letters, and provide concrete resume improvement suggestions. All data is logged into a Google Sheet for comprehensive tracking, and a clean, single Daily Digest Email summarizes the top 5 matches found each day. ✨ Key Features Automated Scheduling:** Runs daily to find new job postings. Multi-Keyword Search:** Uses your main job title and three alternate titles generated by an AI Agent for maximum search coverage. LinkedIn Web Scraping:** Pulls new job URLs, details, location, and salary data from LinkedIn Search results. Duplicate Prevention:* Uses the *Compare Datasets** node to ensure only new, unseen jobs are processed against your master Google Sheet. Intelligent Matching (LLM):** The workflow performs a detailed job-to-resume comparison, generating: A Match Score (0-100) with evidence for alignment in skills, experience, and domain. A Tailored Cover Letter specific to the job title and company. Actionable Resume Improvement points (e.g., [ADD], [QUANTIFY]) to optimize your resume for the specific role. Centralized Tracking:* Saves all job data, match scores, cover letters, and resume suggestions to a *Google Sheet**. Professional Daily Digest:* Sends a single, clean *HTML email** summarizing the top 5 highest-scoring job matches for easy review. 🛠️ Prerequisites n8n Credentials: Google Drive: To download your resume (PDF/DOCX file URL). Google Sheets: To connect to your job tracking sheet. Gmail: To send the daily digest email. Mistral Cloud: For the LLM processing (Resume Breakdown, Job Matching, and Resume Analysis). External Files: A Job Tracking Google Sheet (used as a master database). Your current Resume file (PDF recommended, hosted on Google Drive). Setup Notes: Update the file links (Download Resume node) and Google Sheet details (Get row(s)/Append nodes). Set your personal email address in the Send Digest Email node. Review the LLM prompts to tailor the AI agent's persona and output fields to your exact needs.
by franck fambou
Overview This comprehensive workflow transforms Excel spreadsheets into professional, AI-generated reports with automated analysis and insights. Whether you're dealing with financial data, customer tracking, sales metrics, inventory management, or any structured data in Excel format, this template leverages artificial intelligence to create detailed, actionable reports with visualizations and key findings. How It Works Automated Report Generation Pipeline: File Processing Trigger**: Workflow initiates when Excel files are uploaded through a web form or file system Data Extraction & Validation**: Automatically reads Excel sheets, validates data structure, and identifies key metrics AI-Powered Analysis**: Uses advanced language models to analyze data patterns, trends, and anomalies Report Generation**: Creates comprehensive reports with executive summaries, detailed analysis, and actionable recommendations Multi-Format Output**: Generates reports in various formats (PDF, HTML, Word) with embedded charts and visualizations Automated Distribution**: Sends completed reports via email or saves to designated cloud storage locations Setup Instructions Estimated Setup Time: 10-15 minutes Prerequisites n8n instance (v0.200.0 or higher) OpenAI/Claude API key for AI analysis Email service credentials (for report distribution) Cloud storage access (Google Drive, Dropbox, etc.) - optional Configuration Steps Configure File Input Trigger Set up webhook or file system trigger for Excel file uploads Configure accepted file formats (.xlsx, .xls, .csv) Add file size and validation checks Setup Data Processing Nodes Configure Excel file reader with sheet selection options Set up data validation and cleaning processes Define column mapping and data type recognition Configure AI Analysis Engine Add your AI service API credentials (OpenAI, Anthropic, etc.) Customize analysis prompts based on your data types Set up context-aware report generation parameters Setup Report Generation Configure report templates for different data types Set up chart generation and data visualization options Define output formats and styling preferences Configure Distribution Channels Set up email service for automated report delivery Configure cloud storage integration for report archiving Add notification systems for completion alerts Use Cases Financial Reporting Budget Analysis**: Analyze spending patterns and budget variance reports P&L Statements**: Generate profit and loss summaries with trend analysis Cash Flow Reports**: Create comprehensive cash flow analysis with forecasting Expense Tracking**: Automated expense categorization and spending insights Sales & CRM Analytics Sales Performance**: Generate sales team performance reports with KPIs Customer Analysis**: Create customer segmentation and lifetime value reports Lead Tracking**: Analyze conversion funnels and lead quality metrics Territory Management**: Regional sales analysis and market penetration reports Operations Management Inventory Reports**: Stock level analysis with reorder recommendations Project Tracking**: Progress reports with timeline and resource analysis Quality Metrics**: Performance dashboards with trend identification Resource Planning**: Capacity utilization and allocation reports HR & Administrative Employee Performance**: Generate comprehensive performance review reports Attendance Tracking**: Analyze attendance patterns and productivity metrics Training Records**: Skills gap analysis and training effectiveness reports Compliance Reporting**: Regulatory compliance status and audit reports Key Features Intelligent Data Recognition**: Automatically identifies data types and relationships Contextual Analysis**: AI provides industry-specific insights and recommendations Professional Formatting**: Clean, corporate-ready report layouts Interactive Visualizations**: Embedded charts, graphs, and data visualizations Executive Summaries**: AI-generated executive summaries highlighting key findings Trend Analysis**: Historical data comparison and future projections Anomaly Detection**: Automatically flags unusual patterns or outliers Multi-Language Support**: Generate reports in multiple languages Batch Processing**: Handle multiple files simultaneously Error Handling**: Robust error management with detailed logging Technical Requirements n8n instance with sufficient memory for Excel processing (minimum 2GB RAM recommended) AI service API access (OpenAI GPT-4, Claude, or similar) Email service (Gmail, Outlook, SendGrid, etc.) Optional: Cloud storage service credentials Stable internet connectivity for AI API calls Supported Data Types Financial Data**: Revenue, expenses, budgets, forecasts Sales Data**: Transactions, leads, customer information, pipeline data Operational Data**: Inventory, production metrics, quality scores HR Data**: Employee records, performance metrics, attendance Marketing Data**: Campaign metrics, conversion rates, ROI analysis Custom Data**: Any structured Excel data with clear column headers Output Options PDF Reports**: Professional PDF documents with embedded charts HTML Dashboards**: Interactive web-based reports Word Documents**: Editable Word reports with tables and charts Excel Summaries**: Enhanced Excel files with analysis sheets PowerPoint Presentations**: Executive presentation slides Advanced Features Custom Branding**: Add your company logo and branding to reports Scheduled Processing**: Set up automated report generation schedules Template Customization**: Create custom report templates for different data types Integration Ready**: Easy integration with existing business systems Audit Trail**: Complete logging of all processing steps and data changes Support & Troubleshooting For optimal performance, ensure your Excel files have clear column headers and consistent data formatting. The AI analysis works best with clean, well-structured data. For complex financial calculations, verify results against your existing systems during initial setup.
by Khairul Muhtadin
Promo Seeker automatically finds, verifies, and delivers active promo codes to users via Telegram or email using SerpAPI + Gemini (OpenRouter). Saves hours of manual searching and deduplicates results into an n8n Data Table for fast reuse. Why Use This Workflow? Time Savings: Reduces manual promo hunting from 2 hours to 5 minutes per query. Cost Reduction: Cuts reliance on paid scraping tools or manual services — potential savings of $50–$200/month. Error Prevention: Cross-references sources and enforces a 30‑day recency filter to reduce expired-code hits by ~60% vs single-source checks. Scalability: Handles hundreds of queries per day with Data Table upserts and optional scheduling for continuous discovery. Ideal For Marketing / Growth Managers:** Quickly discover competitor or partner discounts to promote in campaigns. Customer Support / Operations:** Respond to user requests with verified promo codes via Telegram or email. Affiliate / Content Teams:** Aggregate and maintain a clean promo feed for newsletters or site widgets. How It Works Trigger: Incoming request via Webhook, Telegram message, Google Form submission, or scheduled run. Data Collection: The LangChain agent uses SerpAPI search results and Gemini (OpenRouter) to locate recent promo codes. Processing: Filter for recency (last 30 days), extract code, value, terms, and expiry. Intelligence Layer: Gemini 2.5 Pro (OpenRouter) + LangChain agent structure and verify results, outputting a standardized JSON. Output & Delivery: If a code exists in the Data Table, notify the requester via Telegram and Gmail; otherwise, return results and upsert them into the Data Table. Storage & Logging: Results stored/upserted in an n8n Data Table to prevent duplicates and enable fast lookups. Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Execute the workflow — import JSON to your n8n instance | | SerpAPI account | Essential | Web search results for promo code discovery | | OpenRouter (Gemini) account | Essential | Language model (Gemini 2.5 Pro) for extraction and verification | | Telegram Bot (BotFather) | Essential | Receive queries and send promo notifications | | Gmail OAuth2 | Essential | Send rich email notifications | | n8n Data Tables | Essential | Store and deduplicate promo code records | Get your n8n instance here: n8n instance — import the JSON and begin configuration. (Repeat link for convenience) n8n instance Installation Steps Import the JSON workflow into your n8n instance. Configure credentials (use n8n's Credentials UI — do NOT paste keys into nodes): SerpAPI: paste your SerpAPI API Key from your SerpAPI dashboard. OpenRouter API: paste your OpenRouter API Key (for Gemini 2.5 Pro). Telegram API: create bot via @BotFather, then add Bot Token to Telegram credentials. Gmail OAuth2: use n8n's Gmail OAuth2 credential flow and authorize the account. Update environment-specific values: Webhook path: /v1/promo-seeker (configured in the Webhook node) or replace with your preferred path. Data Table ID: point to your own Data Table Form/webhook recipient fields (email/chatId mappings). Customize settings: Adjust the LangChain agent prompt (Promo Seeker Agent) for different recency windows or regional focus. Change max results/limit on the Data Table node (default limit = 3). Test execution: Trigger via Telegram or a POST to the webhook with sample payload: { "platform":"example.com", "email":"you@domain.com" } Confirm notifications arrive and Data Table rows are upserted. Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | SerpAPI | Fetch web search results | Provide credential; adjust search params in agent prompt | | Gemini 2.5Pro (OpenRouter) | Extract & verify promo details | Use OpenRouter credential; model google/gemini-2.5-pro | | Promo Seeker Agent (LangChain) | Orchestrates search + parsing | System prompt enforces 30‑day recency & result format | | Structured Output Parser | Validates agent output | JSON schema example for platform/code/value/terms/validUntil | | Data Table (Get row(s)) | Lookup existing promos | Filters by platform; limit = 3 | | If (Code Exist?) | Branching logic | Checks existence of platform field | | Data Table (Upsert row(s)) | Insert or update promo | Mapping from agent output to Data Table columns | | Telegram Trigger / Telegram | Receive queries & notify users | Webhook-based trigger; parse_mode = HTML for messages | | Gmail | Send rich HTML emails | Uses Gmail OAuth2 credential | | Webhook / Form Trigger | Alternate inputs | Webhook path /v1/promo-seeker and Form trigger for manual submissions | Workflow Logic On trigger, the Platform Set node normalizes the incoming query and receiver. Get row(s) checks Data Table for existing promos. If found: notify via Telegram and send Gmail (email template included). If not found: the Promo Seeker Agent runs SerpAPI searches, parses structured output, then Upsert row(s) saves results and notifications are sent. Structured Output Parser enforces correct JSON to avoid bad upserts. Customization Options Basic Adjustments Recency window: change the agent prompt to 7/14/30 days. Result limit: increase Data Table Get limit or change Upsert batch size. Advanced Enhancements Add Slack or Microsoft Teams notifications (moderate complexity). Add caching layer (Redis) to reduce repeated SerpAPI calls (advanced). Parallelize searches across multiple search engines (higher API usage & complexity). Performance & Optimization | Metric | Expected Performance | Optimization Tips | |--------|----------------------|-------------------| | Execution time | 8–30s per new search (depends on SerpAPI + LM response) | Reduce SerpAPI page depth; cache recent results | | API calls | 3–10 SerpAPI calls per complex query | Batch queries; use higher-quality search params | | Error handling | Agent retries on malformed output | Use retry nodes and set onError strategy for downstream nodes | Troubleshooting | Problem | Cause | Solution | |---------|-------|----------| | No results returned | Query too vague or rate-limited API | Improve query specificity; check SerpAPI quota | | Gmail send fails | OAuth scope not granted or token expired | Reconnect Gmail OAuth2 credential in n8n | | Telegram webhook not firing | Incorrect bot token or webhook setup | Recreate Telegram credential and check bot permissions | | Duplicate rows | Upsert mapping mismatch | Ensure promoCode mapping in Upsert matches structured output | | Agent returns malformed JSON | LM prompt too permissive | Tighten the agent system prompt and validate with Structured Output Parser | Created by: khaisa Studio Category: Marketing Automation Tags: promo-codes, coupons, serpapi, telegram, gmail, openrouter, data-tables Need custom workflows or help adapting this template? Contact us
by Avkash Kakdiya
How it works This workflow monitors customer health by combining payment behavior, complaint signals, and AI-driven feedback analysis. It runs on daily and weekly schedules to evaluate risk levels, escalate high-risk customers, and generate structured product insights. High-risk cases are notified instantly, while detailed feedback and audit logs are stored for long-term analysis. Step-by-step Step 1: Triggers & mode selection** Daily Risk Check Trigger – Starts the workflow on a daily schedule. Weekly schedule1 – Triggers the workflow for weekly summary runs. Edit Fields3 – Sets flags for daily execution. Edit Fields2 – Sets flags for weekly execution. Switch1 – Routes execution based on daily or weekly mode. Step 2: Risk evaluation & escalation** Fetch Customer Risk Data – Pulls customer, payment, product, and complaint data from PostgreSQL. Is High Risk Customer? – Evaluates payment status and complaint count. Prepare Escalation Summary For Low Risk User – Assigns low-risk status and no-action details. Prepare Escalation Summary For High Risk User – Assigns high-risk status and escalation actions. Merge Risk Result – Combines low-risk and high-risk customer records. Send a message4 – Sends the customer risk summary via Gmail. Send a message5 – Sends the same risk summary to Discord. Code in JavaScript3 – Appends notification status and timestamps. Append or update row in sheet3 – Logs risk evaluations and notification status in Google Sheets. Step 3: AI feedback & reporting** Get row(s) in sheet1 – Fetches customer records for feedback analysis. Loop Over Items1 – Processes customers one by one. Prompt For Model1 – Builds a structured prompt for product feedback analysis. HTTP Request1 – Sends data to the AI model for insight generation. Code in JavaScript – Merges AI feedback with original customer data. Append or update row in sheet – Stores AI-generated feedback in Google Sheets. Wait1 – Controls execution pacing between records. Merge1 – Prepares consolidated feedback data. Send a message1 – Emails the final AI-powered feedback report. Why use this? Detect customer churn risk early using payment and complaint signals Automatically escalate high-risk customers without manual monitoring Convert raw customer issues into executive-ready product insights Keep a complete audit trail of risk, feedback, and notifications Align support, product, and leadership teams with shared visibility
by Țugui Dragoș
This workflow automatically collects customer reviews from Google, Facebook, Trustpilot, and Yelp, analyzes their sentiment using AI, sends real-time alerts for negative feedback, and generates a weekly summary report. It is ideal for businesses that want to monitor their online reputation across multiple platforms and respond quickly to customer concerns. How It Works Daily Schedule**: Triggers the workflow every day at 09:00. Review Collection**: Fetches new reviews from Google, Facebook, Trustpilot, and Yelp using their official APIs. Data Normalization**: Merges and standardizes all reviews into a unified format. AI Sentiment Analysis**: Uses GPT-4 to analyze the sentiment and extract key insights from each review. Negative Review Alerts**: Sends a Slack notification to managers if a negative review is detected. Logging**: Saves all reviews and their analysis to a Google Sheet for record-keeping. Weekly Reporting**: Every Monday, aggregates the past week’s reviews, generates an AI-powered summary, and emails it to management. Configuration API Credentials: Google My Business API: Create a project in Google Cloud, enable the My Business API, and generate OAuth credentials. Facebook Graph API: Create a Facebook App, request the necessary permissions, and obtain a Page Access Token. Trustpilot API: Register for a Trustpilot Business account and generate an API key. Yelp Fusion API: Sign up for Yelp Fusion, create an app, and get your API key. OpenAI API: Create an account at OpenAI, generate an API key for GPT-4 access. Slack API: Create a Slack App, enable Incoming Webhooks, and get the webhook URL. Google Sheets API: Enable the Google Sheets API in Google Cloud and create OAuth credentials. Set Up Environment Variables: Add all API keys, tokens, and configuration values in the Workflow Configuration node or as n8n credentials. Google Sheet Setup: Create a Google Sheet with columns for review data and share it with your service account email. Slack Channel: Set up a Slack channel for alerts and add the webhook URL in the configuration. Email Settings: Configure the recipient email address for weekly reports in the workflow. Usage Activate the workflow after configuration. Reviews will be collected and analyzed daily. Negative reviews trigger instant Slack alerts. Every Monday, a summary report is sent via email. Use Case: Monitor and respond to customer feedback across Google, Facebook, Trustpilot, and Yelp, automate sentiment analysis, and keep management informed with actionable weekly insights.
by Nguyen Thieu Toan
Smart email forwarder Zoho mail to Gmail with attachment, analysis by AI agent This n8n template automatically monitors a Zoho Mail inbox, analyzes every incoming email with Google Gemini AI, then forwards it — including all attachments — to a designated recipient via Gmail. The admin receives an instant smart digest on Telegram with priority level, deadline, and required action extracted by AI. If you manage a shared inbox and waste time triaging emails before forwarding them, this workflow does it for you — automatically. How it works Zoho Mail Trigger:** Detects new incoming emails matching a configured list of sender addresses. AI Analysis:* *Google Gemini reads the email subject and summary, then classifies the email type, assigns a priority level (High / Medium / Low), extracts deadlines, key numbers, and required actions — all returned as structured JSON. HTML Builder:* Assembles the forwarded email body with an *AI analysis panel** embedded at the top, shared across both sending paths. Attachment handling:* If the email has attachments, the workflow fetches each file via the *Zoho Mail API, renames binary keys to prevent collision, aggregates all files, then attaches them to the outgoing Gmail. Gmail:** Forwards the formatted email — with or without attachments — to the configured recipient. Telegram:** Sends the admin a structured, emoji-rich notification with all AI-extracted data, so decisions can be made without opening the email. How to use Connect credentials: Link your Zoho Mail, Gmail, Google Gemini (googlePalmApi), and Telegram Bot credentials in n8n. Configure in one place: Open the Set Context node and fill in all 6 fields — recipient email, subject prefix, Telegram chat ID, footer text, AI role description, and email category options. Set sender filter: Edit the Zoho Mail Trigger node and update the from field with the sender addresses you want to monitor. Activate the workflow — it runs automatically on every new matching email. Requirements n8n Version:* Built and tested on *n8n 2.9.4+*. *(It is recommended to use the latest n8n version for best compatibility.) Zoho Mail** account with OAuth2 credentials and API access enabled. Gmail** account connected via OAuth2. Google Gemini** API key (via googlePalmApi credential). Telegram Bot** token and a target chat ID. Customizing this workflow Different inbox:* Swap the *Zoho Mail Trigger for a Gmail Trigger, IMAP, or any other email node — the rest of the workflow remains unchanged. Different AI behavior:* Change ai_context and ai_type_options in *Set Context** to adapt the AI to any domain (legal, finance, HR, support) — no prompt editing needed elsewhere. Different notification channel:* Replace the *Telegram node with Slack, Discord, or Microsoft Teams. Persistent storage:* Add a *Google Sheets* or *Airtable** node after Telegram to log every forwarded email with its AI analysis for audit purposes. About the Author Created by: Nguyễn Thiệu Toàn (Jay Nguyen) Email: me@nguyenthieutoan.com Website: nguyenthieutoan.com Company: GenStaff (genstaff.net) Socials (Facebook / X / LinkedIn): @nguyenthieutoan More templates: n8n.io/creators/nguyenthieutoan