by Rahul Joshi
Description Keep your product and project teams perfectly aligned by automatically syncing task dependencies between Jira and Monday.com. This workflow ensures real-time visibility into cross-platform blockers and dependencies, allowing smoother delivery across multiple teams and tools. 🔄📅💼 What This Template Does Step 1: Trigger the workflow on a schedule or manual run. Step 2: Fetch project tasks and dependencies from Jira. Step 3: Retrieve matching items from Monday.com based on linked project IDs or issue keys. Step 4: Compare dependencies between both systems. Step 5: Identify mismatched or missing dependencies across platforms. Step 6: Send summarized reports to Slack or Gmail for team visibility. Step 7: Optionally update Monday.com or Jira items with dependency status tags. Key Benefits ✅ Maintain alignment across multiple projects and teams. ✅ Detect and resolve dependency conflicts before they cause delays. ✅ Automate visibility — no more manual cross-checking. ✅ Simplify multi-tool management for product and engineering leads. Features Integration between Jira Cloud and Monday.com API Cross-dependency comparison logic Scheduled or manual execution Slack/Gmail notifications for updates or conflicts Custom mapping for project and issue identifiers Requirements Jira Cloud account with API credentials Monday.com API key or OAuth2 token Optional: Slack or Gmail credentials for notifications n8n instance (cloud or self-hosted) Target Audience Product and Project Managers coordinating across tools 🧩 Engineering Leads overseeing multi-platform sprints ⚙️ PMOs managing dependencies across cross-functional teams 📊 Operations teams aiming for unified delivery visibility 📈 Step-by-Step Setup Instructions Connect your Jira and Monday.com credentials in n8n. Map project identifiers or keys between Jira and Monday.com. (Optional) Configure Slack or Gmail for daily status alerts. Adjust the cron expression to match your monitoring schedule. Run the workflow once manually to validate mappings. Activate the workflow for ongoing dependency tracking. ✅
by 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 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 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 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 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.
by Sk developer
This workflow fetches free Udemy courses hourly via the Udemy Coupons and Courses API on RapidAPI, filters them, and updates a Google Sheet. It sends alerts on errors for smooth monitoring. Node-by-Node Explanation Schedule Trigger: Runs the workflow every hour automatically. Fetch Udemy Coupons: Sends POST request to the Udemy Coupons and Courses API on RapidAPI to get featured courses. Check API Success: Verifies if the API response is successful; routes accordingly. Filter Free Courses: Selects only courses with sale_price of zero (free courses). Send Error Notification: Emails admin if API fetch fails for quick action. Sync Courses to Google Sheet: Appends or updates the filtered free courses into Google Sheets. Google Sheets Columns id name price sale_price image lectures views rating language category subcategory slug store sale_start Google Sheets Setup & Configuration Steps Create Google Sheet: Create or open a Google Sheet where you want to sync courses. Set Headers: Add columns headers matching the fields synced (id, name, price, etc.). Enable Google Sheets API: Go to Google Cloud Console, enable Google Sheets API for your project. Create Service Account: In Google Cloud Console, create a Service Account with editor access. Download Credentials: Download the JSON credentials file from the service account. Share Sheet: Share your Google Sheet with the Service Account email (found in JSON file). Configure n8n Google Sheets Node: Use the service account credentials, set operation to “Append or Update”, provide Sheet URL and sheet name or gid. Match Columns: Map the course fields to your sheet columns and set id as the unique key for updates. How to Obtain RapidAPI Key & Setup API Request Sign up/Login: Visit RapidAPI Udemy Coupons and Courses API and create an account or log in. Subscribe to API: Subscribe to the Udemy Coupons and Courses API plan (free or paid). Get API Key: Navigate to your dashboard and copy your x-rapidapi-key. Configure HTTP Request: In your workflow’s HTTP Request node: Set method to POST. URL: https://udemy-coupons-and-courses.p.rapidapi.com/featured.php Add headers: x-rapidapi-host: udemy-coupons-and-courses.p.rapidapi.com x-rapidapi-key: your copied API key Set content type to multipart/form-data. Add body parameter: page=1 (or as needed). Test API: Run the node to ensure the API responds with data successfully before continuing workflow setup. Use Cases & Benefits Automates daily updates of free Udemy courses in your sheet using the Udemy Coupons and Courses API on RapidAPI. Saves manual effort in tracking coupons and deals. Enables quick error alerts to maintain data accuracy. Ideal for course aggregators, affiliate marketers, or learning platforms needing fresh course data. Who This Workflow Is For Content curators and edtech platforms tracking free courses. Affiliate marketers promoting Udemy deals. Anyone needing real-time access to updated free Udemy coupons.
by Patrick Siewert
🛡️ Evaluate Guardrails Node Accuracy with Automated Test Suite This workflow benchmarks the n8n Guardrails node across multiple safety categories -including PII, NSFW, jailbreak attempts, secret keys, and unsafe URLs. It runs 36 structured test cases, classifies each as PASS or VIOLATION, calculates accuracy metrics, and emails a detailed HTML report. 🔄 How it works The workflow loops through 36 predefined test prompts. Each prompt is checked by the Guardrails node for violations. Results are recorded as PASS or VIOLATION. The system calculates metrics (accuracy, precision, recall, F1). A formatted Markdown → HTML report is generated and sent via Gmail. ⚙️ Set up steps Add your OpenAI and Gmail credentials in n8n. Replace YOUR_MAIL_HERE in the Gmail node with your own address. (Optional) Change the model in the OpenAI Chat Model node. Default: gpt-4o-mini You can switch to gpt-5 or another available model if needed. Click Execute Workflow: test cases will run automatically. Check your inbox for the results. 🧠 Who it’s for AI safety testers and workflow developers n8n users experimenting with the Guardrails node Teams validating LLM moderation, filtering, or compliance setups 🧩 Requirements n8n v1.119+ Guardrails node enabled OpenAI credentials (optional but recommended) Email integration (Gmail or SendGrid) 💡 Why it’s useful Use this test suite to understand how accurately the Guardrails node identifies unsafe content across different categories. The generated metrics help you fine-tune thresholds, compare models, and strengthen AI moderation workflows. Example result
by WeblineIndia
Detect duplicate candidates by email/phone from Gmail to Slack using Google Sheets This workflow automatically detects duplicate job applicants by checking incoming emails from Gmail against existing records in Google Sheets. If a candidate's email is already found in the sheet, it sends an alert to Slack; otherwise, it adds the candidate to the sheet. Who’s it for HR and recruitment teams processing candidate emails manually Startups or SMEs handling job applications via Gmail Anyone who wants to automate resume collection and deduplication Teams using Slack and Google Workspace How it works Triggers every few minutes via the Schedule Trigger node Fetches recent emails labeled "applicant" from Gmail Extracts candidate details from the email body using regex Reads all existing rows from the Google Sheet Compares the candidate’s email with existing entries If duplicate → Sends a Slack alert If new → Appends to the Google Sheet How to set up Label candidate emails in Gmail with a label like applicant Connect Gmail, Google Sheets, and Slack credentials in n8n Create a Google Sheet with these columns: candidate_name, candidate_email, candidate_phone, role_applied, years_of_experience, recruiter, resume_url, source_email Import the workflow JSON Update: Gmail label ID Google Sheet ID Slack channel or user Activate the workflow Requirements n8n (self-hosted or cloud) Gmail account with access to labeled application emails Google Sheet to store candidates Slack account with chat:write scope Basic regex familiarity (optional) How to customize Change comparison logic to include phone numbers. Add fallback logic to check for similar names. Add filters for roles, experience levels. Forward resumes to Drive or Notion. Trigger an approval flow for screened candidates. Add‑ons Google Drive: Upload parsed resumes. Notion / Airtable: Store structured candidate records. Webhooks: Forward to ATS or CRM. PDF parsers: Extract data from attachments. Use Case Examples | Use Case | Description | | ------------------- | ----------------------------------------------------- | | Resume deduplication | Avoid processing the same applicant twice | | Auto Slack alert | Instantly notify recruiter of repeat candidates | | Centralized tracking | Keep candidate records in Sheets for filtering/export | | Passive sourcing | Run hourly checks on labeled Gmail inboxes | Common troubleshooting | Issue | Possible Cause | Solution | | ------------------------ | ------------------------------------------ | -------------------------------------------------------------- | | Slack message not sent | Invalid Slack token / channel not selected | Reauthorize Slack connection and select correct user/channel | | Google Sheet not updated | Sheet ID or tab name is incorrect | Double-check the Sheet URL and worksheet tab | | Email data not extracted | Email body format doesn’t match regex | Adjust regex in the "Code" node | | Nothing happens | Gmail label or date filter is too strict | Ensure emails exist with the right label in the last X minutes | Need Help? Need help setting it up or tweaking regex for your custom email format? We’re happy to help — just ask! Want to add phone number duplication checks or auto-resume upload to Google Drive? Our Automation team at WeblineIndia can guide you step-by-step.