by Growth AI
AI-powered alt text generation from Google Sheets to WordPress media Who's it for WordPress site owners, content managers, and accessibility advocates who need to efficiently add alt text descriptions to multiple images for better SEO and web accessibility compliance. What it does This workflow automates the process of generating and updating alt text for WordPress media files using AI analysis. It reads image URLs from a Google Sheet, analyzes each image with Claude AI to generate accessibility-compliant descriptions, updates the sheet with the generated alt text, and automatically applies the descriptions to the corresponding WordPress media files. The workflow includes error handling to skip unsupported media formats and continue processing. How it works Input: Provide a Google Sheets URL containing image URLs and WordPress media IDs Authentication: Retrieves WordPress credentials from a separate sheet and generates Base64 authentication Processing: Loops through each image URL in the sheet AI Analysis: Claude AI analyzes each image and generates concise, accessible alt text (max 125 characters) Error Handling: Automatically skips unsupported media formats and continues with the next item Update Sheet: Writes the generated alt text back to the Google Sheet WordPress Update: Updates the WordPress media library with the new alt text via REST API Requirements Google Sheets with image URLs and WordPress media IDs WordPress site with Application Passwords enabled Claude AI (Anthropic) API credentials WordPress admin credentials stored in Google Sheets Export Media URLs WordPress plugin for generating the media list How to set up Step 1: Export your WordPress media URLs Install the "Export Media URLs" plugin on your WordPress site Go to the plugin settings and check both ID and URL columns for export (these are mandatory for the workflow) Export your media list to get the required data Step 2: Configure WordPress Application Passwords Go to WordPress Admin → Users → Your Profile Scroll down to "Application Passwords" section Enter application name (e.g., "n8n API") Click "Add New Application Password" Copy the generated password immediately (it won't be shown again) Step 3: Set up Google Sheets Duplicate this Google Sheets template to get the correct structure. The template includes two sheets: Sheet 1: "Export media" - Paste your exported media data with columns: ID (WordPress media ID) URL (image URL) Alt text (will be populated by the workflow) Sheet 2: "Infos client" - Add your WordPress credentials: Admin Name: Your WordPress username KEY: The application password you generated Domaine: Your site URL without https:// (format: "example.com") Step 4: Configure API credentials Add your Anthropic API credentials to the Claude node Connect your Google Sheets account to the Google Sheets nodes How to customize Language: The Claude prompt is in French - modify it in the "Analyze image" node for other languages Alt text length: Adjust the 125-character limit in the Claude prompt Batch processing: Change the batch size in the Split in Batches node Error handling: The workflow automatically handles unsupported formats, but you can modify the error handling logic Authentication: Customize for different WordPress authentication methods This workflow is perfect for managing accessibility compliance across large WordPress media libraries while maintaining consistent, AI-generated descriptions. It's built to be resilient and will continue processing even when encountering unsupported media formats.
by Ranjan Dailata
This workflow automates competitor keyword research using OpenAI LLM and Decodo for intelligent web scraping. Who this is for SEO specialists, content strategists, and growth marketers who want to automate keyword research and competitive intelligence. Marketing analysts managing multiple clients or websites who need consistent SEO tracking without manual data pulls. Agencies or automation engineers using Google Sheets as an SEO data dashboard for keyword monitoring and reporting. What problem this workflow solves Tracking competitor keywords manually is slow and inconsistent. Most SEO tools provide limited API access or lack contextual keyword analysis. This workflow solves that by: Automatically scraping any competitor’s webpage with Decodo. Using OpenAI GPT-4.1-mini to interpret keyword intent, density, and semantic focus. Storing structured keyword insights directly in Google Sheets for ongoing tracking and trend analysis. What this workflow does Trigger — Manually start the workflow or schedule it to run periodically. Input Setup — Define the website URL and target country (e.g., https://dev.to, france). Data Scraping (Decodo) — Fetch competitor web content and metadata. Keyword Analysis (OpenAI GPT-4.1-mini) Extract primary and secondary keywords. Identify focus topics and semantic entities. Generate a keyword density summary and SEO strength score. Recommend optimization and internal linking opportunities. Data Structuring — Clean and convert GPT output into JSON format. Data Storage (Google Sheets) — Append structured keyword data to a Google Sheet for long-term tracking. Setup Prerequisites If you are new to Decode, please signup on this link visit.decodo.com n8n account with workflow editor access Decodo API credentials OpenAI API key Google Sheets account connected via OAuth2 Make sure to install the Decodo Community node. Create a Google Sheet Add columns for: primary_keywords, seo_strength_score, keyword_density_summary, etc. Share with your n8n Google account. Connect Credentials Add credentials for: Decodo API credentials - You need to register, login and obtain the Basic Authentication Token via Decodo Dashboard OpenAI API (for GPT-4o-mini) Google Sheets OAuth2 Configure Input Fields Edit the “Set Input Fields” node to set your target site and region. Run the Workflow Click Execute Workflow in n8n. View structured results in your connected Google Sheet. How to customize this workflow Track Multiple Competitors** → Use a Google Sheet or CSV list of URLs; loop through them using the Split In Batches node. Add Language Detection** → Add a Gemini or GPT node before keyword analysis to detect content language and adjust prompts. Enhance the SEO Report** → Expand the GPT prompt to include backlink insights, metadata optimization, or readability checks. Integrate Visualization** → Connect your Google Sheet to Looker Studio for SEO performance dashboards. Schedule Auto-Runs** → Use the Cron Node to run weekly or monthly for competitor keyword refreshes. Summary This workflow automates competitor keyword research using: Decodo** for intelligent web scraping OpenAI GPT-4.1-mini** for keyword and SEO analysis Google Sheets** for live tracking and reporting It’s a complete AI-powered SEO intelligence pipeline ideal for teams that want actionable insights on keyword gaps, optimization opportunities, and content focus trends, without relying on expensive SEO SaaS tools.
by Oneclick AI Squad
This automated n8n workflow transforms uploaded radiology images into professional, patient-friendly PDF reports. It uses AI-powered image analysis to interpret medical scans, simplify technical terms, and produce clear explanations. The reports are formatted, converted to PDF, stored in a database, and sent directly to patients via email, ensuring both accuracy and accessibility. 🏥 Workflow Overview: Simple Process Flow: Upload Image → 2. AI Analysis → 3. Generate Report → 4. Send to Patient 🔧 How It Works: Webhook Trigger - Receives image uploads via POST request Extract Image Data - Processes patient info and image data AI Image Analysis - Uses GPT-4 Vision to analyze the radiology image Process Analysis - Structures the AI response into readable sections Generate PDF Report - Creates a beautiful HTML report Convert to PDF - Converts HTML to downloadable PDF Save to Database - Logs all reports in Google Sheets Email Patient - Sends the report via email Return Response - Confirms successful processing 📊 Key Features: AI-Powered Analysis** using GPT-4 Vision Patient-Friendly Language** (no medical jargon) Professional PDF Reports** with clear sections Email Delivery** with report attachment Database Logging** for record keeping Simple Webhook Interface** for easy integration 🚀 Usage Example: Send POST request to webhook with: { "patient_name": "John Smith", "patient_id": "P12345", "scan_type": "X-Ray", "body_part": "Chest", "image_url": "https://example.com/xray.jpg", "doctor_name": "Dr. Johnson", "patient_email": "john@email.com" } ⚙️ Required Setup: OpenAI API - For GPT-4 Vision image analysis PDF Conversion Service - HTML to PDF converter Gmail Account - For sending reports Google Sheets - For logging reports Replace YOUR_REPORTS_SHEET_ID with your actual sheet ID Want a tailored workflow for your business? Our experts can craft it quickly Contact our team
by Mohammad Abubakar
This n8n template demonstrates how to capture website leads via a webhook, validate the data, optionally enrich it, store it in your CRM (HubSpot) or a simple Google Sheet, and instantly notify your team via email and Slack. This is ideal for agencies, freelancers, SaaS founders, and small sales teams who want every lead recorded and followed up automatically within seconds. Good to know The workflow supports two storage options: HubSpot or Google Sheets (choose one branch). Enrichment (Clearbit/Hunter) is optional and can be disabled with a single toggle/IF branch. Consider adding anti-spam (honeypot/captcha) if your form gets abused. How it works Webhook receives the lead Your website form sends a POST request to the Webhook URL with lead fields (name, email, message, etc.). Validation & normalization The workflow trims and normalizes fields (like lowercasing email) and checks required fields. If invalid, it returns a Optional enrichment (Clearbit/Hunter) If enrichment is enabled, the workflow calls an enrichment API and merges results into the lead object (industry, company size, domain, etc.). If enrichment fails, the workflow continues (doesn’t block lead capture). Save lead to CRM (Choose one) HubSpot branch**: find contact by email → create or update the contact record Google Sheets branch**: lookup row by email → update if found → otherwise append a new row Instant notifications Posts a Slack message to a channel, optionally including a CRM/Sheet link Success response to the website Returns a #### How to use? Import the workflow into n8n. Configure the Webhook node and copy the production URL into your website form submit action. Choose your storage path: Enable HubSpot nodes OR Enable Google Sheets nodes Add credentials: Slack credential (Optional) HubSpot / Google Sheets (Optional) Clearbit/Hunter keys in the HTTP Request node Send a test lead from your website and confirm: Lead saved correctly Email received Slack notification posted Website receives a 200 response Requirements An n8n instance (cloud or self-hosted) One of: HubSpot account (for CRM storage), or Google account + Google Sheets (for spreadsheet storage) Slack workspace + Slack credentials Optional: Clearbit/Hunter account for enrichment
by Shelly-Ann Davy
Who’s it for Women creators, homemakers-turned-entrepreneurs, and feminine lifestyle brands who want a graceful, low-lift way to keep an eye on competitor content and spark weekly ideas. What it does On a weekly schedule, this workflow crawls your competitor URLs with Firecrawl (HTTP Request), summarizes each page with OpenAI, brainstorms carousel/pin ideas with Gemini, appends results to Google Sheets (Date, URL, Title, Summary, Ideas), and sends you a single email digest (optional Telegram alert). It includes basic error notifications and a setup-friendly config node. Requirements HTTP credentials** for Firecrawl, OpenAI, and Gemini (no keys in nodes) Google Sheets** OAuth credential A Sheets document with a target sheet/range (e.g., Digest!A:F) (Optional) Telegram bot + chat ID How to set up Open Set: Configuration (edit me) and fill: competitorUrls (one per line), sheetsSpreadsheetId, sheetsRange, ownerEmail, emailTo, geminiModel, openaiModel Attach credentials to the HTTP and Sheets nodes. Test by switching Cron to Every minute, then revert to weekly. How it works Cron → Firecrawl (per URL) → Normalize → OpenAI (summary) + Gemini (ideas) → Merge → Compile Row → Google Sheets append → Build one digest → Email (+ optional Telegram). How to customize Add/remove competitors or change the weekly send time. Tweak the OpenAI/Gemini prompts for your brand voice. Expand columns in Sheets (e.g., category, tone, CTA). Swap email/Telegram for Slack/Notion, or add persistent logs.
by vinci-king-01
Scheduled Backup Automation – Mailgun & Box This workflow automatically schedules, packages, and uploads backups of your databases, files, or configuration exports to Box cloud storage, then sends a completion email via Mailgun. It is ideal for small-to-medium businesses or solo developers who want hands-off, verifiable backups without writing custom scripts. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted or n8n.cloud) Box account with a folder dedicated to backups Mailgun account & verified domain Access to the target database/server you intend to back up Basic knowledge of environment variables to store secrets Required Credentials Box OAuth2** – For uploading the backup file(s) Mailgun API Key** – For sending backup status notifications (Optional) Database Credentials** – Only if the backup includes a DB dump triggered from inside n8n Specific Setup Requirements | Variable | Example | Purpose | |-------------------------|------------------------------------------|---------------------------------------| | BOX_FOLDER_ID | 1234567890 | ID of the Box folder that stores backups | | MAILGUN_DOMAIN | mg.example.com | Mailgun domain used for sending email | | MAILGUN_FROM | Backups <backup@mg.example.com> | “From” address in status emails | | NOTIFY_EMAIL | admin@example.com | Recipient of backup status emails | How it works This workflow automatically schedules, packages, and uploads backups of your databases, files, or configuration exports to Box cloud storage, then sends a completion email via Mailgun. It is ideal for small-to-medium businesses or solo developers who want hands-off, verifiable backups without writing custom scripts. Key Steps: Webhook (Scheduler Trigger)**: Triggers the workflow on a CRON schedule or external call. Code (DB/File Dump)**: Executes bash or Node.js commands to create a tar/zip or SQL dump. Move Binary Data**: Converts the created file into n8n binary format. Set**: Attaches metadata (timestamp, file name). Split In Batches* *(optional): Splits multiple backup files for sequential uploads. Box Node**: Uploads each backup file into the specified Box folder. HTTP Request (Verify Upload)**: Calls Box API to confirm upload success. If**: Branches on success vs failure. Mailgun Node**: Sends confirmation or error report email. Sticky Notes**: Provide inline documentation inside the workflow canvas. Set up steps Setup Time: 15-20 minutes Clone or import the workflow JSON into your n8n instance. Create credentials: Box OAuth2: paste Client ID, Client Secret, perform OAuth handshake. Mailgun API: add Private API key and domain. Update environment variables (BOX_FOLDER_ID, MAILGUN_DOMAIN, etc.) or edit the relevant Set node. Modify the Code node to run your specific backup command, e.g.: pg_dump -U $DB_USER -h $DB_HOST $DB_NAME > /tmp/db_backup.sql tar -czf /tmp/full_backup_{{new Date().toISOString()}}.tar.gz /etc/nginx /var/www /tmp/db_backup.sql Set the CRON schedule inside the Webhook node (or replace with a Cron node) to your desired frequency (daily, weekly, etc.). Execute once manually to verify the Box upload and email notification. Enable the workflow. Node Descriptions Core Workflow Nodes: Webhook / Cron** – Acts as the time-based trigger for backups. Code** – Creates the actual backup archive (tar, zip, SQL dump). Move Binary Data** – Moves the generated file into binary property. Set** – Adds filename and timestamp metadata for Box. Split In Batches** – Handles multiple files when necessary. Box** – Uploads the backup file to Box. HTTP Request** – Optional re-check to ensure the file exists in Box. If** – Routes the flow based on success or error. Mailgun** – Sends success/failure notifications. Sticky Note** – Explains credential handling and customization points. Data Flow: Webhook/Cron → Code → Move Binary Data → Set → Split In Batches → Box → HTTP Request → If → Mailgun Customization Examples Add Retention Policy (Auto-delete old backups) // In a Code node before upload const retentionDays = 30; const cutoff = Date.now() - retentionDays * 246060*1000; items = items.filter(item => { return item.json.modifiedAt > cutoff; // keep only recent files }); return items; Parallel Upload to S3 // Duplicate the Box node, replace with AWS S3 node // Use Merge node to combine results before the HTTP Request verification Data Output Format The workflow outputs structured JSON data: { "fileName": "full_backup_2023-10-31T00-00-00Z.tar.gz", "boxFileId": "9876543210", "uploadStatus": "success", "timestamp": "2023-10-31T00:05:12Z", "emailNotification": "sent" } Troubleshooting Common Issues “Invalid Box Folder ID” – Verify BOX_FOLDER_ID and ensure the OAuth user has write permissions. Mailgun 401 Unauthorized – Check that you used the Private API key and the domain is verified. Backup file too large – Enable chunked upload in Box node or increase client_max_body_size on reverse proxy. Performance Tips Compress backups with gzip or zstd to reduce upload time. Run the database dump on the same host as n8n to avoid network overhead. Pro Tips: Store secrets as environment variables and reference them in Code nodes (process.env.MY_SECRET). Chain backups with version numbers (YYYYMMDD_HHmm) for easy sorting. Use n8n’s built-in execution logging to audit backup history. This is a community workflow template provided “as-is” without warranty. Adapt and test in a safe environment before using in production.
by Kai Hölters
Classify YouTube Trends and Generate Email Summaries with GPT-4 and Gmail Monitor YouTube channels, fetch stats, classify videos as viral (≥ 1000 likes) or normal, and auto‑generate LinkedIn/email summaries with GPT‑4. Deliver via Gmail or SMTP. Clear node names, examples, and auditable fields. 🎯 Overview This template monitors YouTube channels via RSS or the YouTube Data API, retrieves video stats, classifies each video as viral (≥ 1000 likes) or normal, and produces concise LinkedIn/email summaries with OpenAI (GPT‑4 family). It can send a compact weekly briefing via Gmail (OAuth2) or SMTP. Built for creators, marketing teams, and agencies who want automated trend alerts and ready‑to‑use content. This screenshot shows the Gmail-ready weekly briefing generated by the Generate Weekly Briefing (HTML) node in my YouTube Trend Detector workflow, confirming the end-to-end pipeline: RSS/API → stats → like-based classification (≥ 1000 = viral) → LLM summaries → HTML email. 🧭 How It Works (Node Map) Manual Run – ad‑hoc execution Set Channel IDs – provide one or more YouTube channelId values Split Channels – process channels one by one Fetch Latest Videos (RSS) – pull recent uploads via channel RSS Filter: Published in Last 72h – only recent items are kept Get Video Stats (YouTube API) – request snippet,statistics for likes and details Classify by Likes (Code) – sets classification to viral or normal Branch: Normal / Branch: Viral – separate LLM prompts per relevance Write Post (Normal / Viral) – generate LinkedIn‑style notes via OpenAI Aggregate Posts for Briefing – merge all texts into one block Generate Weekly Briefing (HTML) – produce a Gmail‑robust HTML email via GPT Send Weekly Briefing (Gmail/SMTP) – deliver briefing (you set recipients) ⚙️ Quick Start (≈ 3 minutes) Import the sanitized JSON into n8n (Menu → Import). Create credentials (use exact names): YouTube_API_Key — Generic credential (field: apiKey) OpenAi account — OpenAI API Key Gmail account (OAuth2) or SMTP_Default (SMTP) Configure channels: In Set Channel IDs, list your YouTube channelId values (e.g., UC…). Set recipients: In Send Weekly Briefing, add your target email(s). Test: Run Execute Workflow and review outputs from the LLM and send nodes. 🔑 Required Credentials YouTube_API_Key** — YouTube Data API v3 key (field apiKey) OpenAi account** — OpenAI API key for LLM nodes Gmail account* (OAuth2, recommended) *or* *SMTP_Default** (server/port/TLS + app password if 2FA) 🧩 Key Parameters & Adjustments Viral threshold:** In Classify by Likes (Code) → const THRESHOLD = 1000; YouTube API parts:** Use part=snippet,statistics to obtain likeCount Time window:* The filter keeps videos from the *last 72 hours** 🧪 Troubleshooting Missing likeCount / classification = "unknown"** → ensure part=statistics and a valid API key credential. Gmail OAuth redirect_mismatch / access_denied** → redirect must be https://<your-n8n-host>/rest/oauth2-credential/callback and test users added if restricted. SMTP auth issues** → set correct server/port/TLS and use an app password when 2FA is enabled. Empty LLM output** → verify OpenAI key/quota and inspect node logs. 🧾 Example Outputs 1) Classification (single video) { "videoId": "abc123XYZ", "title": "How to Ship an n8n Workflow with OpenAI", "likeCount": 1587, "classification": "viral", "needsStatsFetch": false } 2) LinkedIn draft (viral) Did you know how much faster prompt workflows get with structured inputs? • Setup: n8n + YouTube API + OpenAI for auto-briefs • Tip: include part=statistics for reliable like counts Useful for teams tracking trending how-to content. What’s your best “viral” signal besides likes? #n8n #YouTubeAPI #OpenAI #Automation #Growth 3) Plain‑text email preview Subject: Weekly AI Briefing — YouTube Trend Highlights Hi team, Highlights from our tracked channels: • Viral: “How to Ship an n8n Workflow with OpenAI” (1.6k likes) • Normal: “RSS vs API: What’s Best for Monitoring?” Generated via n8n + GPT‑4. ✅ Submission Checklist (meets the guidelines) Title clarity:* Mentions *GPT‑4* and *Gmail** Language:* Entire document in *English** Node naming:** Descriptive, non‑generic labels HTML → Markdown:* No HTML in this description; badges are *Markdown images** Examples:** Included (JSON, LinkedIn draft, email) Security:** No secrets in JSON; uses credentials by name 📸 Suggested Screenshots (optional) Full canvas overview (entire workflow) LLM output (expanded) showing generated summary Send‑node result with messageId/status Optional: aggregated briefing preview 📜 License & Support License: MIT Support/Contact: kaihoelters@yahoo.de
by Oneclick AI Squad
Analyzes influencer profiles and scores authenticity before brand partnership approval. Detects fake followers, bot accounts, and suspicious engagement patterns using AI-powered behavioral analysis. 🎯 How It Works Simple 7-Node Workflow: Input → Submit influencer username and platform (Instagram/Twitter/TikTok) Fetch → Retrieve complete profile data and engagement metrics Analyze → Examine follower patterns, ratios, growth velocity, engagement AI Check → Deep behavioral analysis with Claude AI Report → Generate comprehensive fraud assessment Notify → Send detailed email report to partnership team Log → Save to database for tracking 📊 Detection Capabilities Follower Authenticity**: Analyzes follower-to-following ratio (red flag if < 0.5) Engagement Quality**: Calculates engagement rate (industry avg: 1-5%) Growth Patterns**: Detects suspicious rapid follower spikes Content Consistency**: Evaluates posting frequency and regularity Profile Completeness**: Checks verification, bio, activity AI Behavioral Analysis**: Deep pattern recognition for sophisticated fraud ⚙️ Setup Instructions 1. Configure API Access Social Platform APIs: Instagram**: Get Graph API access token from Meta for Developers Twitter**: OAuth 2.0 credentials from Twitter Developer Portal TikTok**: Business API credentials (optional) AI Analysis: Anthropic Claude API**: Get key from console.anthropic.com Used for advanced behavioral fraud detection 2. Setup Notifications Configure SMTP in "Send Report" node Update recipient email (partnerships@company.com) Customize HTML template if needed 3. Database (Optional) Create PostgreSQL table (schema below) Add database credentials to final node Skip if you don't need historical tracking Database Schema CREATE TABLE partnerships.influencer_fraud_reports ( id SERIAL PRIMARY KEY, report_id VARCHAR(255) UNIQUE, username VARCHAR(255), platform VARCHAR(50), profile_url TEXT, followers BIGINT, following BIGINT, posts INTEGER, verified BOOLEAN, authenticity_score INTEGER, risk_level VARCHAR(50), final_decision TEXT, partnership_recommendation VARCHAR(100), ai_verdict VARCHAR(50), ai_confidence VARCHAR(20), red_flags JSONB, fake_follower_estimate VARCHAR(20), detailed_analysis JSONB, created_at TIMESTAMP ); 🚀 How to Use Webhook Endpoint: POST /webhook/influencer-fraud-check Request Body: { "username": "influencer_handle", "platform": "instagram" // or "twitter", "tiktok" } Example: curl -X POST https://your-n8n.com/webhook/influencer-fraud-check \ -H "Content-Type: application/json" \ -d '{"username":"example_user","platform":"instagram"}' 📈 Scoring System Overall Authenticity Score (0-100): 80-100**: LOW RISK → Approved for partnership 60-79**: MEDIUM RISK → Requires manual review 40-59**: HIGH RISK → Caution advised 0-39**: CRITICAL RISK → Rejected Weighted Components: Follower Quality (25%) Engagement Quality (35%) Content Consistency (15%) Growth Pattern (15%) Profile Completeness (10%) Final Score = 70% Automated + 30% AI Analysis 🚩 Red Flags Detected Following-to-follower ratio > 2:1 Engagement rate < 0.5% Rapid growth (>50K followers/month) Large following with <10 posts No verification with >100K followers Bot-like comment patterns Suspicious audience demographics 💰 Cost Estimate Instagram/Twitter API**: Free tier usually sufficient Claude AI**: ~$0.10-0.20 per analysis Estimated**: $5-10/month for 50 checks 💡 Best Practices Always verify HIGH and MEDIUM risk profiles manually Cross-reference with other influencer databases Request media kit and past campaign results Trial campaigns before large commitments Monitor performance metrics post-partnership Update detection thresholds based on your findings 🎯 What You Get Detailed Report Includes: Overall authenticity score (0-100) Risk level classification Partnership recommendation (APPROVE/REVIEW/REJECT) Engagement quality analysis Fake follower percentage estimate AI behavioral insights Specific red flags and concerns Next steps and recommendations
by Cristina
Automated Weekly Newsletter with AI Research, Editorial Drafting, and Approval Flow This n8n template demonstrates how to automate the full production cycle of a professional weekly newsletter. It combines AI-powered market research, editorial drafting, compliance validation, and an approval loop — all before creating a final Gmail draft ready for distribution. Use cases are many: Wealth managers sending weekly market updates to clients Startups producing recurring research digests Teams creating automated newsletters for marketing or content distribution Good to know At time of writing, each AI call (research, editorial, QC) consumes API tokens from Perplexity and OpenAI. See provider pricing for updated info. Gmail integration requires OAuth setup with your account. You can adapt the prompts to any domain — from finance to tech to education. How it works Schedule Trigger runs every week and sets the date window. Research LLM fetches structured JSON market data using Perplexity. Editorial LLM transforms research into a polished ~2,000 word client-ready newsletter. QC LLM validates factual accuracy and compliance risks before approval. Preview Email is sent with Approve/Revise buttons. Clicking opens a secure n8n-hosted approval form. Final Draft Creation: Once approved, the workflow generates a clean Gmail draft, ready to send. How to use Replace the demo schedule trigger with your own (weekly, daily, or event-based). Set up Gmail OAuth credentials to enable email previews and final drafts. Update branding (logo, disclaimer, signature) in the HTML builder node. Adjust prompts to your audience — e.g., simplify tone for marketing, or keep institutional tone for financial clients. Requirements Perplexity account for research API (or your LLM of choice) OpenAI for editorial and QC steps (or your LLM of choice) Gmail account with OAuth credentials Optional: your own domain to host the approval webhook Customising this workflow This workflow can be extended beyond financial newsletters. Try: Content marketing: Automate weekly digests or trend reports Education: Generate curriculum summaries with approval loops for teachers Internal comms: Automate compliance-checked company updates
by inderjeet Bhambra
Who's it for Content creators, trainers, and educators who need to convert lengthy documents into digestible micro-learning experiences. How it works This workflow takes your source content (PDFs, articles, handbooks) and uses GPT-4 to intelligently break it into 2-3 minute learning modules. Each module includes a key concept, explanation, practical example, and knowledge check question. How to set up Configure OpenAI credentials with GPT-4 access Connect Slack workspace (optional) Set up Google Docs integration Optionally, Send content via webhook or paste directly Requirements OpenAI API key with GPT-4 access Google Docs account (for document creation) Slack workspace (optional, for notifications) How to customize the workflow Adjust module count and length in AI prompts Modify output formats (email, mobile, Slack) Change document structure and styling Add custom delivery channels Perfect for converting employee handbooks, training materials, and documentation into engaging micro-learning courses that people actually complete.
by Jitesh Dugar
Verified Beta Tester Access Kit - Automated Onboarding System Transform Your Beta Testing Program Automate your entire beta tester onboarding process from signup to tracking with this comprehensive, production-ready n8n workflow. 📚 CATEGORY TAGS Primary Category: ✅ Marketing & Sales Additional Tags: Automation Email Marketing User Management Onboarding SaaS Product Launch Beta Testing Access Control What This Workflow Does When a beta tester signs up through your form or API, this workflow automatically: ✅ Verifies Email Authenticity - Uses VerifiEmail API to validate addresses and block disposable emails ✅ Generates Unique Access Codes - Creates secure BETA-XXXXXX codes with timestamps ✅ Creates QR Codes - Generates scannable codes for quick mobile activation ✅ Builds Branded Access Cards - Produces professional HTML/CSS cards with tester details ✅ Converts to Images - Transforms cards into shareable PNGs ✅ Sends Welcome Emails - Delivers beautifully formatted emails via Gmail ✅ Logs in Trello - Creates organized tracking cards automatically ✅ Returns API Responses - Sends success/error responses with complete data Complete execution time: 5-10 seconds per signup Perfect For 🚀 SaaS startups launching beta programs 📱 Mobile app developers managing beta testers 🎮 Game studios running closed beta tests 🏢 Enterprise teams controlling early access 💼 Product managers organizing user testing 🔬 Research projects managing participants Key Features Security First Real-time email validation Blocks disposable email addresses Unique, non-guessable access codes Webhook authentication ready Professional Branding Customizable HTML/CSS templates Embedded QR codes Responsive email design High-quality PNG generation Team Collaboration Automatic Trello card creation Organized tracking boards Checklist items for follow-ups Easy team assignments Production Ready Comprehensive error handling Detailed logging Scalable architecture Easy integration What You'll Need Required API Keys (All Have Free Tiers): VerifiEmail - Email verification at https://verifi.email HTMLCSSToImage - Image generation at https://htmlcsstoimg.com Gmail Account - Email delivery Trello Account - Project tracking at https://trello.com/app-key Workflow Steps Webhook receives POST request with tester data VerifiEmail validates email authenticity Conditional logic routes valid/invalid emails Function generates unique BETA-XXXXXX access codes HTTP Request creates QR code image Set node stores QR code URL HTMLCSSToImage converts access card to PNG Gmail sends branded welcome email with kit Trello creates tracking card in board Webhook responds with success/error status Sample Request POST to webhook: { "tester_name": "Aarav Mehta", "tester_email": "aarav@example.com", "product_name": "YourApp v1.0", "signup_date": "2025-11-05" } Success Response (200): { "status": "success", "message": "Beta tester verified and access kit delivered", "data": { "tester_name": "Aarav Mehta", "access_code": "BETA-A7K9M2", "trello_card_created": true, "email_sent": true, "qr_code_generated": true } } Error Response (400): { "status": "error", "message": "Invalid or disposable email address detected", "reason": "Disposable email" } Customization Options Email Template Modify HTML in Gmail node Add company logo Change colors and fonts Access Card Design Edit CSS in HTMLCSSToImage node Adjust QR code size Match your brand Access Code Format Change prefix from "BETA-" to your choice Modify length and characters Trello Integration Add custom fields Include labels Set due dates Assign team members Use Cases Mobile App Beta Launch User fills form → Email verified → Code sent → App activated → Team tracks in Trello SaaS Early Access User signs up → Email validated → Access kit received → Product team manages Game Testing Campaign Player requests access → Email verified → Unique key generated → Community team tracks What Makes This Special Unlike simple email workflows, this is a complete system that handles: Security (email verification) Branding (custom access cards) Communication (professional emails) Tracking (team collaboration) Integration (webhook API) All in one cohesive, production-ready workflow! Troubleshooting Common Issues & Solutions: Webhook not receiving data → Check URL and POST method Email verification fails → Verify API key and rate limits Gmail not sending → Reconnect OAuth2 Trello card fails → Confirm List ID is correct Image not generating → Check HTMLCSSToImage credentials 🏷️ ADDITIONAL METADATA Difficulty Level: ⭐⭐⭐ Intermediate (requires API key setup) Time to Setup: 🕐 10-15 minutes
by Jitesh Dugar
Verified Gym Trial Pass with Photo ID Overview Automate gym trial pass generation with email verification, photo ID integration, QR codes, and professional PDF passes. This workflow handles the complete member onboarding process - from signup to verified pass delivery - in under 10 seconds. What This Workflow Does Receives signup data via webhook (name, email, photo URL, validity dates) Verifies email authenticity using VerifiEmail API (blocks disposable emails) Generates unique Pass ID in format GYM-{timestamp} Creates QR code for quick check-in at gym entrance Builds branded pass design with gradient styling, member photo, and validity dates Exports to PDF format for mobile-friendly viewing Sends email with PDF attachment and welcome message Logs all registrations in Google Sheets for record-keeping Returns API response with complete pass details Key Features ✅ Email Verification - Blocks fake and disposable email addresses ✅ Photo ID Integration - Displays member photo on digital pass ✅ QR Code Generation - Instant check-in scanning capability ✅ Professional Design - Gradient purple design with modern styling ✅ PDF Export - Mobile-friendly format that members can save ✅ Automated Emails - Welcome message with pass attachment ✅ Spreadsheet Logging - Automatic record-keeping in Google Sheets ✅ Error Handling - Proper 400 responses for invalid signups ✅ Success Responses - Detailed JSON with all pass information Use Cases Gyms & Fitness Centers** - Trial pass management for new members Yoga Studios** - Week-long trial class passes Sports Clubs** - Guest pass generation with photo verification Wellness Centers** - Temporary access cards for trial periods Co-working Spaces** - Day pass generation with member photos Swimming Pools** - Verified trial memberships with photo IDs What You Need Required Credentials VerifiEmail API - Email verification service Get API key: https://verifi.email HTMLCSSToImage API - PNG image generation Get credentials: https://htmlcsstoimg.com HTMLCSSToPDF API - PDF conversion Get credentials: https://pdfmunk.com Gmail OAuth2 - Email delivery Connect your Google account Enable Gmail API in Google Cloud Console Google Sheets API - Data logging Connect your Google account Same OAuth2 as Gmail Setup Instructions Step 1: Create Google Sheet Create a new Google Sheet named "Gym Trial Passes 2025" Add these column headers in Row 1: Pass ID Name Email Start Date Valid Till Issued At Email Verified Status Step 2: Configure Credentials Add VerifiEmail API credentials Add HTMLCSSToImage credentials Add HTMLCSSToPDF credentials Connect Gmail OAuth2 Connect Google Sheets OAuth2 Step 3: Update Google Sheets Node Open "Log to Google Sheets" node Select your "Gym Trial Passes 2025" sheet Confirm column mappings match your headers Step 4: Test the Workflow Copy the webhook URL from the Webhook node Open Postman and create a POST request Use this test payload: { "name": "Rahul Sharma", "email": "your-email@gmail.com", "photo_url": "https://images.unsplash.com/photo-1633332755192-727a05c4013d?w=400", "start_date": "2025-11-15", "valid_till": "2025-11-22" } Send the request and check: ✅ Email received with PDF pass ✅ Google Sheet updated with new row ✅ Success JSON response returned Step 5: Activate & Use Click "Active" toggle to enable the workflow Integrate webhook URL with your gym's website form Members receive instant verified passes upon signup Expected Responses ✅ Success Response (200 OK) { "status": "success", "message": "Gym trial pass verified and sent successfully! 🎉", "data": { "pass_id": "GYM-1731398400123", "email": "member@example.com", "name": "Rahul Sharma", "valid_from": "November 15, 2025", "valid_till": "November 22, 2025", "email_verified": true, "recorded_in_sheets": true, "pass_sent_to_email": true }, "timestamp": "2025-11-12T10:30:45.123Z" } ❌ Error Response (400 Bad Request) { "status": "error", "message": "Invalid or disposable email address. Please use a valid email to register.", "email_verified": false, "email_provided": "test@tempmail.com" } Customization Options Modify Pass Design Edit the Build HTML Pass node to customize: Colors and gradient (currently purple gradient) Layout and spacing Fonts and typography Logo placement (add your gym logo) Additional branding elements Change Email Template Edit the Send Email with Pass node to modify: Subject line Welcome message Instructions Branding elements Footer content Adjust Validity Period Workflow accepts custom start_date and valid_till from webhook payload. You can also hardcode validity periods in the Generate Pass Details node. Add Additional Fields Extend the workflow to capture: Phone number Emergency contact Medical conditions Membership preferences Referral source Performance Average execution time**: 8-12 seconds Handles**: 100+ passes per hour PDF size**: ~150-250 KB Email delivery**: Instant (Gmail API) Success rate**: 99%+ with valid emails Security & Privacy ✅ Email verification prevents fake signups ✅ Unique Pass IDs prevent duplication ✅ All data logged in your private Google Sheet ✅ No data stored in n8n (passes through only) ✅ HTTPS webhook for secure data transmission ✅ OAuth2 authentication for Google services Tags gym fitness trial-pass email-verification qr-code pdf-generation member-onboarding automation verification photo-id