by Stephan Koning
Who it's for Construction and renovation businesses that need to generate detailed quotes from customer inquiries—plasterers, painters, contractors, renovation specialists, or any construction service provider handling quote requests through online forms. What it does Automatically transforms JotForm submissions into professional, itemized construction quotes with complete CRM tracking—no subscription needed (saving €200-500/year). When a customer fills your project request form (specifying wall/ceiling areas, finish types, ceiling heights, wet areas, prep work), the workflow extracts measurements, normalizes service selections, applies intelligent pricing rules from your Supabase catalog, calculates line items with material and labor costs plus proper VAT handling, stores everything in a structured CRM pipeline (customer → project deal → estimate), and generates a branded HTML email ready for delivery. This self-hosted pricing engine replaces paid invoicing software for quote generation, saving thousands over time while eliminating manual takeoffs and quote preparation— from 30-60 minutes to under 30 seconds. How it works Stage 1: JotForm webhook triggers → Parser extracts project data (m² measurements, service types, property details) → Normalize Dutch construction terms to database values → Save raw submission for audit trail Stage 2: Upsert customer record (idempotent on email) → Create project deal → Link to form submission Stage 3: Fetch active pricing rules → Calculate line items based on square meters, service type (smooth plaster vs decorative), ceiling height premiums, property status (new build vs renovation), wet area requirements → Apply conditional logic (high ceilings = price multiplier, prep work charges, finish level) → Group duplicate items → Save estimate header + individual lines Stage 4: Query optimized view (single call, all data) → Generate professional HTML email with logo, itemized services table (description, m², unit price, totals), VAT breakdown, CTA buttons, legal disclaimer Setup requirements Supabase account** (free tier sufficient) - Database for CRM + pricing catalog JotForm account** (free tier works) - Form builder with webhook support Email service** - Gmail, SendGrid, or similar (add your own email node) How to set up 1. Database setup (2 minutes): Run this workflow's "SQL Generator" node to output complete schema Copy output → Paste in Supabase SQL Editor → Click Run Creates 9 tables + 1 optimized view + sample construction services (plastering €21-32/m², painting €12-15/m², ornamental work, ceiling finishes) 2. Credentials: Add Supabase credentials to n8n (Project URL + Service Role Key from Supabase Settings → API) No JotForm credentials needed (uses webhook) 3. JotForm webhook: Clone demo construction form: [jotform stucco planet demo](https://form.jotform.com/252844786304060 )- Form fields: Property type, postcode, services needed, wall/ceiling m², finish level, ornament quantities, molding meters, wet areas, ceiling heights, prep removal, start date, customer contact Settings → Integrations → Webhooks → Add your n8n webhook URL Test with preview submission 4. Customize email: Update company info in "Generate Email HTML" node (logo, business address, contact details, Chamber of Commerce number, VAT number) Adjust colors/branding in HTML template Available in Dutch and English versions How to customize Add your construction services: Edit price_catalog table in Supabase (no code changes): INSERT INTO price_catalog (item_code, name, unit_price, vat_rate, unit_type) VALUES ('DRYWALL_INSTALL', 'Drywall Installation', 18.50, 9, 'm²');
by Devon Toh
This Template Demonstrates How To Automate Sending Real Estate Research Reports. Use cases are many: send recurring market updates to investors, distribute new listings context to buyers, or push periodic area snapshots to your client base — all without touching it manually after the first setup. Good to know Exa AI charges per search query. Check Exa AI Pricing for the latest rates before running at scale. Instantly AI has rate limits on lead uploads. The workflow handles this with a built-in wait node between batches, but check your plan limits before sending to large lists. PandaDoc document generation is asynchronous the workflow polls for completion before moving forward, so generation time will vary depending on template complexity. How it works PHASE 1: RESEARCH A Schedule Trigger kicks off the workflow on your chosen cadence. A research task is created and submitted to Exa AI, which pulls market data, listings context, and pricing signals from the web. The workflow polls Exa AI until the task is complete. An If + Wait loop handles this — once confirmed, the structured data moves to Phase 2. PHASE 2: REPORT GENERATION The structured research data is sent to PandaDoc via API. It fills directly into your pre-built real estate template — fixed layouts, brand rules, section structure already in place. The workflow polls PandaDoc until the document is fully generated. Another If + Wait loop ensures nothing proceeds with an incomplete report. The result is a clean, consistent report every time — no manual formatting or cleanup needed. PHASE 3: SEND VIA INSTANTLY AI The finalised report is sent to a Slack channel for human approval before anything goes out to clients. Once approved, the workflow fetches your client or investor list from Google Sheets. Contacts are batched, uploaded to Instantly AI, and each one receives a personalised report email — no manual sending, no individual copy-pasting. Send status is written back to your Google Sheet so you always know who's been contacted. A final Slack message confirms the full distribution is complete. Closed loop, fully hands-off. How to use The Schedule Trigger is used as the default starting point. Replace it with a webhook or form trigger if you want to run reports on demand instead. Set up your PandaDoc template with your preferred layout and branding before connecting. The workflow fills data in — it won't generate a layout for you. Configure Google OAuth via Google Console. Create a project, apply your Client ID and Secret in the Google Sheets node credentials. Set up your email sequences and sender accounts inside Instantly AI before the first run. Create a dedicated Slack channel or DM for approval routing and completion notifications. Requirements Exa AI — web research PandaDoc API — report template and document generation Google OAuth — client and investor list via Google Sheets Slack API — approval routing and completion notification Instantly API — personalised email delivery at scale n8n instance (self-hosted or cloud) Customising this workflow Swap Google Sheets for a CRM like HubSpot, Airtable, or GoHighLevel as your contact source — just replace the Fetch Contact node with your preferred integration. Replace the Slack approval step with an email approval flow if your team doesn't use Slack. This pattern works beyond real estate — try it for fund updates, commercial property briefs, or any recurring report where the structure stays fixed but the data changes. Add an AI summarisation node before PandaDoc to condense the Exa research output further before it fills into the template.
by Nick Canfield
Try It Out! This n8n template uses AI to automatically respond to your Gmail inbox by drafting response for your approval via email. How it works Gmail Trigger** monitors your inbox for new emails AI Analysis** determines if a response is needed based on your criteria Draft Generation** creates contextually appropriate replies using your business information Human Approval** sends you the draft for review before sending Auto-Send** replies automatically once approved Setup Connect your Gmail account to the Gmail Trigger node Update the "Your Information" node with: Entity name and description Approval email address Resource guide (FAQs, policies, key info) Response guidelines (tone, style, formatting preferences) Configure your LLM provider (OpenAI, Claude, Gemini, etc.) with API credentials Test with a sample email Requirements n8n instance (self-hosted or cloud) Gmail account with API access LLM provider API key Need Help? Email Nick @ nick@tropicflare.com
by Remko Stas
Simple Coupon Points Tracker with Google Sheets and Weekly Summary Email Take full control of your expected loyalty points. This workflow helps you log every coupon and the points you should receive, store proof of purchase, and get a weekly summary so you can quickly spot any points that haven’t been credited and follow up with the program if needed. Who’s it for Ideal for frequent coupon users or anyone collecting loyalty points from programs like Payback, Miles & More, or similar reward systems. If you want a centralized, reliable way to track expected points, organize screenshots, and make sure nothing goes missing, this workflow is built for you. How it works Log coupon details and screenshots: Submit your coupon info via an n8n form. Screenshots are automatically saved in a Google Drive folder, and coupon data is appended to a Google Sheet. Weekly points summary: Every week, a scheduled trigger scans your sheet for coupons that are due to have points credited. It generates a clear summary email via Gmail so you can easily see which points are expected and follow up if the program hasn’t credited them. How to set up Google credentials: Configure OAuth2 credentials in n8n for Google Drive, Sheets, and Gmail. Google Drive: Create a folder for storing screenshots and link it in the workflow. Google Sheets: Create a sheet with these columns, or use the Google Sheets Template and then set the sheet ID and name in the workflow nodes. Coupon Name | Account Used to Buy | Program | Points | Bonus Points | Purchase Date | Redeem Delay (days) | Claimable Date | Coupon Screen Email node: Configure Gmail credentials and recipient address for weekly summaries. Form trigger: Open the form URL to submit coupon data from any device. Schedule trigger: Runs weekly to send the summary; timing can be adjusted. Requirements n8n instance with Google OAuth2 credentials for Drive, Sheets, and Gmail Google Drive folder ID for screenshots Google Sheets ID and sheet name for logging points Gmail account for sending summary emails Stay on top of your expected points, ensure no reward slips through the cracks, and keep proof safely stored automatically. Happy tracking!
by Rahul Joshi
Description Keep your product and project teams perfectly aligned by automatically syncing task dependencies between Jira and Monday.com. This workflow ensures real-time visibility into cross-platform blockers and dependencies, allowing smoother delivery across multiple teams and tools. 🔄📅💼 What This Template Does Step 1: Trigger the workflow on a schedule or manual run. Step 2: Fetch project tasks and dependencies from Jira. Step 3: Retrieve matching items from Monday.com based on linked project IDs or issue keys. Step 4: Compare dependencies between both systems. Step 5: Identify mismatched or missing dependencies across platforms. Step 6: Send summarized reports to Slack or Gmail for team visibility. Step 7: Optionally update Monday.com or Jira items with dependency status tags. Key Benefits ✅ Maintain alignment across multiple projects and teams. ✅ Detect and resolve dependency conflicts before they cause delays. ✅ Automate visibility — no more manual cross-checking. ✅ Simplify multi-tool management for product and engineering leads. Features Integration between Jira Cloud and Monday.com API Cross-dependency comparison logic Scheduled or manual execution Slack/Gmail notifications for updates or conflicts Custom mapping for project and issue identifiers Requirements Jira Cloud account with API credentials Monday.com API key or OAuth2 token Optional: Slack or Gmail credentials for notifications n8n instance (cloud or self-hosted) Target Audience Product and Project Managers coordinating across tools 🧩 Engineering Leads overseeing multi-platform sprints ⚙️ PMOs managing dependencies across cross-functional teams 📊 Operations teams aiming for unified delivery visibility 📈 Step-by-Step Setup Instructions Connect your Jira and Monday.com credentials in n8n. Map project identifiers or keys between Jira and Monday.com. (Optional) Configure Slack or Gmail for daily status alerts. Adjust the cron expression to match your monitoring schedule. Run the workflow once manually to validate mappings. Activate the workflow for ongoing dependency tracking. ✅
by Panth1823
Automate Personalized HR Email Outreach with Rate Limiting This workflow streamlines HR outreach by fetching contact data, validating emails, enforcing daily sending limits, and sending personalized emails with attachments, all while logging activity. How it works Read HR contact data from Google Sheets. Remove duplicates and validate email formats. Apply dynamic daily email sending limits. Generate personalized email content. Download resumes for attachments. Send emails via Gmail with attachments. Log sending status (success/failure) to Google Sheets. Setup Configure Google Sheets credentials. Configure Gmail OAuth2 credentials. Update 'Google Sheets - Read HR Data' with your document and sheet IDs. Define email content in 'Email Creator' node. Set 'Download Resume' URL to your resume repository. Update 'Log to Google Sheets' with your tracking sheet IDs. Customization Adjust the 'Rate Limiter' node's RAMP_START and LIMIT_BY_WEEK variables to match your desired sending schedule and volume.
by Massimo Bensi
Automate Google News Digests with AI & Gmail Approval Workflow in n8n Overview This n8n automation template shows how to automatically collect and format daily Google News digests on your chosen topics, send them to your Gmail inbox for quick approval, and—if declined—generate the next set of curated news articles until you approve. ⚠️ Disclaimer: This workflow template uses community nodes and works only on n8n self-hosted instances. == Use case Streamline content curation for social media, newsletters, or blog posts by scheduling an AI-formatted Google News workflow that saves time in finding trending stories. How to use ⏰ Schedule the automation to run at your preferred time. 🔎 Fetch the latest trending Google News on your selected topic with SerpApi integration. 🤖 Send articles in batches of 10 to an AI content formatter that generates clean HTML output. 📧 Receive an approval email in your Gmail inbox with the AI-formatted news digest. ❌ Decline the digest to trigger the next batch of 10 curated news articles until you approve. 📊 Workflow logic uses AirTable counters and a custom Code node to manage batching. Setup instructions Connect your SerpApi, AirTable, OpenAI, and Gmail accounts. In the Gmail node, set the variable $env.EMAIL_ADDRESS_ME or replace the “To” field with your email. In AirTable, create a free-tier base with two columns: WorkflowID and Counter. The workflow will manage row creation and deletion automatically. Define your news topic or keyword in the SerpApi “Search Query (q)” field. Run the workflow and check your Gmail inbox for your curated AI-powered news digest. Requirements AirTable account Gmail account SerpApi account OpenAI account Customising this workflow ⏱ Adjust the schedule in the “Schedule Trigger” node for daily, weekly, or custom timing. 🔑 Enter your niche news keyword in the “Search Query (q)” field of the SerpApi node. 📦 Change the batch size (default 10) inside the Code node “Extract Details.” 🎨 Personalize the Gmail approval email template inside the AI Agent node “Prepare Content Review Email” for branding or formatting preferences.
by Deepak Singh
How it works This workflow automatically generates a daily Indian marketing & advertising newsletter. It fetches articles from Campaign India and Economic Times BrandEquity feeds, merges them, and evaluates each story using an AI relevance filter. Only meaningful updates, such as brand launches, marketing campaigns, and changes to digital media, are retained. Relevant stories are stored in an n8n Data Table and later used to build a clean HTML newsletter. Every day at 7:30 PM IST, the workflow composes the email and sends it via Gmail, with an optional SMTP fallback if Gmail fails. After sending, processed entries are removed to keep the next day’s digest fresh. Set up steps Add your Gmail and (optional) SMTP credentials. Update the recipient email inside the Gmail/SMTP nodes. Confirm the Data Table exists or let n8n create it automatically. Adjust schedule timing if you want the newsletter at a different time. Add or remove RSS feeds as needed (inside the brown “RSS Fetching Block”). (Full explanations for each block are included as sticky notes inside the workflow.) By Deepak Singh If you need help or want custom automations: deepakbiz@outlook.com
by Yassin Zehar
Description Automatically detect and escalate Product UAT critical bugs using AI, create Jira issues, notify engineering teams, and close the feedback loop with testers. This workflow analyzes raw UAT feedback submitted via a webhook, classifies it with an AI model, validates severity, and automatically escalates confirmed critical bugs to Jira and Slack. Testers are notified, and the original webhook receives a structured response for full traceability. It is designed for teams that want fast, reliable critical bug handling during UAT without manual triage. Context During Product UAT and beta testing, critical bugs are often buried in unstructured feedback coming from forms, Slack, or internal tools. Missing or delaying these issues can block releases and create friction between Product and Engineering. This workflow ensures: Faster detection of critical bugs Immediate escalation to engineering Clear ownership and visibility Consistent communication with testers It combines AI-based classification with deterministic routing to keep UAT feedback actionable and production-ready. Who is this for? Product Managers running UAT or beta programs Project Managers coordinating QA and release readiness Engineering teams who need fast, clean bug escalation Product Ops teams standardizing feedback workflows Any team handling high-volume UAT feedback Perfect for teams that want speed, clarity, and traceability during UAT. Requirements Webhook trigger (form, Slack integration, internal tool, etc.) OpenAI account (for AI triage) Jira (critical bug tracking) Slack (engineering alerts) Gmail or Slack (tester notifications) How it works Trigger The workflow starts when UAT feedback is submitted via a webhook. Normalize & Clean Incoming data is normalized (tester, build, page, message) and cleaned to ensure a consistent, AI-ready structure. AI Triage & Validation An AI model analyzes the feedback and returns a structured triage result (type, severity, summary, confidence), which is parsed and validated. Critical Bug Escalation Validated critical bugs automatically: create a Jira issue with full context trigger an engineering Slack alert Closed Loop The tester is notified via Slack or email, and the workflow responds to the original webhook with a structured status payload. What you get Automated critical bug detection during UAT Instant Jira ticket creation Real-time engineering alerts in Slack Automatic tester communication Full traceability via structured webhook responses About me : I’m Yassin a Product Manager Scaling tech products with a data-driven mindset. 📬 Feel free to connect with me on Linkedin
by Arunava
Automatically track your Android app’s keyword rankings on Google Play. This workflow checks ranks via SerpApi, updates a Baserow table, and posts a heads-up in Slack so your team can review changes quickly. 💡 Perfect for ASO teams tracking daily keyword positions Growth & marketing standups that want quick rank visibility Lightweight historical logging without a full BI stack 🧠 What it does Runs on a schedule (e.g., weekly) Queries SerpApi for each keyword’s Play Store ranking Saves results to Baserow: Current Rank, Previous Rank, Last modified Sends a Slack alert: “Ranks updated — review in Baserow” ⚡ Requirements SerpApi account & API key Baserow account + API token Slack connection (bot/app or credential in n8n) ⚙️ Setup Instructions 1) Create a Baserow table Create a new table (any name). Add user-field names exactly: Keywords (text) Current Rank (number) Previous Rank (number) Last modified (date/time) Optional fields you can add later: Notes, Locale, Store Country, App Package ID. 2) Connect credentials in n8n Baserow: add your API token and select your Database and Table in the Baserow nodes. Slack: connect your Slack account/workspace in the Slack node. SerpApi: open the HTTP Request node and put your API key under Query Parameters → api_key = YOUR_KEY. 3) Verify field mapping In the Baserow (Update Row) node, map: Row ID → {{$json.id}} Current Rank → {{$json["Current Rank"]}} Previous Rank → your code node should set this (the template copies the old “Current Rank” into “Previous Rank” before writing the new one) Last modified → {{$now}} (or the timestamp you compute) 🛟 Notes & Tips If you prefer a single daily Slack summary instead of multiple pings, add a Code node after updates to aggregate lines and send one message. Treat 0 or missing ranks as “not found” and flag them in Slack if helpful. For multi-country tracking, include hl/gl (locale/country) in your SerpApi query params and store them as columns. 🤝 Need a hand? I’m happy to help you get this running smoothly—or tailor it to your brand. Reach out to me via email: imarunavadas@gmail.com
by Marián Današ
Why Creating and sending invoices manually is a major administrative bottleneck. It's not only slow but also prone to human error, such as creating duplicate invoice numbers or sending sensitive financial data in an unsecured format. This workflow solves these problems by creating a robust, end-to-end automation. It ensures every invoice has a unique ID, is professionally generated, is password-protected, and is delivered to your customer automatically. What This workflow provides a complete, secure solution for automated invoicing. It is designed to be triggered by a Webhook (e.g., from your e-commerce store, CRM, or billing platform) that provides customer and order details. The workflow then executes the following steps: Generate & Verify ID: It first generates a new invoice ID. It then performs a critical check by reading your master Google Sheet to ensure this ID is unique, preventing duplicate invoices. Generate PDF: Once the ID is verified, it passes the data to the PDF Generator API. This service dynamically populates your custom invoice template. (PDF Generator API makes it incredibly easy to build and manage your document templates via their web-based editor). Encrypt Document: For enhanced security, the workflow uses a PDF Generator API operation to encrypt the newly generated invoice with a password, protecting your client's sensitive data. Store & Deliver: Finally, it uploads the secure PDF to a specified Google Drive folder for your records and then automatically sends it to the customer as an attachment using Gmail. How Prerequisites: You will need active accounts for: PDF Generator API (for both generation and encryption) Google Suite (for Sheets, Drive, and Gmail) PDF Generator API Setup: Log in to your PDF Generator API account and use their template builder to create your invoice design. Note your Template ID, API Key, and API Secret. In the n8n PDFGeneratorAPI node (Generate a PDF document), create new credentials using your Key and Secret. In the node's parameters, select your Template ID from the list. Google Sheets Setup: Create a Google Sheet to act as your master list of invoices. In the Check If ID Already Exists node, authenticate your Google Sheets account. Set the Spreadsheet ID and Sheet Name. In the "Columns to Return" field, enter the name of the column where you store your invoice IDs. Security & Delivery Setup: Encrypt Node: In the Encrypt PDF document node, authenticate your PDF Generator API credentials (the same ones from Step 2). You can set a static password, or for better security, use an expression to set a dynamic password from the webhook data (e.g., the customer's postal code or order ID). Google Drive Node: Authenticate the Upload file node and specify the Drive and Folder ID where invoices should be stored. Gmail Node: Authenticate the Send a message + file node. Use an expression to map the customer's email from the trigger data into the "To" field. Test & Activate: The Webhook node has pinned test data. You can click "Test workflow" to run the entire process with this sample data. Once you confirm the file is generated, encrypted, and sent, connect your live app (e.g., Shopify, Stripe, etc.) to the production Webhook URL. Activate the workflow.
by Rully Saputra
Sign up for Decodo — get better pricing here Who’s it for This workflow is designed for e-commerce operators, pricing analysts, retail founders, and procurement teams who need reliable, automated price intelligence without manual tracking. If you manage competitive pricing across Amazon or multiple product URLs stored in Google Sheets, this workflow gives you consistent monitoring and automated alerts. What it does This automation checks product prices on a schedule, scrapes real-time Amazon data using Decodo, compares it with your baseline price, and routes alerts depending on whether the price increases, stays normal, or drops. High increases trigger Telegram alerts and automatically create a Google Calendar meeting. Price drops send a rich HTML email to stakeholders. All items are processed in controlled batches to avoid rate limits. How it works Reads product URLs + baseline prices from Google Sheets Uses Decodo to extract current Amazon price, title, and product data Calculates percentage difference via Code node Routes items through the Switch node (High / Normal / Low) Sends alerts or emails accordingly Loops continuously until all rows are processed Requirements Google Sheets, Gmail, Google Calendar, and - Telegram credentials Active Decodo API credentials A sheet containing URL + baseline columns How to customize You can adjust alert thresholds, add more channels (Slack, WhatsApp, Notion), change batch size, modify email templates, or extend the Google Sheet with additional product metadata. The routing logic is easily expandable for more pricing scenarios.