by AureusR
Synchronize Excel or Google Sheets with Postgres (bi-directional) Who’s it for This workflow is perfect for companies that have always managed their operations in Excel or Google Sheets and want to gradually transition to using a database or custom software. It ensures business continuity while modernizing data management. How it works / What it does Trigger options → Run the sync manually, on schedule, or as part of another workflow. Get data from Excel → Reads rows from an Excel or Google Sheet table. Sanitize data → Cleans up formats (e.g., converting Excel serial dates into proper date strings). Upsert into Postgres → Inserts or updates rows in the database, ensuring no duplicates. For auto-mapping to work, the column names in Excel/Sheets and the DB must match exactly. If you want different names, you can manually map columns in the Postgres node. (Optional) → Can be extended to push DB updates back to Excel, creating a true two-way sync. This way, your team can continue working in Excel/Sheets while data is safely persisted in a database—ideal for scaling into dashboards, SaaS, or ERP systems later. How to set up Import the workflow JSON into your n8n instance. Connect your credentials: Microsoft Excel / Google Sheets OAuth2 Postgres database Point the Excel node to the right workbook, worksheet, and table. Make sure column names match between the Excel sheet and DB table (or map manually if they differ). Run manually or configure the schedule trigger for automated syncs. Requirements n8n self-hosted or cloud account. Either Microsoft Excel Online or Google Sheets access. Postgres database (or replace with MySQL, MariaDB, or any supported DB). How to customize the workflow Replace Excel with Google Sheets by swapping the node. Replace Postgres with any preferred database node. Add validation steps (e.g., check for missing emails, duplicate IDs). Extend with reporting workflows (e.g., sync DB data to BI dashboards). Use this as a stepping stone to migrate from spreadsheets into software-driven processes.
by Avkash Kakdiya
How it works This workflow consolidates data from five different systems — Google Sheets, PostgreSQL, MongoDB, Microsoft SQL Server, and Google Analytics — into a single master Google Sheet. It runs on a scheduled trigger three times a week. Each dataset is tagged with a unique source identifier before merging, ensuring data traceability. Finally, the merged dataset is cleaned, standardized, and written into the output Google Sheet for reporting and analysis. Step-by-step 1. Trigger the workflow Schedule Trigger** – Runs the workflow at set weekly intervals. 2. Collect data from sources Google Sheets Source** – Retrieves records from a specific sheet. PostgreSQL Source** – Extracts customer data from the database. MongoDB Source** – Pulls documents from the defined collection. Microsoft SQL Server** – Executes a SQL query and returns results. Google Analytics** – Captures user activity and engagement metrics. 3. Tag each dataset Add Sheets Source ID** – Marks data from Google Sheets. Add PostgreSQL Source ID** – Marks data from PostgreSQL. Add MongoDB Source ID** – Marks data from MongoDB. Add SQL Server Source ID** – Marks data from SQL Server. Add Analytics Source ID** – Marks data from Google Analytics. 4. Merge and process Merge** – Combines all tagged datasets into a single structure. Process Merged Data** – Cleans, aligns schemas, and standardizes key fields. 5. Store consolidated output Final Google Sheet** – Appends or updates the master sheet with the processed data. Why use this? Centralizes multiple data sources into a single, consistent dataset. Ensures data traceability by tagging each source. Reduces manual effort in data cleaning and consolidation. Provides a reliable reporting hub for business analysis. Enables scheduled, automated updates for up-to-date visibility.
by Yusuke Yamamoto
This n8n template automates responses to customer inquiries about DHL shipment status, handling requests from both web forms and emails. Use cases Automate Customer Support**: Provide 24/7 instant answers to the common "Where is my order?" question without human intervention. Reduce Support Tickets**: Decrease the volume of repetitive tracking inquiries by providing customers with immediate, self-service information. Enhance Customer Experience**: Offer a consistent and rapid response across multiple channels (your website and email), allowing customers to use their preferred method of contact. Good to know DHL API Key is required**: You'll need to register on the DHL Developer Portal to get your API key. This workflow requires Gmail credentials (OAuth2) to monitor incoming emails and send replies. The webhook URL must be configured in your website's contact or tracking form to receive submissions. How it works The workflow is initiated by one of two triggers: a Webhook (from a website form) or a Gmail Trigger (when a new email arrives). A Merge node combines the data from both triggers into a single, unified flow. The "Extract Tracking Number" Code node intelligently parses the tracking number from either the form data or the email body. It also extracts the customer's name and email address. The HTTP Request node sends the extracted tracking number to the DHL API to fetch the latest shipment status. The "Format Response Message" Code node takes the API response and composes a user-friendly message for the customer. It also handles cases where tracking information is not found. An If node checks the original source of the inquiry to determine whether it came from the webhook or email. If the request came from the webhook, a Respond to Webhook node sends the tracking data back as a JSON response. If the request came from an email, the Gmail node sends the formatted message as an email reply to the customer. How to use Configure the Triggers: Webhook Trigger: Copy the Test URL and set it as the action endpoint for your web form. Once you activate the workflow, use the Production URL. Webhook URL: https://your-n8n-instance.com/webhook/dhl-tracking-inquiry Gmail Trigger: Connect your Gmail account using OAuth2 credentials and set the desired filter conditions (e.g., unread emails with a specific subject). Set up the DHL API: Open the "Get DHL Tracking Status" (HTTP Request) node and navigate to the "Headers" tab. Replace YOUR_DHL_API_KEY with your actual DHL API key. { "DHL-API-Key": "YOUR_DHL_API_KEY" } Configure the Gmail Send Node: Connect the same Gmail credentials to the "Send Gmail Response" node. Customize options like the replyTo address as needed. Activate the workflow. Requirements A DHL Developer Portal account to obtain an API key. A Gmail account configured with OAuth2 in n8n. Customising this workflow Add More Carriers**: Duplicate the HTTP Request node and response formatting logic to support other shipping carriers like FedEx or UPS. Log Inquiries**: Add a node to save inquiry details (tracking number, customer email, status) to a Google Sheet or database for analytics. Advanced Error Handling**: Implement more robust error handling, such as sending a Slack notification to your support team if the DHL API is down or returns an unexpected error.
by Anir Agram
📊 Google Sheets Leads → 🎲 Random Templates → ✉️ Personalized Emails → 📝 Status Tracking What this workflow does 📊 Reads leads list from Google Sheets (Name, Email, Send Status) 🔍 Filters out already-contacted leads (skips "SENT" status) 🎲 Randomly selects email template from template library ✏️ Personalizes subject and body with lead's name 📧 Sends emails one-by-one with delays between sends ✅ Updates Google Sheet with send status and timestamp 🔁 Loops through all unsent leads automatically Why it's useful ⚡ Automate cold outreach without manual copy-paste 🎯 Avoid duplicate sends—tracks who's been contacted 📝 Rotate email templates for A/B testing and variety 👤 Personalization makes emails feel human, not spammy ⏱️ Built-in delays prevent spam flags and rate limits 📊 Full audit trail of who received what and when How it works 📊 Google Sheets (Leads) → reads Name, Email, Send Status 🚦 IF Node → filters leads where Send Status ≠ "SENT" 🔄 Loop Over Items → processes leads one-by-one 📧 Google Sheets (Templates) → fetches Subject + Body templates 🎲 Code Node → picks random template 🔀 Merge → combines lead data with template ✏️ Edit Fields → replaces [Name] with actual lead name 📨 Send Email → delivers personalized message ⏳ Wait → adds delay between sends (avoids spam flags) ✅ Google Sheets (Update) → marks as "SENT" with timestamp What you'll need 📊 Google Sheet #1: Leads (columns: Name, Email, Send Status, Time) 📧 Google Sheet #2: Templates (columns: Subject, Body) 📬 SMTP credentials (SendGrid, Mailgun, etc.) 🔐 Google Sheets OAuth Setup steps 📊 Create "Leads" sheet with columns: Name | Email | Send Status | Time 📧 Create "Templates" sheet with columns: Subject | Body (use [Name] placeholder) 🔗 Connect Google Sheets OAuth credentials 📬 Add SMTP email credentials 🧭 Update both Google Sheets node IDs to point to your sheets ⚙️ Set "From Email" in Send Email node 🧪 Test with 2-3 test leads first Customization ideas ⏱️ Adjust Wait time (30s-5min) to control send rate 📊 Add click tracking with UTM parameters 🔔 Send Slack/Telegram notification when campaign completes 🎯 Add lead scoring—prioritize high-value leads first 📈 Log opens/replies to separate tracking sheet Who it's for 🧑💻 Freelancers doing cold outreach to agencies 📈 Sales teams running lead generation campaigns 🚀 Startups reaching out to potential customers 🎯 Marketers testing email copy variations 💼 Business developers nurturing prospect lists Quick Setup Guide Before You Start - What You Need: 📊 Google account for Sheets access 📧 SMTP email account (Gmail, custom domain, or email service) 📝 List of leads (names + emails) ✉️ Email templates ready (with [Name] placeholders) Want help customizing? 📧 anirpoke@gmail.com 🔗 LinkedIn
by Oneclick AI Squad
This enterprise-grade n8n workflow automates the Pharmaceutical Raw Material COA Verification & Vendor Quality Scoring System — from upload to final reporting — using AI-powered document extraction, specification matching, and dynamic vendor scoring. It processes Certificates of Analysis (COAs) to validate compliance, assign quality scores, generate approvals or CAPA requests, and notify stakeholders, ensuring regulatory adherence and vendor accountability with full audit trails and zero manual data entry. Key Features Webhook-triggered COA Upload** for seamless integration with file-sharing systems AI Document Extraction** to parse test results and data from uploaded COAs Automated Specification Analysis** matching against predefined quality standards Weighted Vendor Scoring** based on compliance metrics and historical performance Compliance Decision Engine** with approve/reject branching and CAPA flagging Dynamic Certificate Generation** for approved materials, including digital signatures Vendor Database Synchronization** to update scores and records in real-time Targeted Email Notifications** for QA, production, and executive teams Executive Reporting Dashboard** with summaries, scores, and verification logs Audit-Ready Logging** for all steps, deviations, and decisions Workflow Process | Step | Node | Description | | ---- | ----------------------------------- | -------------------------------------------------------- | | 1 | START: Upload COA | Webhook trigger receives uploaded COA file for verification process | | 2 | EXTRACT: Parse COA | Extracts test results and data from the COA document using AI parsing | | 3 | ANALYZE: Vendor Compliance | Compares extracted data against specifications and flags deviations | | 4 | SCORE: Vendor Quality Rating | Calculates weighted compliance score based on test results and history | | 5 | DECISION: Compliance Route | Evaluates score/status: Branches to approve (green) or reject (red) path | | 6 | APPROVED: Generate Approval Cert (Approved Path) | Creates digital approval certificate for compliant materials | | 7 | Update Vendor Database | Saves verification record, score, and status to vendor database | | 8 | NOTIFY: Email Alert | Sends detailed notifications to QA/production teams | | 9 | REPORT: Final Report | Generates executive summary with COA scores and verifications | | 10 | REJECT: Generate Rejection Report (Reject Path) | Produces rejection report with deviation details | | 11 | Request CAPA | Initiates Corrective and Preventive Action (CAPA) process | | 12 | PATH REJECTED | Terminates rejected branch with audit log entry | Setup Instructions 1. Import Workflow Open n8n → Workflows → Import from Clipboard Paste the JSON workflow 2. Configure Credentials | Integration | Details | | ----------------- | -------------------------------------------------- | | File Storage (e.g., Google Drive/AWS S3) | API key or OAuth for COA upload handling | | AI Extraction (e.g., Claude or OCR Tool) | API key for document parsing (e.g., claude-3-5-sonnet-20241022) | | Database (e.g., PostgreSQL/Airtable) | Connection string for vendor records and specs | | Email (SMTP/Gmail) | SMTP credentials or OAuth for notifications | 3. Update Database/Sheet IDs Ensure your database or Google Sheets include: VendorDatabase for scores and history Specifications for quality standards 4. Set Triggers Webhook:** /coa-verification (for real-time file uploads) Manual/Scheduled:** For batch processing if needed 5. Run a Test Use manual execution to confirm: COA extraction and analysis Score calculation and branching Email notifications and report generation (use sample COA file) Database/Sheets Structure VendorDatabase | vendorId | coaId | score | complianceStatus | lastVerified | deviations | capaRequested | |--------------|-------------|----------|--------------------|--------------------|--------|--------------------|---------------| | VEND-123456 | COA-789012 | 92.5 | Approved | 2025-11-04T14:30:00Z | None | No | Specifications | materialType | testParam | specMin | specMax | weight | |--------------|-------------|----------|--------------------|--------------------|--------|--------------------|---------------|----------| | API Excipient | Purity (%) | 98.0 | 102.0 | 0.4 | System Requirements | Requirement | Version/Access | | --------------------- | ---------------------------------------------- | | n8n | v1.50+ (AI and database integrations supported) | | AI Parsing API | claude-3-5-sonnet-20241022 or equivalent OCR | | Database API | SQL connection or Google Sheets API | | Email API | https://www.googleapis.com/auth/gmail or SMTP | | File Storage | AWS S3 or Google Drive API access | Optional Enhancements Integrate ERP Systems (e.g., SAP) for direct material release Add Regulatory Export to PDF/CSV for FDA audits Implement Historical Trend Analysis for vendor performance dashboards Use Multi-Language Support for global COA extraction Connect Slack/Teams for real-time alerts beyond email Enable Batch Processing for high-volume uploads Add AI Anomaly Detection for predictive non-compliance flagging Build Custom Scoring Models via integrated ML tools Result: A fully automated quality assurance pipeline that verifies COAs, scores vendors, and drives compliance decisions — ensuring pharmaceutical safety and efficiency with AI precision and complete traceability. Explore More AI Workflows: Get in touch with us for custom n8n automation!
by Yaron Been
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Automated Review Intelligence System Transform customer feedback into actionable intelligence with this Automated Review Intelligence System! This workflow collects reviews from platforms like Trustpilot using advanced web scraping, analyzes sentiment and patterns with AI, and generates comprehensive business intelligence reports. Perfect for customer experience teams monitoring brand reputation and customer satisfaction across review platforms. What This Template Does Triggers manually to start review collection from specified sources. Validates URL format to ensure proper review source configuration. Uses AI agent with Decodo scraper to extract review data from platforms. Parses and structures review data (ratings, comments, dates, locations). Enriches review data with metadata and quality metrics. Stores all review data in Google Sheets for historical tracking. Reads aggregated reviews for comprehensive analysis. Generates AI-powered summaries and key insights from review patterns. Sends email reports with actionable business intelligence. Provides error alerts for processing issues and invalid URLs. Key Benefits Automated collection of customer reviews from multiple platforms AI-powered sentiment analysis and pattern recognition Historical tracking of review trends and customer satisfaction Actionable business intelligence from customer feedback Real-time alerting for review processing issues Centralized review database for team visibility Features Manual trigger for on-demand review intelligence URL validation and error handling AI-powered review collection and analysis Decodo web scraping for reliable data extraction Structured data parsing for consistent formatting Google Sheets integration for data centralization Automated summary generation with key insights Email reporting for stakeholder communication Multi-platform review source support Historical trend analysis capabilities 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 reports Environment variables for configuration settings Review source URLs (Trustpilot, etc.) Target Audience Customer experience and success teams Product management and development teams Marketing and brand reputation managers Business intelligence and analytics teams Customer support operations teams E-commerce and retail businesses Step-by-Step Setup Instructions Connect Decodo API credentials for review scraping functionality Set up OpenAI credentials for AI analysis and summary generation Configure Google Sheets with required review data headers Add Gmail credentials for report delivery and error notifications Set your target review source URLs (Trustpilot, etc.) Test with sample review pages to verify data extraction Customize summary reports for your business intelligence needs Define alert recipients for error notifications and reports Run manually to generate your first review intelligence report Pro Tip: Use coupon code "YARON" for free Decodo credits to enhance your review intelligence capabilities! This workflow ensures you stay informed about customer sentiment with automated review collection, intelligent analysis, and actionable business insights!
by Basil Irfan
Transform YouTube Videos to Social Media Content with Vizard AI and GPT‑4.1 Overview This n8n template fetches new YouTube videos, enriches them with Vizard AI metadata, generates social‑media captions using GPT‑4.1, logs everything to Google Sheets, and notifies you by email. It’s a turnkey solution for content creators and marketers who need an end‑to‑end automated pipeline from video publishing to post scheduling. Setup Instructions Import the Template In n8n, click Import from JSON, paste this workflow, and save. Configure Credentials Vizard AI: Create an HTTP Request credential named Vizard API and set your VIZARDAI_API_KEY. OpenAI: Add a new OpenAI credential for GPT‑4.1. Google Sheets: Create a Google Sheets OAuth2 credential with read/write access or just sign in if your on cloud hosting Gmail: Add a Gmail OAuth2 credential for email notifications or just sign in if you are on cloud hosting Adjust Limits In the Limit Videos node, set maxItems to control batch size. Google Sheets Column Structure | Column | Description | | ------------------ | ---------------------------------------------------- | | videoId | Unique YouTube video identifier | | projectId | Vizard AI project ID returned | | videoUrl | Original YouTube video URL | | title | Video title | | transcript | Transcribed text from Vizard AI | | viralScore | Vizard AI’s viral‑score metric | | viralReason | Explanation for viral score | | generatedCaption | GPT‑4.1–generated caption in JSON { "caption": ""} | | clipEditorUrl | URL to Vizard’s clip editor | Workflow Steps Read YouTube RSS Feed (Read YouTube RSS Feed) Limit Videos (Limit Videos to N) Send to Vizard (Create Vizard Project & Retrieve Vizard Metadata) Split Items for Processing (Iterate Each Video) Generate Captions (Generate Social Media Captions) Append Row in Sheet (Log to Google Sheets) Send Notification (Email Summary) Customization Tips Alternate Caption Styles**: Modify the AI prompt for tone, length, or brand voice. Localization**: Extend prompts for other languages. Notification Channels**: Swap Gmail for Slack, Teams, or SMS via webhook nodes.
by Anoop
📩 Automatically Log Transactions from Gmail into Notion and Get Telegram Alerts Who’s it for This workflow is for individuals or entrepreneurs who receive bank alerts, invoices, and payment emails in Gmail and want them to be automatically organized in Notion — while also receiving quick Telegram notifications for each transaction. If you manage personal or business finances and find it tedious to manually record every debit, credit, or invoice — this automation does it all for you. How it works The workflow acts as an AI-powered Accountant Agent that reads incoming Gmail messages and decides whether each email represents a Debit Transaction, Credit Transaction, Debit Invoice, or Credit Invoice. The Gmail Trigger watches your selected inboxes (like forwarding@bayesian-labs.com, support@bayesian-labs, anoop.karnik@bayesian-labs). The Classifier (GPT-5-nano) determines the correct transaction type. The appropriate Agent (GPT-5) then extracts amount, currency, and description details. The Agent uses Notion API tools to log structured data into your Personal Finance System Notion template (Financial Transactions & Income databases). Finally, a Telegram notification is sent summarizing the entry (From, To, Subject, Snippet). In short: every time your bank emails you — Notion gets updated, and you get notified. How to set up Duplicate the Personal Finance System Notion template into your workspace. Create a Telegram Bot with BotFather → copy the bot token and your chat ID. Generate an OpenRouter API key for GPT-5 / GPT-5-nano. Create a Notion Integration Token and connect it to your duplicated finance databases. Add your Gmail accounts (forwarding@, support@, and/or personal Gmail) under Gmail OAuth2 credentials in n8n. Import the workflow JSON into n8n → fill in the credential names as listed below: n8n_cloud_regular_usage → OpenRouter Notion account → Notion API Accountant AI → Telegram Bot Gmail OAuth2 for each inbox trigger Once active, n8n polls Gmail every minute, classifies emails, updates Notion, and sends Telegram updates. Requirements n8n instance (self-hosted or cloud) Gmail accounts connected via OAuth2 OpenRouter API key Telegram bot token & chat ID Notion integration token Your duplicated Personal Finance System Notion template How to customize the workflow You can extend this workflow to: Track credit card statements, subscriptions, or payroll notifications. Add Slack or WhatsApp alerts alongside Telegram. Include live FX rates for USD→INR conversion using an API node. Connect Google Sheets as a backup ledger or export target. Add error-handling branches to mark Gmail messages as processed or label them “Logged to Notion”.
by Matt Chong
Who is this for? This workflow is ideal for freelancers, accountants, and finance teams who receive invoices in Gmail and want to automate their tracking process with AI. If your inbox fills up with invoice-related messages and you want to automate how they’re handled, this AI-powered solution is for you. What does it solve? Automatically detects and processes invoices from your Gmail inbox. Uses OpenAI GPT-4o to extract payment amount, due date, subject line, and sender details. Sends real-time Slack notifications so you never miss a payment. Eliminates manual sorting of invoice-related emails. Great for improving productivity and ensuring timely payment tracking. How it works Every hour, the workflow checks for unread emails in your Gmail inbox. It sends the email content to OpenAI to determine if it's invoice-related email. If it is: It extracts key fields like due date, amount due, subject, and sender. Then sends a Slack message with these details. If it's not invoice-related, it simply ignores the email. How to setup? Connect these accounts: Gmail using OAuth2 Slack using OAuth2 OpenAI (API Key under credentials) Customize the Slack message (optional): In the Slack node, you can modify the text to show more fields or personalize the formatting. Adjust the schedule: By default, the workflow runs hourly. You can change the frequency in the Schedule Trigger node. Modify the AI logic (optional): Update the AI Agent prompt to detect additional types like receipts or payment confirmations. How to customize this workflow to your needs Notify a Slack channel instead of a user:** Just switch the recipient in the Slack node. Add labels in Gmail:** Add nodes to label or archive invoice emails once detected. Expand detection:** Modify the AI prompt to detect other financial or transactional emails.
by Onur
🏨 Hotel Price Comparison Workflow with Scrape.do This template requires a self-hosted n8n instance to run. A complete n8n automation that extracts hotel prices from multiple booking platforms (Booking.com, Hotels.com, Expedia, etc.) using Scrape.do API, compares prices across platforms, and saves structured results into Google Sheets for price monitoring and decision-making. 📋 Overview This workflow provides an automated hotel price comparison solution that monitors hotel rates across different booking platforms for specific destinations and dates. Ideal for travel agencies, price comparison websites, travelers, and hospitality analysts who need real-time pricing insights without manual searching. Who is this for? Travel agencies automating price comparisons Price comparison website operators Budget-conscious travelers tracking best deals Hospitality analysts monitoring market pricing Hotel managers tracking competitor rates Travel bloggers researching accommodation options What problem does this workflow solve? Eliminates manual price checking across multiple sites Processes multiple hotels and date ranges automatically Extracts structured pricing data (price, rating, amenities) Identifies the cheapest option across platforms Automates saving results into Google Sheets Ensures consistent and repeatable price monitoring ⚙️ What this workflow does Manual Trigger → Starts the workflow manually or on schedule Get Search Parameters from Sheet → Reads hotel names, destinations, check-in/check-out dates from Google Sheet URL Encode Parameters → Converts search parameters into URL-safe format Process Hotels in Batches → Handles multiple searches sequentially to avoid rate limits Fetch Hotel Data from Multiple Platforms → Calls Scrape.do API to retrieve pricing from Booking.com, Hotels.com, and Expedia Extract and Structure Price Data → Parses HTML into structured hotel data (name, price, rating, amenities) Compare Prices Across Platforms → Identifies best price and calculates savings Append Results to Sheet → Writes comparison results into Google Sheet 📊 Output Data Points | Field | Description | Example | |-------|-------------|---------| | Hotel Name | Name of the hotel | Hilton Garden Inn Downtown | | Destination | City or location | New York, NY | | Check-in Date | Arrival date | 2025-12-15 | | Check-out Date | Departure date | 2025-12-18 | | Nights | Number of nights | 3 | | Booking.com Price | Price from Booking.com | $450 | | Hotels.com Price | Price from Hotels.com | $425 | | Expedia Price | Price from Expedia | $440 | | Best Price | Lowest price found | $425 | | Best Platform | Platform with lowest price | Hotels.com | | Savings | Difference from highest price | $25 | | Average Rating | Average customer rating | 8.5/10 | | Total Reviews | Number of reviews | 1,247 | | Free Cancellation | Cancellation policy | Yes | | Breakfast Included | Breakfast availability | No | ⚙️ Setup Prerequisites n8n instance (self-hosted) Google account with Sheets access Scrape.do account with API token Google Sheet Structure This workflow uses one Google Sheet with two tabs: Input Tab: "Search Parameters" | Column | Type | Description | Example | |--------|------|-------------|---------| | Hotel Name | Text | Name of hotel (optional) | Hilton Garden Inn | | Destination | Text | City or location | New York, NY | | Check-in Date | Date | Arrival date (YYYY-MM-DD) | 2025-12-15 | | Check-out Date | Date | Departure date (YYYY-MM-DD) | 2025-12-18 | | Guests | Number | Number of guests | 2 | | Rooms | Number | Number of rooms | 1 | Output Tab: "Price Comparison" | Column | Type | Description | Example | |--------|------|-------------|---------| | Search Date | Timestamp | When search was performed | 2025-11-17 10:30:00 | | Hotel Name | Text | Name of the hotel | Hilton Garden Inn Downtown | | Destination | Text | City/location | New York, NY | | Check-in | Date | Arrival date | 2025-12-15 | | Check-out | Date | Departure date | 2025-12-18 | | Nights | Number | Number of nights | 3 | | Booking.com Price | Currency | Price from Booking.com | $450 | | Hotels.com Price | Currency | Price from Hotels.com | $425 | | Expedia Price | Currency | Price from Expedia | $440 | | Best Price | Currency | Lowest price | $425 | | Best Platform | Text | Cheapest platform | Hotels.com | | Savings | Currency | Potential savings | $25 | | Rating | Number | Average rating | 8.5 | | Reviews | Number | Total reviews | 1,247 | 🛠 Step-by-Step Setup Import Workflow: Copy the JSON → n8n → Workflows → + Add → Import from JSON Configure Scrape.do API: Endpoint: https://api.scrape.do/ Parameter: token=YOUR_SCRAPEDO_TOKEN Add render=true for JavaScript-heavy booking sites Add country=US (or target country) for localized results Configure Google Sheets: Create a sheet with two tabs: Search Parameters (input), Price Comparison (output) Set up Google Sheets OAuth2 credentials in n8n Replace placeholders: YOUR_GOOGLE_SHEET_ID and YOUR_GOOGLE_SHEETS_CREDENTIAL_ID Configure Platform URLs: Update base URLs for Booking.com, Hotels.com, Expedia in HTTP Request nodes Customize search parameters based on platform URL structure Run & Test: Add test data in Search Parameters tab Execute workflow → Check results in Price Comparison tab 🧰 How to Customize Add more platforms**: Include Agoda, Trivago, or direct hotel websites by adding new HTTP Request nodes Price alerts**: Add conditional logic to send email/Slack notification when price drops below threshold Historical tracking**: Store daily snapshots to track price trends over time Filtering**: Add filters for amenities (pool, gym, parking) or star ratings Batch Size**: Adjust "Process Hotels in Batches" based on API rate limits Rate Limiting**: Insert Wait nodes (20–30 seconds) between platform requests Currency conversion**: Add currency API integration for multi-currency comparison Scheduling**: Add Schedule Trigger to run automatically (daily/weekly) 📊 Use Cases Travel Planning**: Find the best hotel deals for upcoming trips Price Monitoring**: Track price changes for specific hotels over time Agency Operations**: Automate price research for client bookings Market Analysis**: Monitor competitor pricing in hospitality market Deal Alerts**: Get notified when prices drop below target threshold Budget Planning**: Compare costs across multiple destinations 📈 Performance & Limits Single Hotel (3 platforms)**: ~30–45 seconds (depends on Scrape.do response) Batch of 10 hotels**: 8–12 minutes typical Large Sets (50+ hotels)**: 45–90 minutes depending on API credits & batching API Calls**: 3 Scrape.do requests per hotel (one per platform) Reliability**: 90%+ extraction success, 95%+ price accuracy 🧩 Troubleshooting API error** → Check YOUR_SCRAPEDO_TOKEN and API credits on Scrape.do dashboard No hotels loaded* → Verify Google Sheet ID & tab name = *Search Parameters** Permission denied** → Re-authenticate Google Sheets OAuth2 in n8n Empty prices** → Check if Scrape.do rendered JavaScript (render=true) Parsing errors** → Booking sites change HTML structure; update CSS selectors in Extract nodes Workflow timeout** → Reduce batch size or add more Wait nodes between requests Wrong currency** → Add country parameter to Scrape.do request for localized pricing 🤝 Support & Community n8n Forum**: https://community.n8n.io n8n Docs**: https://docs.n8n.io Scrape.do Dashboard**: https://dashboard.scrape.do Scrape.do Documentation**: https://scrape.do/docs 🎯 Final Notes This workflow provides a powerful foundation for automated hotel price comparison across multiple booking platforms using Scrape.do and Google Sheets. You can extend it with: Real-time price alerts via email/Slack Historical price tracking and trend analysis Integration with travel planning dashboards Automated booking when price threshold is met Multi-destination comparison for trip planning Pro Tip: Schedule this workflow to run daily to catch early-bird discounts and flash sales automatically!
by Gracewell
Title: Gracewell Automated Registration Tracker Suite version: 1.0 tags: [education, automation, google-sheets, gmail, dashboard, form-tracking, workflow-suite] category: Academic Automation Description: Automate the real-time tracking of Google Form submissions using Google Sheets and n8n. This 3-workflow suite includes a live dashboard with submission statistics and two companion workflows To send acknowledgement and reminder emails to students — all seamlessly connected through n8n webhooks. 🚀 Gracewell Automated Registration Tracker Suite A fully automated, real-time monitoring system for student form submissions — built with Google Sheets, Gmail, and n8n. The suite provides a live dashboard, auto-generated summary analytics, and instant messaging (email or WhatsApp) capabilities. 🧩 Workflow Suite Overview | Workflow | Purpose | Webhook | Output | |-----------|----------|----------|----------| | 1️⃣ Live Dashboard | Displays summary of submissions and includes trigger buttons | /live-tracking | HTML Dashboard | | 2️⃣ Send Acknowledgements | Sends thank-you emails to completed respondents | /send-acknowledgements | HTML Confirmation Page | | 3️⃣ Send Reminders | Sends personalized reminders to pending students | /send-reminders | HTML Confirmation Page | 🧠 Who Is This For Educators managing student registration or feedback Department coordinators tracking submission completion EdTech and training institutions handling digital enrolments Universities automating exam registration or attendance forms ⚙️ Problem It Solves Manual form tracking is slow, repetitive, and prone to error. This workflow suite provides: ✅ Automated reconciliation of student vs. response data ✅ Instant calculation of pending and completed submissions ✅ One-click acknowledgement and reminder dispatch ✅ Web-based dashboard with summary visualization 📊 Workflow 1: Live Tracking Dashboard Steps Google Sheets – Student List → Reads master student sheet Google Sheets – Form Responses → Reads live form entries Code Node → Compares Register Nos. and generates HTML dashboard Respond to Webhook → Displays HTML with summary and control buttons Output A clean web dashboard showing: Total, Submitted, Pending, Completion % ✅ Completed list and ⚠️ Pending list Two buttons: Send Acknowledgements Send Reminders 💌 Workflow 2: Send Acknowledgements Steps Webhook Trigger → /send-acknowledgements Google Sheets – Student List & Form Responses Merge Node → Combines matching rows Code Node → Generates personalized thank-you emails Gmail Node → Sends messages Respond Node → Displays confirmation message Email Template > Subject: ✅ Thank You for Your Submission > Body: > Dear {{name}}, > Thank you for completing your form (Reg No: {{reg}}). > We appreciate your prompt response. > – Gracewell ⚠️ Workflow 3: Send Reminders Steps Webhook Trigger → /send-reminders Google Sheets – Student List & Form Responses Merge Node → Aligns both data sets Code Node → Identifies pending students Gmail Node → Sends customized reminder Respond Node → Confirms completion Email Template > Subject: ⚠️ Reminder: Please Complete Your Form > Body: > Dear {{name}}, > You haven’t yet completed your form (Reg No: {{reg}}). > Please complete it at the earliest. > – Gracewell 🛠️ Setup Instructions Step 1 – Connect Accounts Connect Google Sheets (OAuth2) Connect Gmail for sending messages Step 2 – Prepare Sheets Student List Sheet:** Columns → Register No., Student Name, Contact, Email Form Response Sheet:** Columns → Timestamp, Reg No, Email Address Step 3 – Deploy URLs | Workflow | Webhook Endpoint | |-----------|------------------| | Dashboard | /live-tracking | | Acknowledgements | /send-acknowledgements | | Reminders | /send-reminders | 🎨 Optional Customizations Add institution name/logo to dashboard HTML Include charts (Chart.js) for submission visualization Auto-refresh every 60 seconds Integrate WhatsApp messaging via Twilio or Gupshup Log emails into a “Mail Logs” sheet 🧩 Version Summary | Workflow | Version | Description | |-----------|----------|-------------| | Live Dashboard | v3 | Interactive HTML dashboard with controls | | Send Acknowledgements | v1 | Personalized thank-you email sender | | Send Reminders | v1 | Automated reminder email sender | Need help customizing? ✉️ Contact Me 💼 LinkedIn ✨ Credits Developed by Dr. J. Jeffin Gracewell Empowering education through intelligent automation 💡 We are open for and Customizing development
by Davide
This workflow automates the entire Calendly onboarding and offboarding process for company users. It relies on form submissions, Google Sheets as a source of truth, AI-generated HR emails, man-in-the-loop approval steps, and direct API interactions with Calendly. Key Advantages ✅ Full Automation of Routine HR Processes The workflow removes the need for HR to manually add or remove Calendly users. It handles data collection, checks eligibility, interacts with Calendly’s API, and updates records automatically. ✅ Centralized Data Management All onboarding/offboarding data is stored and maintained in a Google Sheet, ensuring a single source of truth for user status and activity tracking. ✅ Built-in Human Validation (Man-in-the-Loop) HR receives automated approval emails and must validate each action before a Calendly account is created or removed. This ensures: security accuracy compliance with internal policies ✅ AI-Generated Professional Communication OpenAI generates polished, consistent HTML emails for HR, improving communication quality and reducing manual writing time. ✅ Clean Separation of Onboarding and Offboarding Paths Both processes are independent but structured similarly, making maintenance easier and ensuring consistent logic. ✅ Direct Integration with Calendly’s API The workflow automatically: creates invitations retrieves organization membership deletes users This eliminates manual operations inside Calendly, greatly reducing administrative workload. ✅ Error Reduction & Traceability Since every action is logged in the Google Sheet, HR can easily track: when onboarding/offboarding occurred whether approval was given if Calendly access is active ✅ Improved User Experience The final screens (“Onboarding complete”, “Offboarding complete”, “Not approved”) provide immediate feedback to the requester. The workflow contains two parallel automation paths: 1. Onboarding Workflow How it works User submits the Onboarding Form The form collects first name, last name, and email. User is appended to the Google Sheet A new record is added with date, name, email, and a placeholder for the Calendly status. AI-generated email is prepared OpenAI generates a full HTML email notifying HR about the onboarding request. HR receives an approval request via email Using Gmail’s “send and wait” feature, HR must approve or reject onboarding. If approved: The system calls Calendly’s API to invite the user to the organization. The Google Sheet record is updated (CALENDLY = on). The process ends with a confirmation page. If rejected: The workflow ends with a “Not approved” page. 2. Offboarding Workflow How it works User submits the Offboarding Form Only the email is required. The system checks the Google Sheet It verifies if the email exists and if the user currently has Calendly access. If the user exists, the workflow: Uses AI to generate a professional offboarding request email. Sends an approval prompt to HR. If HR approves: The workflow retrieves the user’s Calendly membership via API. Deletes the user from the Calendly organization. Updates Google Sheets (CALENDLY = off). Ends with a confirmation page. If approval is denied: The workflow ends with a “Not approved” screen. Here's a description of the Calendly Onboarding and Offboarding workflow for n8n: How It Works This workflow automates user onboarding and offboarding processes for Calendly with human approval steps. The system operates through two parallel streams: Onboarding Process: Users submit their information (first name, last name, email) through an onboarding form Data is automatically recorded in a Google Sheets spreadsheet An AI agent generates a professional HTML email notification for HR The email is sent to HR with a double-approval mechanism requiring manual confirmation If approved, the system automatically adds the user to Calendly organization via API The spreadsheet is updated to mark the user as "on" for Calendly access User receives a completion confirmation Offboarding Process: Users submit their email through an offboarding form The system checks Google Sheets to verify the user exists and has Calendly access An AI agent generates an offboarding notification email for HR approval After HR double-approval, the system retrieves the user's Calendly membership via API The user is automatically removed from Calendly organization The spreadsheet is updated to mark Calendly access as "off" User receives offboarding completion confirmation Set Up Steps Prerequisites: Google Sheets spreadsheet with columns: DATE, FIRST NAME, LAST NAME, EMAIL, CALENDLY Calendly organization ID and API access Gmail account for sending approval emails OpenAI API access for email generation Configuration Steps: Google Sheets Setup: Create a spreadsheet with the required column structure Configure Google Sheets OAuth credentials in n8n Update the document ID in all Google Sheets nodes Calendly API Configuration: Replace "XXX" placeholders in HTTP Request nodes with actual Calendly API bearer tokens Set the correct Calendly organization ID in the Set nodes Verify API endpoints match your Calendly organization structure Email System Setup: Configure Gmail OAuth credentials for sending approval emails Update recipient email address from "info@n3w.it" to your HR department's email Adjust approval timeout settings as needed (currently 45 minutes) Form Configuration: Deploy both onboarding and offboarding forms Test form submissions to ensure data flows correctly Customize completion messages for both success and rejection scenarios AI Email Generation: Verify OpenAI API credentials are properly configured Test email template generation for both onboarding and offboarding scenarios Adjust system prompts if different email formatting is required Workflow Activation: Test both onboarding and offboarding flows end-to-end Verify approval emails are received and functional Confirm Google Sheets updates correctly Activate the workflow once testing is complete Need help customizing? Contact me for consulting and support or add me on Linkedin.