by Elegant Biztech
Automated QuickBooks Payment Reminders with Dynamic Invoice Tables This workflow provides a powerful solution for businesses using QuickBooks Online to automate their payment reminder process. It solves the time-consuming and manual task of chasing late payments by creating a fully automated system that ensures every customer with an outstanding balance receives a timely, professional, and consolidated reminder email. The workflow periodically fetches all unpaid invoices from your QuickBooks account. Its core strength lies in its ability to group multiple outstanding invoices for a single customer into one email, presenting them in a clean, easy-to-read table. This improves clarity for your customers, reduces email clutter, and significantly increases the likelihood of prompt payment. This template was crafted with care by the team at Prompt-Wizards to help you streamline your finances and build stronger customer relationships through smart automation. How the Workflow Operates Scheduler: The workflow initiates on a customizable schedule (e.g., every day at 9 AM). Get Unpaid Invoices: It fetches all invoices from your QuickBooks account that have an outstanding balance greater than zero and were created within a specified date range. Get Customer Wise Invoice list: This Code node intelligently processes the list of invoices and groups them by customer name, preparing the data for email generation. Invoice Template: This Code node dynamically generates a beautiful, responsive HTML email for each customer, complete with a personalized greeting, an invoice table, and the total amount due. Send Reminder Email: The final node sends the uniquely crafted email to the customer's billing address on file. Prerequisites Before you begin, please ensure you have the following: An active n8n instance. A QuickBooks Online account with API access. An email service (e.g., SMTP, Gmail, Outlook) connected to n8n as credentials. Step-by-Step Setup Guide Follow these instructions carefully to configure the workflow for your business in under 5 minutes. 1. Connect Your QuickBooks Account You must authenticate your QuickBooks account to allow n8n to fetch invoice data. Select the Get Unpaid Invoices node. In the Credentials section on the right, either select your existing QuickBooks account from the dropdown or click Create New to connect your account. (Optional): In the Options section of this node, you can adjust the TxnDate filter. It is pre-set to look at invoices from the last 90 days. You can change this date range to suit your needs. 2. Personalize the Email Template Personalize the email to match your brand and include your payment information. Open the Invoice Template node. Inside the code editor, find and replace these two placeholder values: Your Payment Link: On line 115, find href="https://your-payment-portal-link.com" and replace the placeholder URL with a link to your actual payment portal or website. Your Company Details: On line 120, find Your Company Name | ... and replace the placeholder text with your real company name and address in the email footer. 3. Configure Your Email Account You must connect the email account you want to send reminders from. Select the Send Reminder Email node. In the Credentials section, select your email account (e.g., Gmail, Outlook) or create a new connection. The To Address, Subject, and HTML fields are already configured with expressions to work automatically. No changes are needed here! 4. Activate the Workflow Open the Scheduler node to set the schedule for how often you want the workflow to run. Save the workflow using the button at the top. Click the Active toggle at the top right of the screen. Your automated payment reminder system is now live!!! For questions or to explore more custom solutions, visit us at Elegant Biztech or contact us at sales@elegantbiztech.com.
by Emir Belkahia
Newsletter Quality Assurance with LLM Judge This sub-workflow validates newsletter quality before sending to customers. It's triggered by the main newsletter workflow and acts as an automated quality gate to catch data issues, broken layouts, or missing content. Who's it for E-commerce teams who want to automate newsletter quality checks and prevent broken or incomplete emails from reaching customers. Perfect for ensuring consistent brand quality without manual review. How it works Receives newsletter HTML - Triggered by parent workflow with the generated newsletter content Sends to test inbox - Delivers newsletter to LLM Judge's Gmail inbox to validate actual rendering Retrieves rendered email - Fetches the email back from Gmail to analyze how it actually renders (catches Gmail-specific issues) AI-powered validation - GPT-5 analyzes the newsletter against quality criteria: Verifies all 6 product cards have images, prices, and descriptions Checks layout integrity and date range formatting Detects broken images or unprocessed template variables Validates sale prices are lower than original prices Decision gate - Based on Judge's verdict: PASS: Returns approval to parent workflow → sends to customers BLOCK: Alerts admin via email → requires human review Set up steps Setup time: ~5 minutes Connect your Gmail account for sending test emails Update the Judge's email address in "Send newsletter to LLM Judge" node Update the admin alert email in error handling nodes Connect your OpenAI API credentials (GPT-5 recommended for heavy HTML processing) (Optional) Adjust quality thresholds in the Judge's system prompt Requirements Gmail account for test sends and retrieving rendered emails OpenAI API key (GPT-5 recommended) Parent workflow that passes newsletter HTML content How to customize Adjust validation strictness**: Modify the Judge's system prompt to change what triggers BLOCK vs PASS Change product count**: Update prompt if your newsletters have different numbers of products Add custom checks**: Extend the system prompt with brand-specific validation rules Modify alert recipients**: Update email addresses in error handling nodes 💡 Pro tip: The workflow validates the actual Gmail-rendered version to catch image loading issues and ensure consistent customer experience.
by WeblineIndia
Daily Weather Reports with OpenWeather API, Google Sheets, and Gmail This workflow fetches real-time weather data from the OpenWeather API, stores it in a Google Sheet, formats it into a beautifully styled HTML report and emails it to recipients automatically every day at 10:00 AM. It helps teams track and monitor daily weather trends and optionally correlate them with energy production or field operations. Who’s it for? Renewable energy teams monitoring solar/wind energy output vs weather Facility or operations managers requiring daily climate updates Researchers or analysts logging environmental metrics Any team needing automated, daily weather reports by email How it works? The workflow begins with a Schedule Trigger set to run at 10:00 AM IST daily. It calls the OpenWeather API to fetch weather metrics for a predefined location. The data is then passed to a Google Sheets node named "Append Weather to Sheet", which stores all the key values into a structured spreadsheet. A Set or Function node generates a clean, styled HTML email using inline CSS and the weather values. Finally, a Gmail node sends this report to one or more recipients with a clear subject line and formatted body. How to set up? Create/Open your n8n instance (Cloud or Self-hosted). Connect the following credentials: Google Sheets (OAuth2) Gmail (OAuth2) Set your OpenWeather API key in the HTTP Request node (api.openweathermap.org). Replace latitude/longitude in the request URL as per your location. Link a Google Sheet and define the correct tab name and headers. Configure recipient email(s) in the Gmail node. Deploy the workflow and test. Requirements n8n account (self-hosted or cloud) OpenWeather API key (free or paid) Google account with access to: Google Sheets Gmail A valid Google Sheet created with the following headers (columns): Country Location Latitude Location Longitude Temperature (°C) Feels Like (°C) Min Temp (°C) Max Temp (°C) Humidity (%) Pressure (hPa) Sea Level (hPa) Ground Level (hPa) Visibility (m) Wind Speed (m/s) Wind Direction (°) Wind Gust (m/s) Cloudiness (%) Sunrise (UTC) Sunset (UTC) Date Time (UTC) How to customize? Change the scheduled time in the Schedule Trigger node. Modify the location coordinates in the OpenWeather API URL. Update the HTML template with different formatting or styling. Add a second email or sheet for energy output to correlate with weather. Extend the workflow with Slack, Notion, or Telegram alerts. Add‑ons Integrate with a solar energy API to track power production with weather. Post weather summaries to Notion, Slack or internal dashboards. Generate a visual chart in Google Sheets over time using the collected data. Trigger alerts when specific thresholds are exceeded (e.g., wind gust > 10 m/s). Use Case Examples Solar farm reporting**: Monitor daily weather impact on solar panel output. Logistics planning**: Notify teams of visibility or wind risks before dispatch. Site operations**: Send forecasts to maintenance or ground staff. Academic/weather logging**: Track atmospheric data over time. Common Troubleshooting | Issue | Possible Cause | Solution | | ------------------------------ | ---------------------------------------- | --------------------------------------------------------- | | Email not sent | Gmail credentials not connected properly | Reconnect Gmail account via n8n credential manager | | Weather data is missing fields | API response changed or API key invalid | Verify OpenWeather API key and URL format | | Google Sheet not updating | Incorrect spreadsheet ID or tab name | Double-check spreadsheet ID and sheet name in node | | HTML email renders incorrectly | Broken or missing tags in HTML | Test output HTML separately in browser/email preview tool | Need Help? If you need assistance setting up or customizing this workflow, feel free reach out. We’re here to help!
by Jaures NYA
Who’s it for This automation template is designed for content creators, social media managers, and automation enthusiasts who want to automatically scrape X (Twitter) posts with images and publish them directly to a Telegram channel — without writing a single line of code. With this workflow, you can keep your Telegram community constantly updated with the latest tweets from any account. It collects, cleans, and shares content in a fully automated cycle. How It Works Trigger – Start scraping from a specific X (Twitter) account using its unique ID and username. Fetch Data – The workflow calls the Twitter API (or a scraping endpoint) to gather recent tweets. Format & Filter – Extracts key fields (author name, username, text, URL, creation date, images, video) and keeps only tweets containing text and at least one image. Remove Duplicates – Ensures no tweet is processed or posted twice. Save to Google Sheets – Stores cleaned tweet data for backup and future use. Clean Text – Removes unwanted links and hashtags for a polished message. Loop & Publish – Sends each tweet (text + image) to your Telegram channel. Delay – Waits 3 minutes between each post to prevent spamming. How to Use Enter the Twitter ID and username of the target account. Connect your Google Sheets account to store scraped tweets. Connect your Telegram bot and specify the channel for publication. Run the workflow — tweets will be automatically scraped, filtered, saved, and posted to Telegram. Requirements A valid Twitter API connection or alternative scraping endpoint. A Google Sheet to store tweet data. A Telegram Bot linked to your channel. n8n (or any compatible automation platform) to run the workflow. Need help Contact me for consulting and support: LinkedIn / YouTube
by Matt F.
🎯 Automatically Create and Post Engaging Clips (with Audience Retention Videos) from Podcasts Using AI! 🚀 Effortlessly transform long-form podcast content into highly engaging, viral-read clips with this end-to-end automation template. Designed for content creators already monetizing on TikTok/YouTube/Instagram/Twitter and those looking to start earning from the platform, this workflow streamlines the process of extracting highlights, editing clips, and posting to all your social media, allowing you to maximize reach while minimizing manual effort. Key Features 🔹 AI-Powered Podcast Highlight Extraction Automatically identifies the best moments from any podcast video, ensuring each clip is engaging and shareable. 🔹 Smart Video Editing & Captioning Combines podcast highlights with a copyright-free attention retainer video (e.g., Minecraft parkour, GTA 5 gameplay) for increased audience retention. Auto-generated captions make clips more dynamic and accessible. 🔹 Automated Title Generation A Large Language Model (LLM) analyzes the clips to generate compelling titles, optimized for TikTok/YouTube/Instagram/Twitter’s algorithm. 🔹 Hands-Free Multi Platform Posting Seamlessly schedules and automatically posts clips to your Soicual Media accounts at defined intervals, keeping your audience engaged without manual uploads. 🔹 Fully Automated Workflow From video download to content publishing 100% FREE, this template eliminates the need for time-consuming video editing, helping you scale your content strategy effortlessly, without having to pay for multiple subscriptions tediously. Simply find a podcast you like and a cool Minecraft parkour (or any engaging) video, send their YouTube URLs, and let the automation handle everything—from video downloading and audio processing to highlight extraction, editing, captions, and publishing. How It Works (Step-by-Step Guide) 1️⃣ Provide the YouTube URLs One for the main podcast video (where highlights will be extracted). One for the background attention retainer video (e.g., Minecraft parkour, GTA 5 gameplay). 2️⃣ Automation Downloads and Processes the Videos Downloads both videos. Extracts audio from the podcast for analysis. 3️⃣ AI Analyzes and Extracts Key Highlights Detects the most engaging moments from the podcast. 4️⃣ Creates Fully Edited Clips Merges podcast highlights with the attention retainer video. Generates captions automatically. 5️⃣ Optimizes for Social Media Uses AI to generate a compelling title for each clip. 6️⃣ Posts to your Social Media Channels Automatically Uploads clips at your preferred intervals with zero manual effort. Who Is This For? ✅ Content creators already making money on TikTok/YouTube/Instagram/Twitter ✅ People looking to start earning with TikTok/YouTube/Instagram/Twitter ✅ Podcasters wanting to repurpose content into bite-sized, viral clips Get Started Today! 🚀 This AI-driven automation is perfect for scaling your TikTok/YouTube/Instagram/Twitter content effortlessly. To use this workflow, you’ll just need free accounts on Assembly, Andynocode, and Upload-Posts. Last Update: 4th of December, 2025*
by David Olusola
Inventory Low Stock Alerts E-commerce Automation This n8n template automatically monitors your Shopify inventory levels and sends alerts when products fall below your defined threshold. Prevent stockouts and maintain sales revenue with proactive inventory management. Good to know Default threshold is 10 units but easily customizable in the Code node Monitors all product variants individually Runs daily at 9 AM but schedule is fully adjustable Only sends alerts when action is needed (no empty notifications) How it works The schedule runs daily at 9 AM and connects to Shopify to download all products and variants. The workflow loops through every product and variant, checking inventory quantity for each item. It compares current stock against your threshold (default: 10 units) and identifies items below threshold. If any low stock items are found, it creates a comprehensive list and formats an alert message. The formatted report is sent to your Slack team so they can take immediate restocking action. Set up instructions Set up Shopify credentials in n8n: API Key, Password, Shop Subdomain, and Shared Secret The schedule trigger runs daily at 9 AM but feel free to adjust timing based on your business needs Modify "lowStockThreshold" variable in the Code node (default is set to 10 units) Set up Slack credentials and create a dedicated #inventory channel for alerts Ensure your Shopify products have inventory tracking enabled in product settings Test the workflow manually to verify it correctly identifies low-stock items What team sees: "🚨 Low Stock Alert! T-Shirt Blue (Medium): 3 left Coffee Mug (White): 7 left Phone Case (Black): 2 left" Business logic: Stock above threshold equals no alert. Stock at or below threshold equals alert sent. Stock at zero equals out of stock which is critical. Customising this workflow Add email alerts for critical out-of-stock items Set different thresholds for different product categories Include supplier contact information in alerts
by Barbora Svobodova
Telegram AI Voice & Email Assistant: Manage, Draft & Discuss Emails via Voice Who’s it for This workflow is perfect for professionals and teams who want to manage email communications hands-free directly from Telegram. Simply send a voice message to your bot and seamlessly check your recent emails, draft or send a reply, and discuss email threads—all powered by OpenAI’s transcription and chat capabilities, with no third-party voice agent required. How it works / What it does Sends voice messages to a Telegram bot, which are then transcribed via OpenAI. Retrieves recent emails, drafts, or sends replies based on your commands. Engages the user in conversational discussion about email content using OpenAI chat. Responds in text or synthesized voice (OpenAI), creating a natural interactive experience. Automates email management from Telegram, keeping you efficient on the go. How to set up Create a Telegram bot via @BotFather and obtain your API token. Add the OpenAI API key and Gmail OAuth credentials to n8n. Assign your credentials to the Telegram, OpenAI, and Gmail nodes (Draft/Send/Get Email). Deploy and activate the workflow. Interact with your Telegram bot: just send voice messages and let the assistant manage your emails! Requirements Telegram Bot Token OpenAI API Key Gmail OAuth Credentials How to customize the workflow Adjust the Switch node to route and handle new message types or responses. Integrate additional services such as Slack, Notion, or custom tools as needed. Fine-tune prompts or the OpenAI transcription settings for your specific use case. Modify email templates and memory/session nodes for advanced conversation flows. Embed video guides or extra sticky notes for enhanced onboarding and usability.
by WeblineIndia
Background Verification Executive Digest Automation: Track Completed & Pending Verifications via Email (from Google Sheets) This automation sends a daily late-night email summary to each Background Verification (BGV) executive — straight out of your “BGV Tracker” Google Sheet. Each executive gets their own digest listing candidates whose background checks were completed today and which ones are still pending, complete with clear “stale” alerts for overdue follow-ups. The workflow runs reliably via n8n, auto-grouping entries and packaging the results in a user-friendly tabular email, every day at 23:00 IST. Who’s it for BGV team leads & vendors** who want automatic updates on their queue. HR managers** looking to automate candidate tracking without manual report compilation. Ops teams** with Google Sheets-based BGV tracking wanting digest emails for each owner. Any organization managing candidate checks across multiple owners/executives. How it works Schedule Trigger: Runs every night at 23:00 IST (Asia/Kolkata), weekends OFF by default. Google Sheets: Reads all rows from your “BGV Tracker” (tab), using columns: candidate_name, previous_company, prevco_hr_name, prevco_hr_email bgv_status, last_follow_up, bgv_completion_date, bgv_executive, bgv_exe_email Code Node #1 (“Normalize & Parse”): Cleans and lower-cases all column names for consistency. Parses last_follow_up & bgv_completion_date from multiple local date formats. Adds helper flags: isCompletedToday, isStale (pending and last-follow-up ≥ 3 days). Code Node #2 (“Group & Filter”): Groups rows by bgv_exe_email (executive). Within each group: Segregates “Completed Today” and “Pending” items. Code Node #3 (“Format Digest”): Generates a personalized HTML email per executive, with two tables: Completed Today (with candidate/prevco info) Pending (with “stale” ⚠️ flags) Builds the subject line showing per-executive summary counts. Gmail Node: Sends the formatted email to each executive automatically. Can be customized for preview/test mode, CC or CSV attachments. How to set up Prepare Google Sheet: Create “BGV Tracker” tab (case-insensitive column names). Fill columns: candidate_name, previous_company, prevco_hr_name, prevco_hr_email, bgv_status, last_follow_up, bgv_completion_date, bgv_executive, bgv_exe_email n8n Configuration: Authenticate Google Sheets node (OAuth). Authenticate Gmail node (App Password recommended). Import workflow JSON and adjust credentials and sheet IDs. Test run (optional): Fill sample data in the sheet. Start workflow and review “dry run” outputs (optional). Activate workflow for daily auto-emails. Requirements A Google Sheet tab called “BGV Tracker” with supported columns. Gmail (SMTP or OAuth) credentials with permissions to send. n8n cloud or self-hosted, with Google and Gmail creds configured. How to customize Change run time:** Modify the Schedule Trigger for different hours/days. Weekend handling:** Add condition to skip Sat/Sun. Stale threshold:** Adjust the “>= 3 days” flag logic in code node. Email template:** Edit HTML layout, subject, header/footer as needed. Digest content:** Add/remove columns in the email tables within the code node. Preview/test mode:** Add a DRY_RUN variable and IF node for safe previewing before going live. Attachment/CC:** Add extra nodes to attach CSV, send summary to managers or post to Slack. Add‑ons Manager summary:** Aggregate all digests and send to HR head or ops manager. CSV exports:** Automatically attach filtered candidate lists per executive. Slack reminders:** DM executives with only their stale pending items. Auto-writeback:** Update next follow-up date in Sheet for stale cases. Use Case Examples BGV vendor:** Nightly queue email lets each checker focus on fresh items to close first. Recruiter audit:** HRBP gets an easy, nightly record of outstanding verifications, with overdue flags for fast escalation. Multi-client projects:** Divide the worksheet, send only relevant candidates to each exec, boosting clarity and compliance. Common Troubleshooting | Issue | Possible Cause | Solution | |-------------------------------|-------------------------------------------------|----------------------------------------------| | No emails sent | SMTP/Gmail credentials missing or expired | Re-authenticate Gmail node; check permissions| | Some candidates missing | Sheet has missing/invalid bgv_exe_email | Ensure every row has valid executive email | | Completed items not listed | Wrong/combo date formats in completion column | Use supported date format; ensure status="Completed" | | Pending doesn’t show stale | Last follow-up date out of expected format | Use supported date format & review data | | Workflow runs on weekends | Schedule misconfigured (or missed weekend filter)| Add/exclude Sat/Sun via config/node logic | | Pending pool includes “To be Sent” | Status filter in code not precise | Adjust code node filter to exclude explicitly| | Emails not delivered | Gmail sending limit exceeded | Add rate limit (wait node), check quota | Need Help? If you need a hand setting up, customizing or want to add more integrations (Slack, CSVs, approvals, etc.) reach out to us at WeblineIndia anytime. We can setup error handling, advanced templates and even help connect your flows to external systems!
by Praneel S
⚠️ Disclaimer: This workflow uses Google Calendar and Gmail nodes which you will have to configure yourself Who’s it for Anyone who wants an AI-powered personal assistant that can handle Gmail and Google Calendar tasks through a simple webhook. This is useful for developers, small teams, and productivity enthusiasts who want to connect a chatbot (Discord, Telegram, WhatsApp, or custom frontends) to their email and calendar. How it works / What it does This workflow acts as a chat-based AI assistant. You send text requests through a webhook (e.g., from a chatbot), and the AI agent interprets them to take actions like: 📧 Sending emails in Gmail 📥 Reading and summarizing your emails 📅 Checking your Google Calendar events ✅ Checking your availability before booking 📝 Creating new calendar events with Google Meet links ✏️ Updating existing events ⏰ Converting natural time expressions like “tomorrow at 3 PM” into exact timestamps The AI agent is powered by the Google Gemini Chat Model (or any LLM you choose) and follows strict guardrails: Confirms actions before executing Asks for clarification if details are missing Prevents double-booking by checking availability How to set up Import this workflow into n8n. Set up credentials for: Gmail (OAuth2) Google Calendar (OAuth2) AI provider (Gemini, OpenAI, Claude, etc.) Configure the webhook node (/chat) as your chatbot endpoint. You can connect it to Discord, WhatsApp, Telegram, or a frontend app. Customize the AI Agent’s system prompt if you want to tweak tone or rules. Deploy and start sending messages like: “Check my emails from today” “Schedule a meeting with John tomorrow at 3 PM” “Email my team about the deadline extension” Requirements n8n installed and running (cloud or self-hosted) Gmail and Google Calendar accounts with API access API key for your chosen AI provider Webhook Chatbot interface How to customize Swap Google Gemini with another LLM node (e.g., OpenAI GPT or Anthropic Claude). Add more tools (e.g., Slack, Notion, Trello) to extend capabilities. Adjust memory length in the Simple Memory node. Modify sticky notes with instructions tailored to your use case. Disclaimer This workflow uses the community webhook entry point, so it is best suited for self-hosted n8n instances. Do not hardcode API keys or sensitive credentials. Always use n8n’s Credentials system. Other Details Thanks for viewing this automation! Feel Free to contact me at praneel.tech Also Use my Webhook chatbot interface Which is configured perfectly for n8n Automations!
by Takuya Ojima
Who’s it for Teams that collect meeting requests via a form and want instant, error-free scheduling: customer success, sales, education, agencies, and community managers. How it works / What it does This workflow ingests a form submission (name, email, preferred date/time), checks Google Calendar for conflicts, and branches automatically. If the slot is free, it creates a calendar event, spins up a Zoom meeting, emails the guest a confirmation, and posts a Slack summary to your team. If busy, it sends a polite “please pick another time” email. Time handling defaults to Asia/Tokyo and converts to ISO internally to keep downstream integrations consistent. How to set up Import the workflow and rename nodes for clarity if needed. Open the Workflow Configuration (Set) node and adjust variables (calendar ID, meeting duration, Slack channel, sender info). Map your form fields in Extract Booking Details. Connect credentials in each service node (Google Calendar, Zoom, Gmail, Slack). Test once with a real submission. Requirements Active accounts and n8n credentials for Google Calendar, Zoom, Gmail, and Slack. A form or webhook source that sends name, email, and a valid datetime. How to customize the workflow Duration & buffers: Change end time calculation in Extract Booking Details. Time zones: If you accept multiple time zones, normalize before building ISO strings. Email copy: Personalize confirmation/alternative-time messages and add attachments if desired. Slack format: Enrich the post with fields (host, Zoom join URL, internal tags). Routing: Add CRM updates or reminders after the “slot free” branch. Security note: No hardcoded API keys in HTTP nodes. Configure all credentials via n8n’s credential manager.
by Rahul Joshi
📘 Description This workflow automates guest upsell discovery and recommendation for hotels by combining Google Sheets, OpenAI, and Slack. It is designed to help hospitality teams proactively identify the single best upsell opportunity for each guest—before arrival or during the stay—without manual analysis or guesswork. The workflow runs on a fixed daily schedule and reads guest records from Google Sheets, which acts as the operational source of truth. Guests are automatically categorized based on stay status (upcoming arrivals vs. currently checked in). For each guest, relevant context such as room type, repeat status, spend level, preferences, and special occasions is prepared and passed to an AI engine. The AI deterministically recommends one high-confidence upsell (e.g., room upgrade, airport pickup, spa, dining, or experience), returns a structured JSON response, and explains the reasoning behind the recommendation. The selected upsell type is written back to the spreadsheet for tracking, and a clear, actionable Slack notification is sent to the team so they can act immediately. Any workflow failure triggers a Slack alert, ensuring reliability and operational visibility. ⚙️ What This Workflow Does (Step-by-Step) ⏰ Daily Scheduled Trigger Runs automatically every day at a fixed time. 📊 Read Guest Data from Google Sheets Fetches all guest records from the central spreadsheet. 🔀 Split by Stay Status Routes guests into two paths: before arrival or during stay. 🎯 Prepare Guest Context Extracts guest attributes (room type, spend level, preferences, occasion, stay phase). 🤖 AI Upsell Recommendation Uses OpenAI to recommend one best upsell per guest and returns structured JSON. 🧹 Parse AI Response Cleans and validates AI output to ensure reliability. 💾 Update Guest Record Writes the selected upsell type back into Google Sheets. 💬 Notify Team in Slack Posts a formatted upsell notification with reasoning for immediate action. 🚨 Error Handling → Slack Alert Sends an instant alert if any step in the workflow fails. 🧩 Prerequisites • Google Sheets OAuth2 (read/write) • OpenAI API key (GPT-4o-mini) • Slack API credentials • Self-hosted n8n recommended 💡 Key Benefits ✔ Identifies high-value upsell opportunities automatically ✔ Context-aware AI recommendations (not generic offers) ✔ Clear before-arrival vs. during-stay logic ✔ Real-time team visibility via Slack ✔ Centralized tracking in Google Sheets ✔ Built-in error monitoring 👥 Perfect For Hotels and resorts Revenue and upsell teams Front-desk and concierge teams Hospitality operators focused on guest experience and ARPU growth
by Evoort Solutions
Job Search Automation with Job Search Global API & Google Sheet Logging Description: Automate your job search process by querying the Job Search Global API via RapidAPI every 6 hours for a specified keyword like “Web Developer.” This workflow extracts job listings and saves them directly to Google Sheets, with alerts sent for any API failures. Workflow Overview Schedule Trigger Runs the workflow automatically every 6 hours to ensure up-to-date job listings. Set Search Term Defines the dynamic job keyword, e.g., "Web Developer," used in API requests. Fetch Job Listings Sends a POST request to the Job Search Global API (via RapidAPI) to retrieve job listings with pagination. Check API Response Validates the API response status, branching workflow on success or failure. Extract Job Data Parses the job listings array from the API response for processing. Save to Google Sheet Appends or updates job listings in Google Sheets, avoiding duplicates by matching job titles. Send Failure Notification Email Sends an alert email if the API response fails or returns an error. How to Obtain Your RapidAPI Key (Quick Steps) Go to RapidAPI Job Search Global API. Sign up or log in to your RapidAPI account. Subscribe to the API plan that suits your needs. Copy your unique X-RapidAPI-Key from the dashboard. Insert this key into your workflow’s HTTP Request node headers. How to Configure Google Sheets Create a new Google Sheet for job listings. Share the sheet with your Google Service Account email to enable API access. Use the sheet URL in the Google Sheets node within your workflow. Map columns correctly based on the job data fields. Google Sheet Columns Used | Column Name | Description | | ----------- | ----------------------------------- | | title | Job title | | url | Job posting URL | | company | Company name | | postDate | Date job was posted | | jobSource | Source of the job listing | | slug | Unique job identifier or slug | | sentiment | Sentiment analysis score (if any) | | dateAdded | Date the job was added to the sheet | | tags | Associated tags or keywords | | viewCount | Number of views for the job post | Use Cases & Benefits Automated Job Tracking:** Get fresh job listings without manual searching by automatically querying the Job Search Global API multiple times per day. Centralized Job Data:** Save and update listings in Google Sheets for easy filtering, sharing, and tracking. Failure Alerts:** Get notified immediately if API calls fail, helping maintain workflow reliability. Customizable Search:** Change keywords anytime to tailor job searches for different roles or industries. Who Is This Workflow For? Recruiters** looking to monitor job market trends in real-time. Job Seekers** who want to automate job discovery for specific roles like “Web Developer.” HR Teams** managing talent pipelines and job postings. Data Analysts** needing structured job market data for research or reporting. Create your free n8n account and set up the workflow in just a few minutes using the link below: 👉 Start Automating with n8n Save time, stay consistent, and grow your LinkedIn presence effortlessly!