by Oneclick AI Squad
Competitor Price & Feature Tracker for Real Estate Projects Overview This solution monitors competitor pricing and features for real estate projects by fetching data from a competitor API, parsing it, logging it to Google Sheets, and sending email alerts for significant price changes. It runs on a scheduled basis to keep real-time track of market trends. Operational Process Set Cron**: Triggers the workflow on a scheduled basis (e.g., hourly). Fetch Competitor Data**: Performs GET requests to retrieve competitor pricing and feature data (e.g., https://api.competitor.com). Wait For Data**: Introduces a delay to ensure data is fully retrieved. Parse Data**: Processes and extracts relevant pricing and feature details. Log to Google Sheets**: Appends the parsed data to a Google Sheet for tracking. Check Price Change**: Evaluates if there’s a significant price change. Send Alert Email**: Sends an email notification if a price change is detected. No Action for Minor Changes**: Skips action if no significant price change is found. Implementation Guide Import the workflow JSON into n8n. Configure the Cron node for the desired schedule (e.g., every hour). Set up the HTTP node with the competitor API URL (e.g., https://api.competitor.com). Configure Google Sheets integration and specify the log sheet. Test with a sample API call and verify email alerts. Adjust price change thresholds in the Check Price Change node as needed. Requirements HTTP request capability for API data retrieval. Google Sheets API for data logging. Email service (e.g., SMTP) for alerts. n8n for workflow automation and scheduling. Customization Options Adjust the Cron schedule for different intervals (e.g., daily). Modify the HTTP node to fetch additional competitor data (e.g., features, availability). Customize email alert content in the Send Alert Email node. Enhance Google Sheets log with additional fields (e.g., timestamp, competitor name). Add Slack or WhatsApp notifications for additional alert channels.
by Muntasir Mubin
Get ==Instant== Alerts When Your Website Goes Down — Using ==n8n== as ==Website Downtime Checker Robot== If you manage websites (your own or clients’), downtime alerts are critical. But most monitoring tools create alert fatigue — ==emails for every tiny hiccup==, even 30–60 second outages. This setup shows how to use n8n as a smart uptime monitor: ✅ No extra subscriptions ✅ No false-positive spam ✅ Alerts only for real downtime ✅ Optional instant phone notifications Why Use n8n for Website Monitoring? Traditional tools like Uptime Robot become limiting or expensive as you scale. With n8n, you get: Full control over alert logic Custom timing & thresholds No forced notification rules One tool for uptime and other automations You decide when, how, and why alerts are sent. Quick Start: Free n8n Website Monitoring Workflow Get running in minutes: Use the prebuilt n8n template Sign up for n8n Cloud or self-host for free Set your schedule (default: hourly) Add the websites you want to monitor Key Setting (Important) Wait time: ==300 seconds (5 minutes)== >Recommended* If a site goes down, the workflow waits before alerting. ➡️ Short hiccups = ignored ➡️ Real outages = ==alerted== How to Test & Use Activate the workflow Toggle it on — monitoring runs automatically. Test instantly Add a fake or non-existent URL and run the workflow. After the wait period, you’ll receive an alert. Stay organized Alerts arrive cleanly in your inbox (Tip: pair with an AI email labeling workflow for color-coded alerts) Get Critical Alerts on Your Phone (Telegram) Email is fine — but critical sites need instant mobile alerts. Best option: Telegram bots Free Fast No extra APIs or subscriptions How It Works Create a Telegram bot via BotFather Add the bot token & chat ID to n8n Receive downtime alerts instantly on your phone No missed notifications. No noise. FAQ Can I monitor unlimited sites? > ==Yes== — just add more URLs. What about short downtime (seconds)? > Filtered out by the 5-minute wait. Do I need a paid n8n plan? > ==No.== Self-hosting is ==free==, and this works on free plans. Why not SMS or WhatsApp? > Telegram is ==faster, simpler, and doesn’t require paid APIs.== 📩 Contact Me If you have any questions, ideas to share, or would like to collaborate on a project, feel free to reach out. I’m always open to meaningful discussions, feedback, and new opportunities. 🔗 ==Connect with me== Facebook LinkedIn 💬 You’re welcome to send me a message on any platform, and I’ll get back to you as soon as possible.
by Milan Vasarhelyi - SmoothWork
Video Introduction Want to automate your inbox or need a custom workflow? 📞 Book a Call | 💬 DM me on Linkedin Workflow Overview This workflow automatically delivers a daily weather forecast to your email inbox every morning at 7:00 AM. It demonstrates practical API-to-API integration by connecting the Meteosource weather API directly to Gmail using n8n's HTTP Request node, without requiring a pre-built Meteosource integration. Why This Workflow is Valuable Instead of manually checking weather forecasts each morning, this automation fetches current and next-day weather summaries from Meteosource and delivers them directly to your inbox. It's a perfect example of how direct API integration unlocks tools that don't have dedicated n8n nodes, giving you access to the full functionality of any service with an API. Key Features Scheduled daily execution at 7:00 AM (customizable) Fetches weather data using the Meteosource API with secure Query Auth credentials Sends formatted email with today's weather in the subject and tomorrow's forecast in the body Easy location and recipient customization through a Config node Setup Requirements Meteosource API Account: Sign up for a free account at Meteosource to get your API key (includes 400 free calls per day, more than enough for daily forecasts). Credentials needed: Meteosource credentials**: Create an HTTP Query Auth credential in n8n with the parameter name key and your Meteosource API key as the value Gmail OAuth2**: Connect your Gmail account to n8n for sending emails Configuration Open the Config node to personalize: place_id**: Change from "london" to your desired location (use Meteosource place ID format) send_to_email**: Update with your preferred recipient email address This workflow demonstrates the power of the HTTP Request node for connecting any API to your automation workflows.
by Vigh Sandor
SETUP INSTRUCTIONS 1. Configure Kubeconfig Open the "Kubeconfig Setup" node Paste your entire kubeconfig file content into the kubeconfigContent variable Set your target namespace in the namespace variable (default: 'production') Example kubeconfig format: apiVersion: v1 kind: Config clusters: cluster: certificate-authority-data: LS0tLS1CRUd... server: https://your-cluster.example.com:6443 name: your-cluster contexts: context: cluster: your-cluster user: your-user name: your-context current-context: your-context users: name: your-user user: token: eyJhbGciOiJSUzI1... 2. Telegram Configuration Create a Telegram bot via @BotFather Get your bot token and add it as a credential in n8n (Telegram API) Find your chat ID: Message your bot Visit: https://api.telegram.org/bot<YourBotToken>/getUpdates Look for "chat":{"id":...} Open the "Send Telegram Alert" node Replace YOUR_TELEGRAM_CHAT_ID with your actual chat ID Select your Telegram API credential 3. Schedule Configuration Open the "Schedule Trigger" node Default: runs every 1 minute Adjust the interval based on your monitoring needs: Every 5 minutes: Change field to minutes and set minutesInterval to 5 Every hour: Change field to hours and set hoursInterval to 1 Cron expression: Use custom cron schedule 4. kubectl Installation The workflow automatically downloads kubectl (v1.34.0) during execution No pre-installation required on the n8n host kubectl is downloaded and used temporarily for each execution HOW IT WORKS Workflow Steps Schedule Trigger Runs automatically based on configured interval Initiates the monitoring cycle Kubeconfig Setup Loads the kubeconfig and namespace configuration Passes credentials to kubectl commands Parallel Data Collection Get Pods: Fetches all pods from the specified namespace Get Deployments: Fetches all deployments from the specified namespace Both commands run in parallel for efficiency Process & Generate Report Parses pod and deployment data Groups pods by their owner (Deployment, DaemonSet, StatefulSet, or Node) Calculates readiness statistics for each workload Detects alerts: workloads with 0 ready pods Generates a comprehensive Markdown report including: Deployments with replica counts and pod details Other workloads (DaemonSets, StatefulSets, Static Pods) Standalone pods (if any) Pod-level details: status, node, restart count Has Alerts? Checks if any workloads have 0 ready pods Routes to appropriate action Send Telegram Alert (if alerts exist) Sends formatted alert message to Telegram Includes: Namespace information List of problematic workloads Full status report Save Report Saves the Markdown report to a file Filename format: k8s-report-YYYY-MM-DD-HHmmss.md Always executes, regardless of alert status Security Features Temporary kubectl**: Downloaded and used only during execution Temporary kubeconfig**: Written to /tmp/kubeconfig-<random>.yaml Automatic cleanup**: Kubeconfig file is deleted after each kubectl command No persistent credentials**: Nothing stored on disk between executions Alert Logic Alerts are triggered when any workload has zero ready pods: Deployments with readyReplicas < 1 DaemonSets with numberReady < 1 StatefulSets with readyReplicas < 1 Static Pods (Node-owned) with no ready instances Report Sections Deployments: All Deployment-managed pods (via ReplicaSets) Other Workloads: DaemonSets, StatefulSets, and Static Pods (kube-system components) Standalone Pods: Pods without recognized owners (rare) Alerts: Summary of workloads requiring attention KEY FEATURES Automatic kubectl management** - No pre-installation needed Multi-workload support** - Deployments, DaemonSets, StatefulSets, Static Pods Smart pod grouping** - Uses Kubernetes ownerReferences Conditional alerting** - Only notifies when issues detected Detailed reporting** - Pod-level status, node placement, restart counts Secure credential handling** - Temporary files, automatic cleanup Markdown format** - Easy to read and store TROUBLESHOOTING Issue: "Cannot read properties of undefined" Ensure both "Get Pods" and "Get Deployments" nodes execute successfully Check that kubectl can access your cluster with the provided kubeconfig Issue: No alerts when there should be Verify the namespace contains deployments or workloads Check that pods are actually not ready (use kubectl get pods -n <namespace>) Issue: Telegram message not sent Verify Telegram API credential is configured correctly Confirm chat ID is correct and the bot has permission to message you Check that the bot was started (send /start to the bot) Issue: kubectl download fails Check internet connectivity from n8n host Verify access to dl.k8s.io domain Consider pre-installing kubectl on the host and removing the download commands CUSTOMIZATION Change Alert Threshold Edit the Process & Generate Report node to change when alerts trigger: // Change from "< 1" to your desired threshold if (readyReplicas < 2) { // Alert if less than 2 ready pods alerts.push({...}); } Monitor Multiple Namespaces Duplicate the workflow for each namespace Or modify "Kubeconfig Setup" to loop through multiple namespaces Custom Report Format Edit the markdown generation in Process & Generate Report node to customize: Section order Information displayed Formatting style Additional Notification Channels Add nodes after "Has Alerts?" to send notifications via: Email (SMTP node) Slack (Slack node) Discord (Discord node) Webhook (HTTP Request node)
by Anchor
Try It Out! This n8n template shows how to, based on a list of website, enrich a Google Spreadsheet with emails and phone numbers automatically using the Apify Email & Phone Extractor actor from Anchor. It will create a new sheet with the extracted contact details. You can use it to build lead enrichment workflows, keep CRM records current, or prep outreach lists, all directly inside n8n. Who is this for Sales Teams: Surface contacts for target accounts fast. Recruiters: Find contact details on company sites. Growth Marketers: Clean and enrich prospect lists at scale. Researchers: Map industries and orgs with real contacts. CRM Builders: Auto-populate contact fields from the web. Lead-Gen Agencies: Deliver verified contact data at volume. How it works The workflow starts with a list of website URLs or domains in Google Sheets (one per row). The Apify node runs the Email & Phone Extractor to collect emails, phone numbers, and social links (e.g., Twitter, LinkedIn, Instagram) from those sites. The results are written to a new Google Sheet with the found contacts and their source pages. How to use In Google Sheets: Create a Google Sheet, rename the sheet websites, and add all the domains or URLs you want to scan (one per row). In this Workflow: Open “Set google sheet URL & original sheet name” and replace the example Google Sheet URL and the name of the source sheet (e.g., websites). In the n8n credentials: Connect your Google Sheets account with read and write privileges. Connect your Apify account. In Apify: Sign up for this Apify Actor Speed The step "Run actor on Apify" can take a long time. It needs to scrape many pages on each website you provide. That's why. If you want to keep track of its progress, you can check the logs on Apify Run direclty ! Requirements Apify account with access to Email & Phone Extractor. A list of domains or URLs to process. Need Help? Open an issue directly on Apify! Avg answer in less than 24h Happy Contact Discovery
by Davide
This workflow automates the process of generating and publishing a talking avatar video. It takes a video and an audio file as inputs, then uses the Infinitalk API to create a lip-synced avatar that naturally matches the audio. Once generated, the video is: Retrieved and stored (Google Drive upload). Optimized with an AI-generated YouTube title for better SEO. Automatically uploaded to YouTube and TikTok via the Upload-Post API. Key Advantages ✅ Full Automation: From video generation to social media publishing, everything is handled automatically. ✅ AI-Powered Content Optimization: Uses GPT-based AI to create SEO-friendly and catchy YouTube titles, increasing reach and engagement. ✅ Multi-Platform Publishing: Videos are instantly shared across YouTube and TikTok, saving time on manual uploads. ✅ Seamless Storage Integration: Generated videos are saved to Google Drive for archiving or reuse. ✅ Scalable Workflow: Can be reused for multiple videos, podcasts, tutorials, or marketing clips with minimal effort. ✅ Natural Lip-Sync: Infinitalk API ensures avatars sync realistically with audio, creating professional-looking videos. ✅ Customizable: Resolution, number of frames, and acceleration options can be adjusted for different needs (e.g., faster processing vs. higher quality). How It Works The process begins with a form submission where users provide a video URL (for the avatar), an audio URL (for lip-sync), and a text prompt describing the video content. The system then: Video Generation: Sends the inputs to Fal.ai's Infinitalk API which creates a talking avatar video where the character lip-syncs to the provided audio with natural facial expressions Status Monitoring: Continuously checks the processing status every 60 seconds until the video generation is completed Title Generation: Uses OpenAI's GPT model to create an SEO-optimized YouTube title based on the original prompt File Handling: Downloads the generated video and uploads it to Google Drive for storage Multi-Platform Distribution: Automatically publishes the video to both YouTube and TikTok using the Upload-Post service The workflow includes conditional logic to ensure each step executes in the correct order and only proceeds when previous operations are successful. Set Up Steps Step 1: Configure Fal.ai API Create an account at Fai AI and obtain your API key In the "Create Video" node, set up Header Authentication with: Name: "Authorization" Value: "Key YOURAPIKEY" Step 2: Configure Upload-Post Service Get your API key from Upload-Post Manage Api Keys Set up the authentication header in both upload nodes: Name: Authorization Value: Apikey YOUR_API_KEY_HERE Create social media profiles in Upload-Post and replace "YOUR_USERNAME" in the upload nodes with your profile name Note: Free plan supports all platforms except TikTok (requires paid upgrade) Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Nima Salimi
✉️ Automate MailerSend Email (Google Sheets) 🌐 Overview This workflow converts Google Sheets into a full Email CRM — no HubSpot or Customer.io needed! It automates segmentation, sending, validation, and delivery tracking using: ✅ Google Sheets → CDP + Email Performance DB ✅ MailerSend → Email Template Delivery ✅ n8n → Automation + Logic + Scheduling It automatically: • Reads subscribers from a selected segment sheet • Validates email + checks for disposable domains • Sends a MailerSend email template • Updates send status + delivery result in Sheets Perfect for onboarding emails, promo campaigns, retention flows, newsletters & more! ✅ Key Features • 🎯 Unlimited audience segments • 🚫 Deduplication system per execution • 🛡️ Disposable email filtering • 🔄 Automatic recurring runs (every 30 minutes) • 🧩 Template-based personalization (name, codes, journey) • 📊 Real-time delivery tracking + analytics-ready data • 🔐 Zero CRM vendor lock-in 📊 Database Sheets (Google Sheets Required) Use this database template: 🔗 https://docs.google.com/spreadsheets/d/17KqltP-NqchPhZV7gk6QToqCZX6IiA5EBkDCBNsIX_0/edit?usp=sharing | Sheet Name | Purpose | Required Fields | |-----------|---------|----------------| | template | Campaign configuration | Id, template_name, journey, type, type_template_id, discount_code | | segment1 / segment2 | Audience lists | user_id, email, first_name, number | | transaction | Status + results history | user_id, status, sent_result, sent_at, template_name | transaction | CreatedAt | UpdatedAt | user_id | email | number | first_name | status | database_id | type | template_id | type_template_id | template_name | journey | discount_code | gift_code | |----------------------------------|----------------------------------|-----------------|------------------------|-------------|------------|------------|-------------|------|-------------|-------------------|-----------------|---------|---------------|-----------| | 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000001 | nimasalimi42@gmail.com | 9362000000 | Liam | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | | | 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000002 | user2@gmail.com | 9362000001 | Noah | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | | | 2025-10-25T13:11:41.567-04:00 | 2025-10-25T13:11:41.567-04:00 | uid_0000000003 | user3@gmail.com | 9362000002 | Oliver | 1-sending | segment1 | email | 1 | v28xxl2sq8dg785k | SMS-TEST | Test | disxxx | | template | Id | template_name | journey | database_id | type | type_template_id | discount_code | gift_code | |----|---------------------------|----------------|-------------|------|-------------------|---------------|-----------| | 3 | Order-Confirmation | Order | segment3 | email | v28xxl2sq8dg785k | discount2 | | | 4 | Shipping-Notification | Notification | segment4 | email | v28xxl2sq8dg785c | discount3 | | | 5 | Add-to-Cart-day1 | Add-to-Car | segment5 | email | v28xxl2sq8dg785d | discount4 | | | 6 | Welcome-New-Customer | Welcome | segment6 | email | v28xxl2sq8dg785s | discount5 | | | 7 | Churn-Pro-Plan | Churn | segment7 | email | v28xxl2sq8dg785g | proxc | | | 8 | Churn-Pro-Plan-1day-ago | Churn | segment8 | email | v28xxl2sq8dg785h | | shipx | segment1 | user_id | email | number | first_name | database_id | |-----------------|-------------------------|--------------|------------|-------------| | uid_0000000001 | nimasalimi42@gmail.com | 09362000000 | Liam | segment1 | | uid_0000000002 | user2@gmail.com | 09362000001 | Noah | segment1 | | uid_0000000003 | user3@gmail.com | 09362000002 | Oliver | segment1 | | uid_0000000004 | user4@gmail.com | 09362000003 | Elijah | segment1 | | uid_0000000005 | user5@gmail.com | 09362000004 | James | segment1 | 📌 Add more segments simply by creating new sheets (segment3, segment4...) 📌 Change campaign by updating template_id in Setup Flow node 👤 Who’s it for? • Ecommerce email retention teams • SaaS CRM automation operators • Digital marketing & lifecycle pros • Agencies running multi-brand campaigns • No-code builders who want scalable CRM logic ⚙️ Automations Included Flow 1 — Insert Users (Triggered on schedule) • Pull users from selected segment tab • Insert into transaction sheet • Status: 0-processing → 1-sending • Prevent duplicate sending ✅ Flow 2 — Send Emails (Runs every 30 min) • Selects “ready” users (1-sending) • Checks: Missing email → 3-no-email Disposable → 4-disposal-email • Sends via MailerSend template ID in sheet • Updates status → 2-sent + message result 🎯 Your entire CRM sending logic runs automatically every day 🧠 Personalization Support Available merge-fields: • first_name • discount_code • gift_code (Modify jsonBody to add more!) 🔐 MailerSend Setup Required Inside MailerSend node: Replace “info@example.com” with your verified sender email ✅ You must: ✔ Verify domain ✔ Approve sender email ✔ Copy correct template ID → Google Sheet 💡 Optional Enhancements • Slack alerts for failed sends • Connect Looker Studio for dashboards • Add SMS / WhatsApp parallel flows • A/B test templates by duplicating rows • Add AI for subject optimization or copy rewrite 📺 Connect With Me More workflows, CRM strategy & AI marketing automation 👇 LinkedIn: https://linkedin.com/in/nima-salimi-a655a6231 Follow & ⭐️ this template if it helped you 🚀
by Jitesh Dugar
University Admission Confirmation & Welcome Kit A robust n8n workflow template that automates the university admission process for colleges, universities, and educational programs. This workflow validates student emails, generates professional PDF admission letters, sends personalized welcome emails, and handles errors efficiently — all in under 15 seconds per submission. Perfect for streamlining student onboarding with professional communication. Overview This workflow automates the process of handling new admission submissions by: Verifying student emails in real-time Generating university-branded admission confirmation PDFs Sending personalized welcome emails Logging invalid entries and preventing spam Key Features Email Verification & Fraud Prevention Real-time email validation using VerifiEmail API Checks RFC compliance, MX records, disposable emails, and spoofed addresses Rejects invalid emails before processing Prevents fake registrations and ensures deliverability Automated PDF Generation Creates branded, print-ready admission letters using PDFMunk Includes student details, program information, and verification badge Professional design with gradient headers and university branding Dynamic data integration for personalized documents Smart Email Notifications Student Welcome Email:** Personalized confirmation with PDF attachment Invalid Email Alerts:** Notifies admissions team of failed validations Responsive Design:** Mobile-friendly, clear next steps Intelligent Routing Conditional logic based on validation results Valid emails → generate PDF + send email Invalid emails → log and stop workflow Saves API usage and execution time Error Handling Comprehensive error detection for validation and API failures Detailed logging for invalid addresses Stops on failure to avoid unnecessary processing Sends admin alerts with actionable info Perfect For Universities & Colleges (Undergraduate & Postgraduate Admissions) Online Education Platforms (MOOCs, Certifications) Training & Vocational Programs Study Abroad Agencies Scholarship & Fellowship Applications Continuing Education Departments Workflow Statistics | Metric | Detail | |---------|--------| | Total Nodes | 15 | | Complexity | ⭐⭐ Medium | | Processing Time | 8–15 seconds per submission | | Setup Time | 10–15 minutes | | Code Required | ❌ No code (No-code solution) | | Maintenance | Minimal (Set & forget) | Requirements Required Services & APIs | Service | Purpose | Signup | |----------|----------|--------| | VerifiEmail API | Email validation | verifi.email | | PDFMunk API | PDF generation | pdfmunk.com | | Gmail | Email notifications | Google Cloud Console | Optional Integrations Google Forms or Typeform (data source) Google Sheets (admission tracking) Slack (team notifications) CRM (Salesforce, HubSpot, etc.) What Gets Created PDF Admission Letter Generated using PDFMunk API Includes: University-branded header & gradient design Email verification badge Student details (Name, Course, Application ID) Admission date & program info Professional footer & signature Email Notifications 1. Student Welcome Email Personalized greeting + attached PDF Next steps checklist (enrollment, orientation, etc.) Mobile-responsive design 2. Invalid Email Alert (Admin) Sent to admissions@youruniversity.edu Includes failure reasons, student name, and application ID Actionable follow-up steps Quick Start Guide 1️⃣ Import Template Copy workflow JSON In n8n → Workflows → Import from Clipboard Paste and import 2️⃣ Configure Credentials (10 minutes) A. VerifiEmail API Sign up → get API key → add under VerifiEmail account B. PDFMunk API Sign up → get API key → add under HtmlcsstopdfApi account C. Gmail OAuth2 Create project in Google Cloud Console Enable Gmail API → OAuth 2.0 credentials Add under Gmail account in n8n 3️⃣ Update Email Addresses Welcome Email Node:** admissions@youruniversity.edu Invalid Alert Node:** admissions team email Update branding details in email + PDF templates 4️⃣ Test the Workflow curl -X POST https://your-n8n.com/webhook/admission-form \ -H "Content-Type: application/json" \ -d '{ "name": "John Doe", "email": "john.doe@example.com", "course": "B.Tech Computer Science", "college_name": "TechNova University", "application_id": "TN-2025-0451", "admission_date": "2025-10-12" }' 5️⃣ Activate Workflow Toggle ON in n8n (top-right corner). 🧠 Detailed Setup Instructions Step 1: VerifiEmail Configuration Sign up → get API key Add in VerifiEmail Node credentials Test with sample email Step 2: PDFMunk Setup Sign up → get API key Add in HTML to PDF Node Test with sample execution Step 3: Gmail Configuration Enable Gmail API Add OAuth 2.0 credentials Authenticate with Gmail account Test sending an email Step 4: Webhook Setup Copy webhook URL from “Webhook - Admission Form” node Connect your form platform (Google Form, Typeform, etc.) Ensure JSON payload includes: name, email, course, college_name, application_id, admission_date Step 5: Test & Validate ✅ Valid email: Check PDF generation + welcome email ❌ Invalid email: Confirm admin alert sent ⚠️ Missing data: Review error logs 🔄 Workflow Diagram Start ↓ Webhook Trigger ↓ Email Verification (VerifiEmail API) ↓ Conditional Check (Valid?) ↙️ ↘️ TRUE FALSE ↓ ↓ Generate PDF Log Error ↓ ↓ Send Welcome Email End ↓ Done ✅ Processing Flow Details | Stage | Time | | ----------------------- | ----------- | | Webhook → Data capture | ~0s | | Email Verification | ~2–3s | | PDF Generation | ~4–6s | | Email Delivery | ~2–3s | | Total (Valid Email) | 8–15s ⚡ | | Invalid Email Path | 3–5s 🚀 | Customization Options Easy Customizations Email Templates:** Update HTML & university branding PDF Template:** Modify HTML (colors, fonts, fields) Error Messages:** Customize admin alerts Advanced Customizations Add Tracking:** Google Sheets or CRM Multi-Language Support:** Generate localized PDFs Extra Notifications:** Slack or SMS for staff CRM Integration:** Auto-push student data to Salesforce Troubleshooting | Issue | Cause | Solution | | -------------------- | ----------------------------- | ----------------------------- | | Email marked invalid | API key or quota issue | Check VerifiEmail dashboard | | PDF not generated | HTML error or expired API key | Validate HTML + check PDFMunk | | Email not sent | OAuth expired | Re-auth Gmail credential | | Webhook inactive | URL incorrect or workflow off | Activate + test via curl | Performance & Scalability | Metric | Current Capacity | | ---------------------- | --------------------------------- | | Concurrent Submissions | 10–20 | | Daily Volume | 500–1000 | | PDF Size | 100–500 KB | | Storage | Temporary (email attachment only) | Scaling Up Upgrade API tiers for high-volume admissions Add queue system or DB logging Validate large payloads & compress data Security & Privacy All API calls via HTTPS OAuth2 for Gmail authentication No student data stored post-execution Encrypted verification process Compliance GDPR compliant (minimal retention) Secure credential storage in n8n Full audit via execution logs License This template is provided as-is for commercial and personal use under the MIT License.
by Yassin Zehar
Description Receive one clean Gmail recap each day with all Google Forms submissions. The workflow reads your Form-linked Google Sheets, compiles every request submitted today, and sends a single, structured email at your chosen time—keeping your inbox tidy. Context Instead of receiving dozens of individual notifications, consolidate all daily form submissions into one organized email recap. Who is this for? Teams managing multiple incoming requests per day. Managers who want a daily summary instead of real-time alerts. Anyone who prefers to avoid notification spam. Requirements Google account with Forms & Sheets access Google Forms linked to Google Sheets Gmail account with n8n OAuth configured Steps 🗒️ Use the sticky notes in the n8n canvas to: Credentials : Add/verify Google (Sheets) and Gmail credentials in n8n. Schedule : Add a Cron/Schedule Trigger (default: 17:00/ 5PM, your local time). Add Google Sheets node → Read mode. Spreadsheet: select your Form-linked sheet. Build the Recap Body Use a Code (Function) node to assemble a simple HTML list or table from the filtered rows. Send Gmail : Add Gmail node and setup your team inbox / distribution list. For the body, paste the HTML body from step 5 and enable HTML. Test & Activate : Submit a few sample responses, run once, confirm the email looks right. Turn the workflow ON. You’ll get this: A structured Gmail message listing all daily submissions with: submitter name, timestamp, request details, and any custom fields from your form. Tutorial video Watch the Youtube Tutorial video How it works ⏰ Trigger: workflow runs once a day at your chosen time (default 5 PM). 📑 Collects all requests from that day in the Google Sheet. 📝 Compile: Generates a recap list/table. 📝 Generates a recap list with all submissions. 📨 Sends one Gmail email summarizing all requests of the day. About me : I'm Yassin, IT Project Manager, Agile & Data specialist. Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Yassin Zehar
Description Get a single Gmail notification immediately whenever someone submits your Google Forms. The workflow watches the Form-linked Google Sheets for new rows and sends a clean, readable email within about a minute—perfect for time-sensitive workflows. Context Stay responsive to urgent requests without inbox overload. Get notified immediately when new submissions arrive, with all key details in one clean email. Who is this for? Teams collecting support requests, project inputs, or approvals. Anyone who needs to respond quickly to new form submissions. Perfect for time-sensitive workflows. Requirements Google account A Google Forms linked to a Google Sheets (Responses → “Link to Sheet”) Gmail account connected to n8n (OAuth) Steps 🗒️ Use the sticky notes in the n8n canvas to: Create a Google Forms and link it to a Google Sheets. Credentials**: Add/verify Google (Sheets) and Gmail credentials in n8n. Add Google Sheets Trigger node. Spreadsheet: your Form-linked sheet. Polling interval**: every 1 minute (or adjust as needed). Send Gmail**: Add Gmail node and set up recipient team inbox or on-call email. Test & Activate**: Submit a sample form, wait 1 minute, confirm the email. Make sure the workflow is always activated** You’ll get this: A Gmail message with key details (requester, summary, priority, link to the sheet), easy to scan and act on. Tutorial video Watch the Youtube Tutorial video How it works ⏰ Trigger: workflow runs every time you get a request from the form (trigger checks every minute) 📝 Prepare: Format the submission into a concise message. 📨 Notify: Sends one Gmail email per submission About me : I'm Yassin, IT Project Manager, Agile & Data specialist. Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Emir Belkahia
E-commerce Weekly Bestseller Video Generator (Algolia + Google VEO 3) This workflow automatically identifies your weekly bestselling product from your Algolia-powered e-commerce store and generates a cinematic product video using Google VEO 3.0 AI, helping marketing teams create engaging video content without manual editing or expensive production tools. Who's it for E-commerce stores using Algolia for search. Ideal for marketing teams who want to automate video content creation for top-performing products and maximize conversion potential with engaging visual content. What it does (and doesn't do) ✅ It DOES: Identify your weekly bestseller automatically via Algolia custom ranking Validate product images before video generation Generate 6-second cinematic product videos using Google VEO 3.0 Store videos in Supabase for easy frontend integration Update Algolia records with video URLs automatically Send email alerts if products lack images ❌ It DOESN'T: Generate videos for all products at once Edit or customize videos after generation Create multi-product compilation videos Replace manual video editing for complex productions Work without Google Cloud Storage (VEO 3.0 requirement) Think of it as: An automated video production assistant that doubles down on your bestsellers with engaging content, not a full video editing suite. How it works Weekly trigger - Runs every Monday at 9:00 PM (or manually for testing) Bestseller fetch - Queries Algolia index with empty search to get top-ranked product Video check - Skips products that already have videos Image validation - Ensures product has a valid, accessible image URL Video generation - Converts image to base64 and sends to Google VEO 3.0 with cinematic prompt Polling loop - Waits and checks generation status until video is ready Storage transfer - Downloads MP4 from Google Cloud Storage and uploads to Supabase Index update - Marks product as having video and adds public URL to Algolia Set up steps Setup time: ~20 minutes Connect your Algolia credentials (Search API key + Application ID) Replace placeholders: ALGOLIA_APP_ID with your Algolia Application ID YOUR_INDEX_NAME with your product index name PROJECT-ID-GOOGLE-CLOUD with your Google Cloud Project ID GOOGLE_STORAGE_BUCKET_NAME with your GCS bucket name YOUR_SUPABASE_PROJECT with your Supabase project ID YOUR_BUCKET_NAME with your Supabase bucket name admin@example.com with your email address Configure Algolia custom ranking (inStock + popularity recommended) Ensure your products have hasVideo, images[], name, description attributes Set up Google Vertex AI with VEO 3.0 API access Create Google Cloud Storage bucket for VEO 3.0 outputs Create Supabase storage bucket for final video hosting Requirements Algolia account with product index (free tier works) Algolia index with products containing image URLs Google Vertex AI account with VEO 3.0 API access Google Cloud Storage bucket (mandatory for VEO 3.0) Supabase account with storage bucket (free tier works) Gmail account for error notifications Products with attributes: hasVideo, images[], name, description, objectID Why both Google Cloud Storage AND Supabase? VEO 3.0 can only output videos as base64 strings or MP4 files in Google Cloud Storage. Base64 strings are too large for n8n to process (even with code nodes), making Google Cloud Storage mandatory. The workflow then downloads the MP4 and uploads it to Supabase because: Supabase is where your other product assets already live Supabase offers generous free tier and simpler pricing Easier to serve videos to your frontend from a single storage provider Think of Google Cloud Storage as a temporary staging area required by VEO 3.0's limitations, and Supabase as your actual production storage. Cost breakdown For a typical 6-second product video: Google VEO 3.0 generation: ~$0.15-0.30 per video Google Cloud Storage: ~$0.002 (temporary staging) Supabase storage: Free tier covers hundreds of videos 💰 Bottom line: About $0.15-0.30 per video. Running weekly for a year = $8-16 in video generation costs. 💡 Pro tips Customize the video prompt: The default prompt creates a cinematic studio dolly shot. Edit the jsonBody in "Generate video with Google VEO 3" to match your brand style (fast-paced, minimalist, lifestyle, etc.). Adjust bestseller logic: Modify the Algolia query to add filters like category:electronics or brand:Nike to focus on specific product segments. Use manual execution during setup: Don't wait until Monday! Run the workflow manually to catch configuration issues like broken image URLs or missing credentials immediately. Monitor your email alerts: If you frequently get "no image" or "broken image" alerts, audit your product data quality in Algolia. Missing images = lost video opportunities. Start with test products: Before going live, manually trigger the workflow on a product you know has good images. Verify the video appears correctly in your Supabase bucket and Algolia record. Check your GCS bucket occasionally: Videos accumulate in Google Cloud Storage after each run. Set up a lifecycle policy to auto-delete files older than 7 days to avoid unnecessary storage costs. Adjust the schedule: If Monday 9PM doesn't work for your team's workflow, change the trigger to run on a different day or time that aligns with your content calendar. How it identifies the bestseller This workflow leverages Algolia's custom ranking feature. When you send an empty search query to Algolia, the first result returned follows your custom ranking criteria. This is an Algolia best practice that ensures your most relevant products appear first even without search terms. In the example configuration, custom ranking uses: inStock attribute - Prioritizes available products popularity attribute - A computed metric based on sales volume, views, and other signals You'll need to configure your own custom ranking in your Algolia index settings to match your business criteria. The workflow assumes your index is already configured to return your bestselling product first when queried with no search terms.
by Olivier
This template sends you a daily email notification with all prospects that visited your website in the past 24 hours. It uses ProspectPro data to collect, filter, and format prospects into a clear summary, delivered straight to your inbox each morning. Qualified leads are highlighted first, ensuring you don’t miss important activity. ✨ Features Automatically collect new website visitors from ProspectPro every day Highlight qualified (label 1) prospects first in your notification Customizable prospect list: name, location, domain, tags, and visit data Smart filtering: excludes disqualified prospects and old activity Clean daily email with direct link to ProspectPro for more details Extendable with logging, CRM sync, or Slack alerts ⚙ Requirements n8n instance or cloud workspace Install the ProspectPro Verified Community Node ProspectPro account & API credentials (14-day free trial available) Gmail OAuth2 credentials (or replace with your preferred email provider) 🔧 Setup Instructions Import the template into your n8n workspace Configure your ProspectPro API credentials Configure Gmail (or swap for your own email node) Adjust notification content in the "Create a Prospect List" and "Send Notification" nodes (Optional) Add extra error logging, Slack alerts, or CRM sync steps 🔐 Security Notes Workflow includes error branches for ProspectPro and Gmail nodes Prevents sending empty emails if no new prospects are found Code filters out disqualified prospects automatically 🧪 Testing Trigger the workflow manually or wait for the daily schedule Check your Gmail inbox for the notification email Verify the total count and details against ProspectPro dashboard 📌 About ProspectPro ProspectPro is a B2B Prospecting Platform for Dutch SMEs. It helps sales teams identify prospects, track website visitors, and streamline sales without requiring a full CRM. Website: https://www.prospectpro.nl Platform: https://mijn.prospectpro.nl API docs: https://docs.prospectpro.nl Support: https://www.prospectpro.nl/klantenservice Support hours: Monday–Friday, 09:00–17:00 CET