by Avkash Kakdiya
How it works This workflow monitors Meta Ads and Google Ads campaigns on a daily schedule to detect performance drops. It fetches yesterday’s campaign data, standardizes metrics, and calculates CTR and ROAS against fixed benchmarks. Campaigns that fall below thresholds are flagged automatically. Alerts are then sent across multiple channels and all results are logged in Google Sheets for tracking. Step-by-step Step 1: Fetch ad performance data** Schedule Trigger (Daily Ad Check2) – Runs the Meta Ads performance check at the scheduled time. HTTP Request (Fetch Meta Ads Data) – Retrieves campaign metrics from the Meta Ads API. Set (Set Benchmarks) – Normalizes Meta Ads data and assigns platform details. Schedule Trigger (Daily Ad Check3) – Runs the Google Ads performance check at a separate scheduled time. Google Ads (Get many campaigns) – Fetches campaign performance data from Google Ads. Set (Set Benchmarks4) – Normalizes Google Ads data and assigns platform details. Step 2: Detect performance drops** Code (Detect Performance Drop) – Calculates CTR and ROAS, compares them with predefined benchmarks, and flags drops. If – Filters only campaigns where a performance drop is detected. Split In Batches (Loop Over Items) – Processes each affected campaign individually. Step 3: Alert and log results** WhatsApp (Send message1) – Sends instant WhatsApp alerts for critical visibility. Slack (Send a message) – Posts detailed alerts to a Slack channel. Gmail (Send a message4) – Sends email notifications with full campaign metrics. Code (Code in JavaScript) – Recombines campaign data after notifications. Wait (Wait1) – Ensures alert delivery before logging. Google Sheets (your-google-sheets-name) – Appends or updates campaign records for reporting and audit history. Why use this? Catch CTR and ROAS drops before ad spend is wasted. Monitor Meta Ads and Google Ads in a single automated flow. Notify teams instantly via WhatsApp, Slack, and Email. Keep a centralized performance log for analysis and reporting. Reduce manual checks with consistent daily monitoring.
by Jitesh Dugar
Automated AI-Powered Testimonial Processing & Social Media Workflow Overview: This comprehensive workflow automates the entire testimonial collection and publishing process, from submission to social media-ready content. It uses AI to enhance testimonials, generates beautiful branded cards, and implements an approval system before posting. Key Features: ✅ Webhook-based submission - Accept testimonials via API 🤖 AI Enhancement - GPT-4 polishes grammar while maintaining authenticity 🎨 Automated Design - Generates professional 800x600px testimonial cards ☁️ Cloud Storage - Uploads to Google Drive with organized naming 📊 Database Logging - Tracks all testimonials in Google Sheets 🔔 Team Notifications - Slack alerts for new and approved testimonials ✅ Approval Workflow - Manual review before social media posting 🔄 Scheduled Checker - Auto-detects approved testimonials every 5 minutes Workflow Steps: Main Flow (Testimonial Processing): Receives testimonial via webhook (POST request) Validates and cleans data (name, testimonial, photo, email) Enhances testimonial using GPT-4 Turbo Generates HTML template with customer details Converts HTML to PNG image (800x600px) Uploads image to Google Drive Logs all data to Google Sheets with "Pending Approval" status Sends Slack notification to review team Approval Flow (Scheduled Check): Runs every 5 minutes automatically Checks Google Sheets for approved testimonials Filters testimonials not yet posted Sends ready-to-post Slack notification with formatted text Marks testimonial as processed in database Use Cases: SaaS companies collecting customer feedback Marketing agencies managing client testimonials E-commerce businesses showcasing reviews Course creators featuring student success stories Any business automating social proof collection What Makes This Workflow Special: Zero manual design work** - Beautiful cards generated automatically AI-powered quality** - Professional grammar enhancement Audit trail** - Complete tracking in Google Sheets Approval control** - Review before publishing Duplicate prevention** - Smart matching by Drive ID Flexible input** - Accepts multiple field name variations 🔧 Required Integrations: OpenAI API (GPT-4 Turbo) - AI testimonial enhancement HTML/CSS to Image API - Screenshot generation Google Drive OAuth2 - Image storage Google Sheets OAuth2 - Database management Slack API - Team notifications 📋 Prerequisites: n8n instance (self-hosted or cloud) OpenAI API key (https://platform.openai.com) HTML/CSS to Image account (https://htmlcsstoimg.com) - Free tier available Google Cloud project with Drive & Sheets API enabled Slack workspace with app permissions 🚀 Setup Instructions: 1. Import Workflow Download the JSON file Import into your n8n instance Replace placeholder credentials (see below) 2. Configure Credentials Add these credentials in n8n: OpenAI API** - Your API key htmlcsstoimgApi** - User ID and API key Google Drive OAuth2** - Configure OAuth app Google Sheets OAuth2** - Same Google Cloud project Slack API** - Create Slack app with chat:write scope 3. Update Configuration Replace in the JSON: Google Drive Folder ID** - Your testimonial storage folder Google Sheets ID** - Your database spreadsheet Slack Channel ID** - Your notification channel 4. Test the Workflow Send a POST request to your webhook URL: { "name": "Sarah Johnson", "designation": "Marketing Director", "photo_url": "https://i.pravatar.cc/400?img=5", "testimonial_text": "Working with this team was amazing!", "email": "sample@gmail.com" } 📊 Google Sheets Setup: Create a Google Sheet with these columns: Timestamp Name Designation Original Testimonial Testimonial (Enhanced) Image Link Drive ID Status Email Original Length Enhanced Source Posted to Social Posted At 🎨 Customization Options: Modify AI prompt for different enhancement styles Change HTML template colors/design Add more validation rules Integrate with Twitter/LinkedIn APIs for auto-posting Add email notifications instead of Slack Include rating/score system Add custom approval fields 🆘 Troubleshooting: Webhook not receiving data: Check webhook URL is correct Verify HTTP method is POST Ensure Content-Type is application/json AI enhancement failing: Verify OpenAI API key is valid Check API usage limits Ensure sufficient credits Image not generating: Confirm htmlcsstoimg credentials are correct Check HTML template has no errors Verify you haven't exceeded free tier limit Google Drive upload failing: Re-authenticate OAuth2 connection Check folder ID is correct Verify folder permissions 🏆 Perfect For: Marketing teams Customer success teams Product managers Social media managers Growth hackers Agency owners ⚖️ License: Free to use and modify for personal and commercial projects.
by OwenLee
📚In the social and behavioral sciences (e.g., psychology, sociology, economics, management), researchers and students often need to normalize academic paper metadata and extract variables before any literature review or meta-analysis. 🧩This workflow automates the busywork. Using an LLM, it processes CSV/XLSX/XLS files (exported from WoS, Scopus, EndNote, Zotero, or your own spreadsheets) into normalized metadata and extracted variables, and writes a neat table to Google Sheets. 🔗 Example Google Sheet: click me 👥 Who is this for? 🎓 Undergraduate and graduate students or researchers in soft-science fields (psychology, sociology, economics, business) ⏱️ People who don’t have time to read full papers and need quick overviews 📊 Anyone who wants to automate academic paper metadata normalization and variable extraction to speed up a literature review ⚙️ How it works 📤 Upload an academic paper file (CSV/XLSX/XLS) in chat. 📑 The workflow creates a Google Sheets spreadsheet with two tabs: Checkpoint and FinalResult. 🔎 A structured-output LLM normalizes core metadata (title, abstract, authors, publication date, source) from the uploaded file and writes it to Checkpoint; 📧 a Gmail notification is sent when finished. 🧪 A second structured-output LLM uses the metadata above to extract variables (Independent Variable, Dependent Variable) and writes them to FinalResult; 📧 you’ll get a second Gmail notification when done. 🛠️ How to set up 🔑 Credentials Google Sheets OAuth2** (read/write) Gmail OAuth2** (send notifications) Google Gemini (or any LLM you prefer)** 🚀 Quick start Connect Google Sheets, Gmail, and Gemini (or your LLM) credentials. Open File Upload Trigger → upload your CSV/XLSX/XLS file and type a name in chat (used as the Google Sheets spreadsheet title). Watch your inbox for status emails and open the Google Sheets spreadsheet to review Checkpoint and FinalResult. 🎛 Customization 🗂️ Journal lists: Edit the Journal Rank Classifier code node to add/remove titles. The default list is for business/management journals—swap it for a list from your own field. 🔔 Notifications: Replace Gmail with Slack, Teams, or any channel you prefer. 🧠 LLM outputs: Need different metadata or extracted data? Edit the LLM’s system prompt and Structured Output Parser. 📝 Note 📝 Make sure your file includes abstracts. If the academic paper data you upload doesn’t contain an abstract, the extracted results will be far less useful. 🧩 CSV yields no items? Encoding mismatches can break the workflow. If this happens, convert the CSV to .xls or .xlsx and try again. 📩 Help Contact: owenlzyxg@gmail.com
by Yaron Been
Stay ahead in your job search with this Automated Job Intelligence System! This workflow scans company career pages daily for new job listings, uses AI to analyze job relevance and seniority levels, and sends personalized email alerts for high-priority opportunities while maintaining a comprehensive job database. Perfect for job seekers, recruiters, and career coaches tracking ideal opportunities across target companies. What This Template Does Triggers daily at 9 AM to scan for new job opportunities. Retrieves company URLs from Google Sheets database. Uses Decodo scraper to extract job listings from career pages. Analyzes job data with AI to identify company names and positions. Converts job data into individual listing items for processing. Compares new jobs against existing database to filter duplicates. Uses AI to assign relevance scores, seniority levels, and tech stack analysis. Filters high-relevance jobs (score >8/10) for priority alerts. Stores all new jobs in Google Sheets for historical tracking. Sends personalized email alerts for high-relevance opportunities. Key Benefits Automated daily scanning of target company career pages AI-powered relevance scoring and job matching Duplicate prevention to avoid redundant notifications Comprehensive job database for tracking and analysis Personalized alerts for high-priority opportunities Time-saving automation for job search activities Features Daily automated scheduling for consistent monitoring AI-powered job extraction and data structuring Decodo web scraping for reliable career page access Intelligent relevance scoring and seniority analysis Duplicate detection and filtering Google Sheets integration for job tracking Personalized email alerts for premium opportunities Multi-company monitoring capability Historical job data maintenance Requirements Decodo API credentials for web scraping OpenAI API credentials for AI analysis Google Sheets OAuth2 credentials with edit access Gmail OAuth2 credentials for email alerts Slack Bot Token for error notifications (optional) Environment variables for configuration settings Target Audience Job seekers and career changers Recruitment and talent acquisition teams Career coaches and placement agencies HR professionals monitoring competitor hiring Technology professionals tracking market opportunities University career services and placement offices Step-by-Step Setup Instructions Connect Decodo API credentials for career page scraping Set up OpenAI credentials for job relevance analysis Configure Google Sheets with company URLs and job tracking sheets Add Gmail credentials for personalized job alerts Optional: Set up Slack for error notifications Populate company URLs in your Google Sheets database Test with sample companies to verify job extraction and analysis Customize relevance thresholds for your job preferences Activate for daily automated job intelligence monitoring Pro Tip: Use coupon code "YARON" to get 23K requests for testing (in Decodo) This workflow transforms your job search with automated intelligence, smart filtering, and personalized opportunity alerts!
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 Yassin Zehar
Description This workflow turns scattered user feedback into a structured product backlog pipeline. It collects feedback from three channels (Telegram bot, Google Form/Sheets, and Gmail), normalizes it, and sends it to an AI model that: Classifies the feedback (bug, feature request, question, etc.) Extracts sentiment and pain level Estimates business impact and implementation effort Generates a short summary Then a custom RICE-style priority score is computed, a Jira ticket is created automatically, a Notion page is generated for documentation, and a monthly product report is sent by email to stakeholders. It helps product & support teams move from “random feedback in multiple tools” to a repeatable, data-driven product intake process with zero manual triage. Context In most teams, feedback is: spread across emails, forms, and chat messages manually copy–pasted into Jira (when someone remembers) hard to prioritize objectively nearly impossible to review at the end of the month This workflow solves that by: Centralizing feedback from Telegram, Google Forms/Sheets, and Gmail Automatically normalizing all inputs into the same JSON structure Using AI to categorize, tag, summarize, and score each request Calculating a RICE-based priority adapted to your tiers (free / pro / enterprise) Creating a Jira issue with all the context and acceptance criteria Generating a Notion page for each feedback+ticket pair Sending a monthly “Product Intelligence Report” by email with insights & recommendations The result: less manual work, better prioritization, and a clear story of what users are asking for. Target Users This template is designed for: Product Managers and Product Owners SaaS teams with multiple feedback channels Support / CS teams that need a structured escalation path Project Managers who want objective, data-driven prioritization Any team that wants “feedback → backlog” automation without building a custom platform Technical Requirements You’ll need: Google Sheets credential Gmail credential Telegram Bot + Chat ID Google Form connected to a Google Sheet Jira credential (Jira Cloud) Notion credential OpenAI/ Anthropic credential for the AI analysis node An existing Jira project where tickets will be created A Notion database or parent page where feedback pages will be stored Workflow Steps The workflow is organized into four main sections: 1) Triggers (Multi-channel Intake) Telegram Trigger – Listens for new messages sent to your bot Google Form / Sheet Trigger – Listens for new form responses / rows Gmail Trigger – Listens for new emails matching your filter (e.g. [Feedback] in subject) All three paths send their payloads into a “Data Normalizer” node that outputs a unified structure: 2) Request Treated and Enriched (AI Analysis) Instant Reply (Telegram only) – Sends a quick “Thanks, we’re analysing your feedback” message User Enrichment – Enriches user tier based on mapping Message a Model (AI) classifies the feedback extracts tags scores sentiment, pain, business impact, effort generates a short summary & acceptance criteria JSON Parse / Merge – Merges AI output back into the original feedback object 3) Priority Calculation & Jira Ticket Creation Priority Calculator applies a RICE-style formula using: pain level business impact implementation effort user tier weight assigns internal priority: P0 / P1 / P2 / P3 maps to Jira priority: Highest / High / Medium / Low Create Jira Issue – Creates a ticket with: summary from AI description including raw feedback, AI analysis, and RICE breakdown labels based on tags priority based on the calculator Post-processing – Prepares a clean payload for notifications & logging IF (Source = Telegram) – Sends a rich Telegram message back to the user with: Jira key + URL category, priority, RICE score, tags, and estimated handling time Append to Google Sheet (Analytics Log) – Logs each feedback with: source, user, category, sentiment, RICE score, priority, Jira key, Jira URL Create Notion Page – Creates a documentation page linking: the feedback the Jira ticket AI analysis acceptance criteria 4) Monthly Reporting (Product Intelligence Report) Monthly Trigger – Runs once a month Query Google Sheet – Fetches all feedback logs for the previous month Aggregate Monthly Stats – Computes: feedback volume breakdown by category / sentiment / source / tier / priority average RICE, pain, and impact top P0/P1 issues and top feature requests Message a Model (AI) – Generates a written “Product Intelligence Report” with: executive summary key insights & trends top pain points strategic recommendations Parse Response: Extracts structured insights + short summary Create Notion Report Page with: metrics, charts-ready tables, insights, and recommendations Append Monthly Log to Google Sheet – Stores high-level stats for historical tracking Send Email with a formatted HTML report to stakeholders with: key metrics top issues recommendations link to the full Notion report Key Features Multi-channel intake: Telegram + Google Forms/Sheets + Gmail AI-powered triage: automatic category, sentiment, tags, and summary RICE-style priority scoring with tier weighting Automatic Jira ticket creation with full context Notion documentation for each feedback and for monthly reports Google Sheets analytics log for exploration and dashboards Monthly “Product Intelligence Report” sent automatically by email Designed to be adaptable: you can plug in your own labels, tiers, and scoring rules Expected Output When the workflow is running, you can expect: A Jira issue created automatically for each relevant feedback A confirmation email A Telegram confirmation message when the feedback comes from Telegram A Google Sheet filled with normalized feedback and scoring data A Notion page per feedback/ticket with AI analysis and acceptance criteria Every month: a Notion “Monthly Product Intelligence Report” page a summary email with key metrics and insights for your stakeholders How it works Trigger – Listens to Telegram / Google Forms / Gmail Normalize – Converts all inputs to a unified feedback format Enrich with AI – Category, sentiment, pain, impact, effort, tags, summary Score – Computes RICE-style priority and maps to Jira priority Create Ticket – Opens a Jira issue + Notion page + logs to Google Sheets Notify – Sends Telegram confirmation (if source is Telegram) Report – Once a month, aggregates everything and sends a Product Intelligence Report Tutorial Video Tutorial video: Watch the Youtube Tutorial video About me I’m Yassin a Project & Product Manager Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Limbraj More
Automate admin tasks for manufacturing companies by processing emails, extracting key data from invoices & purchase orders, and delivering instant alerts via Gmail and Telegram. 📝 Description This workflow automatically: Fetches incoming emails from Gmail Classifies emails (invoices, purchase orders, payment follow-up, etc.) using AI Sends tailored auto-replies based on content and attachment presence Extracts structured data from attached invoices/POs (PDFs etc.) Delivers alerts and document files to your team via Telegram Logs or routes data for further use in accounting or internal systems ⚙️ Pre-Conditions & Requirements Before using this workflow, you need: Gmail Account with API access (for OAuth2 authentication) Telegram Bot API Token (create a Telegram bot and get your API key) Optional: API credentials for Google Sheets or other data sinks if you want to log extracted data OpenRouter API credentials (for LLM-powered nodes, if used) Access to an n8n instance (cloud or self-hosted) 🛠 Setup Instructions Import the Workflow: Download the JSON file and import it into your n8n instance. Connect Accounts: Configure the Gmail Trigger node with your Gmail OAuth2 credentials Set up the Telegram node with your bot API token Set Required Variables: Adjust AI instructions or prompt text if needed (for your company’s tone/templates) Customize labels, keywords, or filters in code nodes for your use case Set target Telegram chat/group IDs Test the Workflow: Send a sample email with attachments to your Gmail account Confirm that emails are classified, replies are sent, and Telegram notifications/mobile alerts are delivered as expected Review and Connect Optional Modules: For logging or archiving extracted data, connect additional “Google Sheets” or “Webhook” nodes as needed 🧩 Customization Tips Modify Email Categories: Update AI prompt instructions or filters to add/change labels (“Vendor Query,” “Partial Payment,” etc.) Attachment Handling: Edit the code node logic to detect and process additional file types (DWG, XLSX, ZIP, etc.) Notification Logic: Change the Telegram destination or add Slack/Microsoft Teams for broader team alerts Data Logging: Add nodes for CRM, inventory, or ERP integration (push to your accounting or workflow management tool) Example AI Prompt (for categorization) text You are the personal emailing assistant for Zenith Engineering, a manufacturing company... Your tasks: Categorize each email by priority Draft polite, professional replies... Identify and label attachments such as invoices, POs, drawings Response should be a valid JSON object: {"Label":"Important", "Response":"..."} If you have any doubts and questions let me know : smonu2303@gmail.com from Pune. Linkedin: https://www.linkedin.com/in/raj-more-171560bb/
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 Bhuvanesh R
Instant, automated scheduling. This AI Scheduling Agent manages real-time appointments, availability checks, and rescheduling across Google Calendar and Sheets, eliminating human hold times. 🎯 Problem Statement Traditional call center or online booking systems often lack the flexibility to handle complex, multi-step customer requests like rescheduling, checking dynamic availability across multiple time slots, or handling context-aware conversational booking. This leads to friction, missed bookings, and high administrative overhead for service companies like HVAC providers. ✨ Solution This workflow deploys a sophisticated AI Scheduling Agent that acts as a virtual receptionist. It uses the Language Model's (LLM) "tool-use" capability to intelligently execute complex, sequential business logic (e.g., check availability before booking, find existing events before rescheduling) and manages the entire lifecycle of a service appointment, from initial inquiry to final confirmation. ⚙️ How It Works (Multi-Step Execution) Trigger: A customer request (e.g., from an external voice or text platform) hits the Webhook Trigger with intent details (e.g., tool\_request: 'reschedule\_appointment'). Agent Logic: The Receptionist Agent uses a strict system prompt and its internal tools to formulate an execution plan. It maintains conversational state via the simple-memory node. Tool Execution (Example: Reschedule): The Agent executes a predefined sequence of private tools: find\_old\_event: Locates the existing booking ID using the customer's email. check\_calendar: Verifies the proposed new time is available (2-hour window). reschedule\_appointment: Updates the calendar event. log\_lead: Updates the central Google Sheet. Synchronous Response: The Agent sends a confirmation or follow-up question via the respond\_to\_webhook node. Asynchronous Confirmation: The log\_lead action triggers a secondary workflow that composes a professional email via a second LLM (Anthropic) and sends it to the customer via Gmail, followed by an internal alert via Google Chat. 🛠️ Setup Steps Credentials: AI/LLM: Configure credentials for the Language Model used (OpenAI or Gemini) for the core Agent. Google Services: Set up OAuth2 credentials for Google Calendar (for booking/checking), Google Sheets (for logging), and Gmail (for customer confirmation). Google Calendar: Specify the technician's calendar ID (bhuvaneshx13@gmail.com in the template) in all Calendar nodes. Google Sheets: Create a new Google Sheet to serve as the Lead Log and update the Document ID and Sheet Name in the log\_lead and log\_lead\_trigger nodes. Tool Configuration: Review and customize the Agent's system prompt in the Receptionist node to align time zone rules (currently Asia/Kolkata - IST) and business hours (9:00 AM to 6:00 PM) with your operations. ✅ Benefits Increased Efficiency: Fully automates complex scheduling and rescheduling, freeing up human staff. Contextual Service: AI handles multi-turn conversations and adheres to strict business rules (e.g., 2-hour slots, maximum tool usage). Data Integrity: Ensures all bookings are immediately logged to Google Sheets, maintaining a centralized record (CRM). Professional Flow: Provides immediate confirmation to the customer via email and instant notification to the internal team via chat. 🚀 Other Use Cases The underlying multi-step, tool-execution pattern is highly versatile and can be adapted for any service industry requiring complex, rules-based scheduling: Real Estate:** Scheduling property viewings (Check agent availability → Book viewing → Send directions). HVAC Services:** Managing maintenance and repair visits (Diagnose issue type → Match with qualified technician → Check part availability → Schedule visit → Send service confirmation). Medical/Dental:** Booking patient appointments (Check insurance eligibility → Check doctor availability → Book → Send pre-visit forms). Legal Services:** Intake for consultations (Collect client issue → Check specialist availability → Book → Send retainer agreement). Automotive Repair:** Scheduling service bays (Check bay and mechanic availability → Book → Update internal service board).