by Wessel Bulte
Automatically BackUp Your n8n Workflows to OneDrive This workflow automates the backup of your self-hosted n8n instance by exporting all workflows and saving them as individual .json files to a designated OneDrive folder. Each file is timestamped for easy versioning and audit tracking. After a successful backup, the workflow optionally cleans up old backup files and sends a confirmation email to notify you that the process completed. How it works Uses the HTTP Request node to fetch all workflows via the /rest/workflows API. Iterates through each workflow using SplitInBatches. Converts each workflow to a .json file using Set and Function nodes. Uploads each file to a target Microsoft OneDrive folder using OAuth2. Deletes old backup files from OneDrive after upload, with the option to keep backups for a configurable number of time. Sends an email notification once all backups have completed successfully. Setup instructions Enter your n8n Base URL and authentication details in the HTTP Request node. Set up Microsoft OneDrive OAuth2 credentials for cloud upload. Configure the Email node with SMTP credentials to receive backup confirmation. (Optional) Adjust the file retention logic to keep backups for a set duration. A Cron trigger to schedule the workflow automatically (e.g., daily or weekly). 👉 Sticky notes inside the workflow explain each step for easy setup. Need Help Need Help 🔗 LinkedIn – Wessel Bulte
by Muhammad Bello
Description This automation streamlines client onboarding by instantly processing a submitted form, extracting key details from an uploaded proposal, and using GPT-4 to generate a full onboarding task list. It then sets up the client workspace across Google Drive, ClickUp, and Slack, and sends a personalized welcome email completing in under a minute from submission. Setup Steps Connect your Google Drive, ClickUp, Slack, Gmail, and OpenAI accounts. Customize the form fields and system prompt to match your business. Test the workflow with a sample client submission to confirm all outputs. Estimated Setup Time: \~30–45 minutes for a first-time user familiar with n8n integrations.
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 Daniel Shashko
This workflow automates the process of monitoring multiple RSS feeds, intelligently identifying new articles, maintaining a record of processed content, and delivering timely notifications to a designated Slack channel. It leverages AI to ensure only truly new and relevant articles are dispatched, preventing duplicate alerts and information overload. 🚀 Main Use Cases Automated News Aggregation:** Continuously monitor industry news, competitor updates, or specific topics from various RSS feeds. 📈 Content Curation:** Filter and deliver only new, unprocessed articles to a team or personal Slack channel. 🎯 Duplicate Prevention:** Maintain a persistent record of seen articles to avoid redundant notifications. 🛡️ Enhanced Information Delivery:** Provide a streamlined and intelligent way to stay updated without manual checking. 📧 How it works The workflow operates in distinct, interconnected phases to ensure efficient and intelligent article delivery: 1. RSS Feed Data Acquisition 📥 Initiation:** The workflow is manually triggered to begin the process. 🖱️ RSS Link Retrieval:** It connects to a Baserow database to fetch a list of configured RSS feed URLs. 🔗 Individual Feed Processing:** Each RSS feed URL is then processed independently. 🔄 Content Fetching & Parsing:** An HTTP Request node downloads the raw XML content of each RSS feed, which is then parsed into a structured JSON format for easy manipulation. 📄➡️🌳 2. Historical Data Management 📚 Seen Articles Retrieval:** Concurrently, the workflow queries another Baserow table to retrieve a comprehensive list of article GUIDs or links that have been previously processed and notified. This forms the basis for duplicate detection. 🔍 3. Intelligent Article Filtering with AI 🧠 Data Structuring for AI:** A Code node prepares the newly fetched articles and the list of already-seen articles into a specific JSON structure required by the AI Agent. 🏗️ AI-Powered Filtering:** An AI Agent, powered by an OpenAI Chat Model and supported by a Simple Memory component, receives this structured data. It is precisely prompted to compare the new articles against the historical "seen" list and return only those articles that are genuinely new and unprocessed. 🤖 Output Validation:** A Structured Output Parser ensures that the AI Agent's response adheres to a predefined JSON schema, guaranteeing data integrity for subsequent steps. ✅ JSON Cleaning:** A final Code node takes the AI's raw JSON string output, parses it, and formats it into individual n8n items, ready for notification and storage. 🧹 4. Notification & Record Keeping 🔔 Persistent Record:** For each newly identified article, its link is saved to the Baserow "seen products" table, marking it as processed and preventing future duplicate notifications. 💾 Slack Notification:** The details of the new article (title, content, link) are then formatted and sent as a rich message to a specified Slack channel, providing real-time updates. 💬 Summary Flow: Manual Trigger → RSS Link Retrieval (Baserow) → HTTP Request → XML Parsing | Seen Articles Retrieval (Baserow) → Data Structuring (Code) → AI-Powered Filtering (AI Agent, OpenAI, Memory, Parser) → JSON Cleaning (Code) → Save Seen Articles (Baserow) → Slack Notification 🎉 Benefits: Fully Automated:** Eliminates manual checking of RSS feeds and Slack notifications. ⏱️ Intelligent Filtering:** Leverages AI to accurately identify and deliver only new content, avoiding duplicates. 💡 Centralized Data Management:** Utilizes Baserow for robust storage of RSS feed configurations and processed article history. 🗄️ Real-time Alerts:** Delivers timely updates directly to your team or personal Slack channel. ⚡ Scalable & Customizable:** Easily adaptable to monitor various RSS feeds and integrate with different Baserow tables and Slack channels. ⚙️ Setup Requirements: Baserow API Key:** Required for accessing and updating your Baserow databases. 🔑 OpenAI API Key:** Necessary for the AI Agent to function. 🤖 Slack Credentials:** Either a Slack OAuth token (recommended for full features) or a Webhook URL for sending messages. 🗣️ Baserow Table Configuration:** A table with an rssLink column to store your RSS feed URLs. A table with a Nom column to store the links of processed articles. For any questions or further assistance, feel free to connect with me on LinkedIn: https://www.linkedin.com/in/daniel-shashko/
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 Robert Breen
This n8n workflow template creates an intelligent data analysis chatbot that can answer questions about data stored in Google Sheets using OpenAI's GPT-5 Mini model. The system automatically analyzes your spreadsheet data and provides insights through natural language conversations. What This Workflow Does Chat Interface**: Provides a conversational interface for asking questions about your data Smart Data Analysis**: Uses AI to understand column structures and data relationships Google Sheets Integration**: Connects directly to your Google Sheets data Memory Buffer**: Maintains conversation context for follow-up questions Automated Column Detection**: Automatically identifies and describes your data columns 🚀 Try It Out! 1. Set Up OpenAI Connection Get Your API Key Visit the OpenAI API Keys page. Go to OpenAI Billing. Add funds to your billing account. Copy your API key into your OpenAI credentials in n8n (or your chosen platform). 2. Prepare Your Google Sheet Connect Your Data in Google Sheets Data must follow this format: Sample Marketing Data First row** contains column names. Data should be in rows 2–100. Log in using OAuth, then select your workbook and sheet. 3. Ask Questions of Your Data You can ask natural language questions to analyze your marketing data, such as: Total spend** across all campaigns. Spend for Paid Search only**. Month-over-month changes** in ad spend. Top-performing campaigns** by conversion rate. Cost per lead** for each channel. 📬 Need Help or Want to Customize This? 📧 rbreen@ynteractive.com 🔗 LinkedIn 🔗 n8n Automation Experts
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.
by Amirul Hakimi
Advanced AI Lead Enrichment & Cold Email Personalization with n8n, Airtable, Apify, and LLMs Automated B2B Lead Nurturing: Hyper-Personalization for High-Converting Cold Email Campaigns This powerful n8n automation workflow is designed to execute advanced B2B lead enrichment and hyper-personalization for cold email outreach. By orchestrating a complex chain of data scraping, AI analysis (via LLMs/GPT-4.1), and CRM synchronization (using Airtable), this workflow ensures every lead receives a highly tailored and relevant outreach message, maximizing conversion rates and minimizing manual effort. Workflow Execution & Key Features Airtable Trigger & Lead Qualification: The workflow is triggered by an Airtable webhook, pulling a new lead record (including name, email, and company URLs). Email Validation* is performed using *NeverBounce** to filter out invalid contacts. Initial Lead Filtering screens for key demographic criteria (e.g., US: Yes or No? and target Headcount: >5, <30?). Only qualified B2B leads proceed, ensuring optimal resource allocation. Deep Web & Social Scraping (Apify Integration): LinkedIn Company Scraper* and a *LinkedIn Profile Scraper* (via *Apify**) extract raw data from the lead's company and personal profiles. Company Homepage Scraper** pulls the main website content for analysis. Scrape Personal LinkedIn Posts** node retrieves recent activity for the ultimate personalization hook. AI-Powered Data Synthesis & Variable Determination: Multiple OpenAI (GPT-4.1-mini/4.1) nodes analyze and structure the raw, cleaned text (Remove HTML nodes ensure clean inputs). Determine Valuable URLs** uses an LLM to smartly categorize and select key company pages (e.g., ==/about==, ==/solutions==, ==/case-studies==) for deeper scraping. Analyze Company/Mission, Analyze Offerings & Positioning, Analyze Process & Differentiation, and **Analyze Proof of Success nodes create factual, structured business summaries for the ultimate ICP research. Determine Variables* nodes create *pre-written, personalized cold email variables** (==company_specialty==, ==ICPofLead==, ==PainPointLeadSolves==, etc.) for different outreach strategies. LinkedIn Post Personalization: An LLM (Craft Opening Line - Posts) analyzes recent LinkedIn activity to generate a hyper-specific, conversation-starting opener (e.g., "Saw your LinkedIn post about..."). Conditional logic (Posts Available?) determines whether to use the post-based opener or fall back to the standard, company-based personalization. CRM Update & Campaign Launch (Instantly.ai): Finalized, enriched lead data and the crafted personalization variables are synchronized back to the Airtable CRM for record-keeping and lead status updates (Update Lead W/ Enrichment). The lead is then seamlessly pushed to the Instantly.ai outbound platform, injecting the AI-generated custom variables directly into the cold email sequence for mass deployment. This blueprint automates the tedious, high-effort task of prospect research and personalization, providing a scalable lead generation solution that increases both outreach quality and sales velocity. Stop sending generic emails—start leveraging AI automation today.
by David Olusola
📄 AI Summarize Weekly Google Docs Updates → Send Email This workflow automatically reviews selected Google Docs every week, checks for updates, and generates a professional weekly summary email using AI. It’s perfect for keeping your team or leadership informed without manually digging through multiple documents. ⚙️ How It Works Weekly Monday 9AM Trigger A Cron node runs every Monday at 9 AM (adjustable). Ensures summaries arrive at the start of the workweek. Prepare Docs List A Code node defines which Google Docs to monitor. Includes doc IDs, names, and categories (e.g., Projects, Meetings, Updates). Sets a 7-day date range for updates. Fetch Google Docs & Metadata Retrieves document content and metadata (last modified, user, version). Filters only docs that have been updated in the past week. Process Doc Data Extracts plain text content from Google Docs. Cleans and normalizes text for summarization. Collects key details: word count, modified by, last updated date. Aggregate Updated Docs Gathers all updated docs into one combined content block. Prepares context for the AI model to create a weekly digest. Generate AI Summary Uses GPT-4 to generate a business-style weekly summary. Includes: Executive summary Key updates by document Important changes Action items Next week’s focus Prepare Email Content Formats the AI response into both plain text and HTML email. Adds a list of updated documents with last modified info. Send Summary Email Sends the final summary to the configured team emails via Gmail. Subject line includes the date range for easy reference. 🛠️ Setup Steps 1. Google Docs Setup Add document IDs in the Prepare Docs List node. Enable the Google Drive API in your Google account. Connect Google OAuth credentials in n8n. 2. OpenAI API Key Get your key from platform.openai.com. Add it to your n8n credentials. Uses GPT-4 for high-quality summaries. 3. Email Recipients Update the Gmail node with your team’s email addresses. Customize the subject line and template if needed. 4. Schedule Default: Every Monday at 9 AM. Adjust the Cron node if you prefer a different time. 📧 Example Output Subject: 📄 Weekly Document Updates Summary – 08/22/2025 – 08/29/2025 Body (excerpt): Dear Team, Here's your weekly document updates summary: Executive Summary: Project Status Doc updated with new timelines. Meeting Notes highlight three key decisions from leadership. Team Updates document includes two new hires and onboarding tasks. Key Updates by Document: • Project Status Doc (Projects) - Updated by Alice on 08/27 • Meeting Notes (Meetings) - Updated by Bob on 08/28 • Team Updates (Updates) - Updated by Sarah on 08/29 Action Items: Confirm revised project deadlines. Follow up on onboarding checklist. This summary was automatically generated by your n8n workflow. ⚡ With this workflow, you’ll never miss important document changes — your team gets a clear, AI-generated weekly digest straight in their inbox.
by Khairul Muhtadin
Ticketing Backend automates registration, QR-ticket generation, email delivery, and check-in validation using Google Sheets, Gmail, and a webhook scanner — reducing manual ticket prep from ~3 hours to under 5 minutes for 200 attendees. Why Use This Workflow? Time Savings:** Automates ticket generation & delivery. reduces manual processing for 200 attendees from ~3 hours to <5 minutes. Cost Reduction:** Removes dependency on paid ticketing platforms for basic events — save up to $150–$300/month for small organizations. Error Prevention:** Single-source truth in Google Sheets with QR-based check-in reduces double-checkin and human errors by >90%. Scalability:** Runs on a schedule and webhooks; scales from dozens to thousands of tickets (watch API/email quotas). Ideal For Event Organizers / Community Managers:** Sell & distribute tickets for meetups, runs, and local events with immediate QR delivery. Operations / Venue Staff:** Fast, reliable check-in via mobile scanner POSTing to webhook for instant validation. Small Agencies & SaaS Teams:** Lightweight, low-cost ticketing backend that integrates with existing Google accounts. How It Works Trigger (Registration): POST /v1/register receives registration payload (nama, email, no_hp, jumlah_tiket, total_price, payment_method). Data Collection (Registration): Validate input → check existing participant in Register sheet → append registration. Processing (Ticket Generation): Scheduled job (START runs every minute) finds rows with Payment Status = PAID and Email Sent = NO. Intelligence Layer: For each ticket: generate unique Ticket ID (TL-YYYYMMDD-XXXX-N-HASH), build QR payload JSON, create QR image via qrserver API, and build HTML email with embedded base64 QR. Output & Delivery: Send ticket email(s) via Gmail; write one Tickets row per generated ticket and mark Email Sent = YES in Register. Storage & Logging: All participant & ticket records persisted to Google Sheets; check-in events update row (Checked In = YES and Checkin TIme). Core Endpoints Registration webhook: POST /v1/register Scanner webhook (check-in): POST /v1/scanner Event Metadata Event:** TABRAK_LARI Event date:** 15 November 2025 Event location:** GOR Pontianak Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance(https://n8n.partnerlinks.io/khmuhtadin)) | Essential | Host the workflow and webhooks | | Google account (Sheets + Gmail) | Essential | Store tickets & send emails | | Google Sheet | Essential | Register & Tickets data store | | Public webhook URL / reverse proxy | Essential | Expose /v1/register & /v1/scanner to scanners/clients | | qrserver.com (public API) | Optional | Generate QR images (no credentials) | > Important: Make sure your n8n instance URL is publicly accessible or use a tunneling/reverse proxy so webhooks can receive POSTs. Installation Steps Import the JSON into your n8n instance([https://n8n.partnerlinks.io/khmuhtadin). Configure credentials: Google Sheets OAuth2: Grant access to Google Drive & Sheets API (spreadsheets.readonly & spreadsheets). Gmail OAuth2: Grant send email scope (Gmail send). Update environment-specific values: Verify Google Sheet ID. Set the public base URL for ticket scanner clients to POST /v1/scanner. Customize settings: Event name/date/location (variables in Generate Ticket Data / Build HTML Email). Email sender address and subject line in Gmail node. Test execution: Use a sample POST to /v1/register with valid fields to create a registration. Mark a row as PAID and Email Sent = NO to trigger scheduled ticket generation. Simulate a scanner POST to /v1/scanner with the barcode JSON payload to test check-in. Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | REGISTER (Webhook) | Accepts registration POSTs | Path: /v1/register | | Validate Input (Code) | Server-side validation | Validates nama, email, no_hp, jumlah_tiket, payment_method | | Get Participant (Google Sheets) | Check duplicate email | Filters Register tab by Email | | Store Data (Google Sheets) | Append registration | Tab: Register (gid=0) | | START (Schedule Trigger) | Finds paid registrations | Runs every 1 minute | | Get Rows (Google Sheets) | Reads Register rows | Reads full Register tab | | Filter Paid Not Sent (Filter) | Finds rows with Payment Status=PAID & Email Sent=NO | Filter node conditions | | Generate Ticket Data (Code) | Generate ticket IDs & QR payloads | Ticket ID format TL-YYYYMMDD-XXXX-N-HASH | | Generate QR Code (HTTP Request) | Calls qrserver.com to build PNG | URL: https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=... | | Build HTML Email (Code) | Builds ticket HTML & embeds Base64 QR | Template contains ticket details & QR | | Send Email (Gmail) | Sends ticket email | To: recipient Email; Subject configurable | | Update Sheet (Tickets) | Append ticket rows | Tab: Tickets (gid=2010454173) | | Parse Data (Code) | Aggregates ticket IDs per email | Updates Register with combined ticket IDs | | SCAN TICKET (Webhook) | Check-in endpoint | Path: /v1/scanner | | Parse Barcode (Code) | Parses incoming scanner payload | Expects JSON in body.barcode | | Get Tickets (Google Sheets) | Lookup ticket by Ticket ID | Filters Tickets tab by Ticket ID | | Ticket Available? (If) | Validates existence & Checked In status | Branches to update or return error | | Update Ticket Status (Google Sheets) | Mark Checked In = YES | Sets Checkin TIme to scannedAt | | Checked IN / Already Checked IN (RespondToWebhook) | Respond payloads for scanner | JSON responses with status & metadata | Workflow Logic Registration:** Writes to Register sheet. A scheduled job picks up PAID rows where Email Sent = NO; for each row it generates one record per ticket, calls the QR API for an image, sends an email per ticket (multi-ticket support), then appends Tickets rows and marks Email Sent = YES by updating the Register sheet with combined ticket IDs. Check-in:** The scanner webhook accepts barcode JSON, extracts ticket_id, looks up the Tickets sheet, prevents duplicate check-ins by checking "Checked In" flag, and updates sheet with check-in timestamp on success. Customization Options Basic Adjustments Email Template:** Edit Build HTML Email node to change branding, copy, or layout. Ticket ID Format:** Change code in Generate Ticket Data to alter prefix or hash length. Event Metadata:** Change event_name, event_date, event_location in code nodes. Advanced Enhancements Payment Gateway Integration:** Integrate with payment gateway (e.g., webhook from Stripe) to automatically set Payment Status = PAID — complexity: medium. Cloud Storage for QR Images:** Use cloud storage (S3) for QR images instead of base64-embedding — complexity: medium-high. Batch Email Provider:** Use batch email provider (SendGrid/Mailgun) for high-volume events to reduce Gmail quota risks — complexity: medium. Troubleshooting | Problem | Cause | Solution | |---------|-------|----------| | Invalid QR / scanner returns "Invalid QR code format" | Scanner payload not sending barcode JSON or malformed JSON | Ensure scanner POST body contains valid JSON string under body.barcode; validate payload in Parse Barcode node | | Ticket exists but cannot update | Google Sheets API auth / permission error | Reconnect Google Sheets OAuth2 credential; ensure the service account/user has edit access to the sheet | | Emails not sent | Gmail OAuth2 credential missing or Gmail API quota reached | Reauthorize Gmail credential; consider switching to SendGrid/Mailgun for large volumes | | Duplicate check-in allowed | Logic checking "Checked In" value mismatch (case/format) | Normalize the Checked In field values and use strict comparisons in Ticket Available? node | | Slow generation for many tickets | Sequential QR calls and sends | Use parallel execution or a dedicated email service; increase worker resources for n8n instance | Use Case Examples Scenario 1: Community Fun Run (200 attendees) Challenge:** Manual QR generation and emailing takes ~3 hours. Solution:** After marking registrations as PAID, the scheduled job generates 200 QR tickets and emails them automatically. Result:** Ticket prep completed in <5 minutes; volunteer time reduced by ~3 hours. Scenario 2: Regional Festival (2,000 tickets) Challenge:** High volume requires reliable delivery and check-in speed. Solution:** Use this workflow but replace Gmail with a transactional email provider (SendGrid) and host n8n on a scalable instance. Monitor Google Sheets and email provider quotas. Result:** Automated delivery scales; on-site check-in handled via the /v1/scanner endpoint with near-instant validation. Additional Information Created by: Khmuhtadin Category: Event Automation, Ticketing Backend Tags: google-sheets, gmail, qr-code, webhook, ticketing Need custom workflows or help adapting this for your event? Contact us Note: Import the JSON into your n8n instance to get started. My Social: Threads LinkedIn Medium Workflow Collections portfolio
by Avkash Kakdiya
How it works This workflow pulls pending leads from Google Sheets on a scheduled trigger and processes each record individually. For every lead, an AI agent generates a structured subject and HTML body based on predefined rules. A tracking ID is then created and injected into the outgoing email before sending via Gmail. Once sent, Gmail metadata is retrieved and forwarded to your tracking API to initiate a follow-up sequence, and the corresponding lead entry in Google Sheets is updated. Step-by-step Lead intake** Schedule Trigger – Runs daily and initiates lead retrieval. Get row(s) in sheet – Fetches only rows marked with “Pending”. Loop Over Items – Iterates through each lead entry. Email generation** AI Agent – Generates subject and HTML body using provided lead fields. OpenAI Chat Model – Executes the LLM instructions powering the email creation. Structured Output Parser – Validates that the AI returns compliant JSON. Tracking setup** Generates Tracking ID – Calls your tracking API and receives a unique tracking identifier. The tracking ID is embedded into the email through a tracking pixel. Email dispatch** Send a message – Sends the personalized email from Gmail using the AI-generated subject and body. Metadata retrieval** Fetches Email Data – Retrieves the sent email’s messageId, threadId, and related metadata. Sequence initiation** Starts Sequence – Posts metadata and tracking ID to your tracking API to activate the automated follow-up sequence. Lead status update** Append or update row in sheet – Marks the processed lead as “Done” and updates Google Sheets. Why use this? Automates outbound lead processing without manual input or oversight. Delivers consistent, structured, AI-generated email outreach. Ensures every email is tracked with unique identifiers for engagement analytics. Pushes metadata to your tracking system for reliable follow-up sequences. Updates your Google Sheets lead pipeline automatically to prevent duplicate outreach.
by Yang
Who's it for This template is perfect for YouTube creators, content marketers, and social media managers who want to turn existing videos into fresh, high-performing content ideas—automatically. It’s ideal if you want to save time brainstorming and focus on publishing videos that your audience actually wants. What it does This workflow watches a Google Sheet for new YouTube video links. For each new video, it fetches the transcript and top comments using Dumpling AI, then sends that data along with the original search topic to GPT-4o. GPT-4o returns 3–5 new content ideas based on: What was discussed in the video What people are searching for What viewers are saying in the comments Each idea is saved to another Google Sheet and also sent to your email. How it works Trigger: Watches for new rows in the "YouTube Finds" sheet Transcript & Comments: Sends video URL to Dumpling AI to fetch transcript and comments Merge & Format: Cleans and aggregates comments into one input AI Prompting: GPT-4o analyzes transcript, topic, and comments to suggest ideas Output: Splits and saves the results to a "YouTube Content Idea" sheet and emails them Requirements 🧠 OpenAI API Key stored securely in credentials 🤖 Dumpling AI API Key stored as HTTP header credentials 📄 Google Sheets with the following setup: Input Sheet ("YouTube Finds") Video Link search topic Output Sheet ("YouTube Content Idea") title whyGoodIdea engagementPotential How to customize You can: Change the number of ideas returned by GPT-4o Adjust the AI prompt to reflect your niche (e.g. education, tech, travel) Add an approval step before sending the email Extend it to post ideas directly into Trello, Notion, or Airtable > This workflow gives you an automated content strategist working 24/7—turning every YouTube upload into a launching pad for future content.