by SIENNA
Automated AWS S3 / Azure / Google to local MinIO Object Backup with Scheduling What this workflow does ? This workflow performs automated, periodic backups of objects from an AWS S3 bucket, an Azure Container or a Google Storage Space to a MinIO S3 bucket running locally or on a dedicated container/VM/server. It can also work if the MinIO bucket is running on a remote cloud provider's infrastructure; you just need to change the URL and keys. Who's this intended for ? Storage administrators, cloud architects, or DevOps who need a simple and scalable solution for retrieving data from AWS, Azure or GCP. How it works This workflow uses the official AWS S3 API to list and download objects from a specific bucket, or the Azure BLOB one, then send them to MinIO using their version of the S3 API. Requirements None, just a source Bucket on your Cloud Storage Provider and a destination one on MinIO. You'll also need to get MinIO running. You're using Proxmox VE ? Create a MinIO LXC Container : https://community-scripts.github.io/ProxmoxVE/scripts?id=minio Need a Backup from another Cloud Storage Provider ? Need automated backup from another Cloud Storage Provider ? $\mapsto$ Check out our templates, we've done it with AWS, Azure, and GCP, and we even have a version for FTP/SFTP servers! For a dedicated source Cloud Storage Provider, please contact us ! $\odot$ These workflow can be integrated to bigger ones and modified to best suit your needs ! You can, for example, replace the MinIO node to another S3 Bucket from another Cloud Storage Provider (Backblaze, Wasabi, Scaleway, OVH, ...)
by Oneclick AI Squad
This enterprise-grade n8n workflow automates competitor monitoring on Instagram — from post fetching to AI-driven strategy alerts — using Claude AI, Instagram API, and multi-channel notifications. It tracks trends, analyzes performance, and delivers actionable insights via WhatsApp and email, keeping your team ahead with zero manual effort. Key Features Daily competitor scanning** from Google Sheets Post performance metrics** (engagement rate, trends) calculated automatically AI-powered insights* using *Claude 3.5 Sonnet** for content and engagement strategies Dual-channel alerts:** WhatsApp (Twilio) and email for instant delivery Audit logs** in Google Sheets for historical trends Scalable triggers:** Daily schedule or webhook for ad-hoc checks Workflow Process | Step | Node | Description | | ---- | ----------------------------------- | -------------------------------------------------------- | | 1 | Schedule Trigger | Runs daily at 10 AM or via webhook (/competitor-alert) | | 2 | Get Competitor List | Loads competitors from Competitors sheet | | 3 | Loop Over Competitors | Processes each competitor to avoid API limits | | 4 | Get Competitor Posts | Fetches last 10 posts via Instagram Graph API | | 5 | Calculate Performance Metrics | Computes avg engagement and trend using Code node | | 6 | Generate AI Insights (Claude AI)| Analyzes data for 3 strategic bullet-point insights | | 7 | Send Email Alert | Emails detailed report to team | | 8 | Send WhatsApp Alert (Twilio) | Sends concise alert via WhatsApp | | 9 | Log Alert | Records metrics and insights in AlertsLog sheet | | 10 | End Workflow | Terminates execution | Setup Instructions 1. Import Workflow Open n8n → Workflows → Import from Clipboard Paste the JSON workflow 2. Configure Credentials | Integration | Details | | ----------------- | -------------------------------------------------- | | Google Sheets | Service account with spreadsheet access | | Instagram API | Business access token for media fetching | | Claude AI | Anthropic API key for claude-3-5-sonnet-20241022 | | Twilio | Credentials for WhatsApp messaging | | SMTP/Email | SMTP or Gmail for email alerts | 3. Update Spreadsheet IDs Ensure your Google Sheets include: Competitors AlertsLog 4. Set Triggers Webhook:** /webhook/competitor-alert (for on-demand runs) Schedule:** Daily at 10:00 AM 5. Run a Test Use manual execution to confirm: Post fetching and metrics calculation AI insights generation WhatsApp/email delivery and sheet logging Google Sheets Structure Competitors | competitorName | competitorUserId | industryFocus | |----------------|------------------|---------------| | BrandX | 1234567890 | Fashion | AlertsLog | competitor | avgEngagement | trend | insights | timestamp | |---------------|----------------|--------|-----------------------------------|--------------------| | BrandX | 75.5 | Rising | - Bullet 1... | 2023-10-01T12:00:00Z | System Requirements | Requirement | Version/Access | | --------------------- | ---------------------------------------------- | | n8n | v1.50+ (AI and messaging integrations supported)| | Claude AI API | claude-3-5-sonnet-20241022 | | Instagram Graph API| Business account access token | | Twilio API | WhatsApp-enabled phone number | | Google Sheets API | https://www.googleapis.com/auth/spreadsheets | | SMTP | For email (e.g., Gmail OAuth) | Optional Enhancements Add visual charts (e.g., engagement trends via Google Charts) Integrate Slack for team-wide alerts Use advanced metrics like reach/impressions via Instagram Insights API Connect CRM (HubSpot) to tag competitors Enable multi-platform monitoring (e.g., TikTok) Add threshold-based alerts (e.g., only if engagement >20% increase) Export insights to Notion or Airtable for strategy docs Result: A single automated system that monitors competitors, uncovers trends, and arms your team with AI strategies — delivered via WhatsApp and email with zero manual work. Get in touch with us for custom n8n automation!
by Rahul Joshi
Description Streamline your Net Promoter Score (NPS) survey process by automating survey delivery, response tracking, and structured data storage. This workflow integrates GoHighLevel, Gmail, and Notion to ensure every customer response is captured, categorized, and actionable. 💬📧📊 What This Template Does Trigger from GoHighLevel when a deal moves to "Completed." ⚡ Send NPS survey emails via Gmail to the customer automatically. ✉️ Capture responses through a Webhook and store them in structured format. 🔗 Process and categorize NPS responses (Promoter, Passive, Detractor). 🧮 Save results in Notion for centralized tracking and analysis. 📒 Send Slack notifications for quick visibility into customer satisfaction. 🔔 Key Benefits ✅ Automated NPS survey delivery and response tracking ✅ Centralized data storage for long-term insights ✅ Real-time team notifications for faster action ✅ Standardized response categorization ✅ Error handling ensures no response is lost Features GoHighLevel integration to trigger surveys at the right stage Gmail email automation with personalized survey links Webhook capture for dynamic NPS responses Notion database integration for structured data storage Slack alerts for quick feedback visibility Requirements n8n instance (cloud or self-hosted) GoHighLevel API credentials Gmail API credentials (OAuth2) Notion API integration token Slack API token (optional for notifications) Target Audience This workflow is ideal for Customer Success teams, SaaS businesses, agencies, and service providers who want to measure customer satisfaction at scale and act quickly on feedback. Step-by-Step Setup Instructions Configure GoHighLevel, Gmail, Notion, and Slack credentials in n8n. Set up a Notion database with fields for customer, score, category, and comments. Replace hardcoded values with environment variables ($env.GHL_API_KEY, $env.NOTION_DB_ID, etc.). Import the JSON into your n8n instance. Run once manually with test data to verify. Enable the workflow for automated execution. ✅
by Oneclick AI Squad
Transform your attendance management with this enterprise-grade automated workflow featuring AI-powered analytics, multi-dimensional insights, and intelligent alerting. Running hourly, it integrates multiple data sources (attendance logs + employee master data), performs sophisticated statistical analysis, detects anomalies, generates department-specific insights, and delivers beautiful HTML reports via email and Slack. Get real-time visibility into attendance patterns, punctuality trends, and actionable alerts for HR, management, and department heads. 📊🎯✨ Good to Know Intelligent Scheduling**: Runs hourly but only sends management alerts when critical thresholds are breached Multi-Source Integration**: Combines attendance logs with employee master data for enriched context Smart Analytics**: Calculates attendance rate, punctuality rate, absenteeism rate, and department-wise metrics Conditional Routing**: Management emails are triggered only for high-priority alerts (no email fatigue!) Production-Ready**: Includes error handling, data validation, and comprehensive logging Scalable Design**: Handles multiple departments, shifts, and employee types efficiently How It Works Automated Trigger – Runs hourly to monitor attendance with zero manual effort. Dual Data Ingestion – Fetches attendance and employee master data, then merges them for enriched analytics. Advanced Analytics Engine – Analyzes attendance, calculates key metrics, detects anomalies, and generates alerts. Smart Conditional Routing – Validates data, prioritizes alerts, and routes notifications via email, Slack, and database. Rich Email Reports – Sends visually formatted reports with metrics, alerts, and detailed employee breakdowns. Slack Block Kit Integration – Delivers structured, real-time attendance alerts with visual indicators to team channels. Data Persistence & Logging – Logs daily summaries, maintains audit trails, and prepares data for trend analysis dashboards. How to Use Basic Setup Import the Workflow: Copy JSON → n8n → Import from File Configure Credentials: Add Google Sheets, SMTP, and Slack credentials Update Spreadsheet IDs: Replace all placeholder sheet IDs with your actual Google Sheet IDs Set Email Addresses: Update sender and recipient email addresses Configure Slack Channel: Replace channel ID with your team's attendance channel Test: Execute workflow manually to verify connections Activate: Turn on the Schedule Trigger for hourly execution Advanced Configuration Adjust Alert Thresholds**: Modify the 10% (late) and 15% (absent) thresholds in Analytics Engine Customize Email Design**: Edit HTML in Format Email node for brand alignment Add More Channels**: Extend with Microsoft Teams, Discord, or SMS notifications Enhance Analytics**: Add shift-specific analysis, contractor vs. full-time breakdowns Integrate BI Tools**: Enable Power BI push dataset for real-time dashboards Requirements Google Sheets Setup Sheet 1: AttendanceLogs | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique employee identifier | EMP001 | | EmployeeName | Text | Full name | John Doe | | Date | Date | Attendance date (YYYY-MM-DD) | 2025-01-15 | | Status | Text | Present/Absent/Late/Leave/WFH/Half-Day | Present | | CheckInTime | Time | Arrival time (HH:MM) | 09:15 | | CheckOutTime | Time | Departure time (HH:MM) | 18:00 | | Notes | Text | Optional comments | Doctor appointment | Sheet 2: Employees (Master Data) | Column | Type | Description | Example | |--------|------|-------------|---------| | EmployeeID | Text | Unique identifier (matches AttendanceLogs) | EMP001 | | EmployeeName | Text | Full name | John Doe | | Department | Text | Department name | Engineering | | Manager | Text | Reporting manager name | Jane Smith | | Shift | Text | Day/Night/Evening | Day | | Email | Email | Work email address | john.doe@company.com | | ContractType | Text | Full-Time/Part-Time/Contract | Full-Time | Sheet 3: DailySummary (Auto-populated by workflow) | Column | Type | Description | |--------|------|-------------| | Date | Date | Report date | | Hour | Number | Hour of day (0-23) | | Present | Number | Present count | | Absent | Number | Absent count | | Late | Number | Late count | | AttendanceRate | Number | Attendance percentage | Credentials Needed Google Sheets OAuth2 API Enable Google Sheets API in Google Cloud Console Create service account credentials Share all 3 sheets with service account email SMTP Email Account Gmail: Enable "App Passwords" in Google Account settings Or use company SMTP server details Requires: Host, Port (587), Username, Password Slack Bot Token Create Slack App at api.slack.com/apps Enable permissions: chat:write, chat:write.public Install app to workspace Copy Bot User OAuth Token (starts with xoxb-) Invite bot to target channel Placeholder Values to Replace | Placeholder | Where to Find | Example | |-------------|---------------|---------| | YOUR_ATTENDANCE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_EMPLOYEE_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | YOUR_SUMMARY_SPREADSHEET_ID | Google Sheets URL | 1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms | | C12345678 | Slack → Right-click channel → Copy link → Extract ID | C05XXXXXXXX | | hr@company.com | Your HR email | hr@yourcompany.com | | management@company.com | Management distribution list | leadership@yourcompany.com | Customizing This Workflow Modify Alert Thresholds In the Analytics Engine node, find these lines: const lateThreshold = metrics.totalEmployees * 0.1; // Change 0.1 to 0.15 for 15% const absentThreshold = metrics.totalEmployees * 0.15; // Change to 0.20 for 20% Add New Status Types In the Analytics Engine node, add to the switch statement: case 'Remote': statusCount.remote++; break; Customize Email Template In the Format Email node, modify the emailHtml variable: Change gradient colors in the header div Add company logo: `` Adjust grid columns: grid-template-columns: repeat(5, 1fr); Add SMS Notifications Add Twilio or Vonage node after "Critical Alerts" Send to on-call manager for high-severity alerts Use message: 🚨 ${data.absent} employees absent today. Review required. Multi-Location Support Modify Analytics Engine to group by Location field: const locationMetrics = {}; todayRecords.forEach(record => { const location = employee.location; if (!locationMetrics[location]) { locationMetrics[location] = { present: 0, absent: 0, late: 0 }; } // ... aggregate by location }); Shift-Specific Analysis Add logic to compare check-in times against shift schedules: const shiftTimes = { 'Day': '09:00', 'Night': '21:00', 'Evening': '14:00' }; const expectedTime = shiftTimes[employee.shift]; Integration with HR Systems Add HTTP Request node to push data to: Workday**: POST attendance records via REST API BambooHR**: Update employee time-off balances ADP**: Sync payroll-related attendance data SAP SuccessFactors**: Update time management module Advanced Analytics Add Python or R nodes for: Predictive Analytics**: ML models to predict absence patterns Sentiment Analysis**: Correlate attendance with employee surveys Seasonality Detection**: Identify patterns (Monday blues, pre-holiday trends) Correlation Analysis**: Link attendance with project deadlines, weather, events Dashboard Integration Export data to visualization platforms: Power BI**: Use HTTP Request node to push to streaming dataset Tableau**: Write to database (PostgreSQL, MySQL) via Execute Query node Grafana**: Store in InfluxDB time-series database Custom Dashboard**: Build React app that reads from DailySummary sheet Troubleshooting Common Issues "Could not find node" Ensure all data sources are fetched before Analytics Engine runs Check node names match exactly in $('Node Name').all() syntax "No records found" Verify Date column format is YYYY-MM-DD in Google Sheets Check timezone settings in Schedule Trigger vs. Sheet locale Confirm EmployeeID values match between AttendanceLogs and Employees sheets "Email not sending" Verify SMTP credentials are correct Check if "Critical Alerts?" condition is being met Test email node independently with static data "Slack message failed" Ensure bot is invited to the target channel Verify channel ID format (starts with C, not # symbol) Check bot has chat:write permission scope Performance Optimization Large Datasets (>1000 employees)**: Add pagination in Google Sheets fetch Multiple Departments**: Run parallel branches for each department Historical Analysis**: Schedule separate weekly/monthly summary workflows Reduce API Calls**: Cache employee master data in workflow static data Security Best Practices ✅ Use service account credentials (not personal OAuth) ✅ Restrict sheet access to service account only ✅ Store credentials in n8n credential store (encrypted) ✅ Enable 2FA on all integrated accounts ✅ Audit logs regularly for unauthorized access ✅ Use HTTPS for all external API calls Discover more workflows – Get in touch with us
by Jitesh Dugar
Overview Automatically generate professional PDF invoices when new orders are placed in Shopify. This template creates beautifully formatted invoices from order data, converts them to PDF, saves to Google Drive, and emails customers - all in one seamless workflow. 🎯 What This Template Does Transform your Shopify order fulfillment with complete invoice automation. When a customer places an order, this workflow automatically: ✅ Receives order data via Shopify webhook ✅ Validates payment status (only processes paid orders) ✅ Generates professional HTML invoice with your branding ✅ Converts to PDF using HTML to PDF conversion ✅ Saves invoice to Google Drive for record-keeping ✅ Emails PDF invoice to customer automatically ✅ Provides webhook response back to Shopify 🚀 Key Benefits Save Hours of Manual Work Eliminate manual invoice creation and sending Process unlimited orders 24/7 without intervention Professional invoices enhance your brand image Complete Automation No missed invoices - every paid order gets processed Automatic file organization in Google Drive Immediate customer notification improves satisfaction Professional Results Clean, branded invoice design that looks enterprise-ready Proper calculations for taxes, shipping, and totals PDF format suitable for accounting and customer records 🛠 What You'll Need Required Integrations: Shopify Store** - For order webhooks HTML to PDF Service** - For invoice conversion (API key required) Google Drive** - For invoice storage Email Provider** - For sending invoices to customers Technical Requirements: n8n instance (cloud or self-hosted) Basic webhook configuration in Shopify 10 minutes for initial setup 📋 Features Included Smart Order Processing Payment validation (only processes paid orders) Complete order data extraction (customer, items, addresses) Tax and shipping calculations Multi-currency support Professional Invoice Design Modern, clean layout with company branding Detailed line items with SKUs and quantities Proper totals breakdown (subtotal, tax, shipping) Customer billing and shipping addresses Automated Distribution PDF saved with descriptive filename (invoice-ORDER_NUMBER.pdf) Organized storage in Google Drive "Invoices" folder Professional email template with attachment Proper webhook responses for Shopify integration Error Handling Skips unpaid orders with proper notification Comprehensive data validation Detailed execution logs for troubleshooting 🎨 Customization Options Easy Branding Update company name, address, and contact details Modify color scheme and styling Add your logo and brand elements Invoice Layout Customize invoice template in HTML/CSS Add or remove fields as needed Modify PDF formatting options Email Templates Personalize customer email messages Add tracking links or additional information Customize sender details 💼 Perfect For E-commerce Stores** - Shopify merchants of any size Service Businesses** - Professional service invoicing Digital Products** - Immediate invoice delivery B2B Companies** - Automated business invoicing Accounting Teams** - Streamlined record-keeping 🔧 Setup Instructions Import Template - Add to your n8n instance Configure Webhook - Set up Shopify order webhook Add Credentials - Connect Google Drive and email accounts Update API Endpoint - Add your HTML to PDF service URL Customize Branding - Update company information in HTML template Test & Deploy - Run test orders to verify functionality 📊 Expected Results Time Savings: Save 15-30 minutes per order on manual invoice processing Accuracy: Eliminate human errors in invoice calculations Customer Experience: Immediate invoice delivery improves satisfaction Organization: All invoices automatically organized and stored Scalability: Handle thousands of orders without additional effort 🔗 Works With Shopify** (primary trigger) WooCommerce** (with minor modifications) Any HTML to PDF API** (Puppeteer, wkhtmltopdf, etc.) Google Drive** (file storage) Gmail/SMTP** (email delivery) 📈 Use Cases Retail Stores Automatic invoice generation for online orders Professional receipts for customer records Seamless integration with existing Shopify workflow Service Businesses Automated billing for completed services Professional invoice presentation Immediate delivery to clients Digital Products Instant invoice delivery upon purchase Automated VAT/tax handling for different regions Professional documentation for digital goods 🎯 ROI Calculator If you process 100 orders per month: Manual time**: 100 orders × 20 minutes = 33+ hours Cost savings**: 33 hours × $25/hour = $825/month Annual savings**: $9,900+ in labor costs alone Plus benefits of improved customer satisfaction, reduced errors, and better organization. 🚀 Get Started Ready to automate your invoice workflow? This template provides everything you need for professional, automated invoice generation that scales with your business. Installation Time: 10 minutes Skill Level: Beginner to Intermediate Maintenance: Zero - runs automatically once configured Transform your order fulfillment process today with this complete invoice automation solution!
by Oneclick AI Squad
Enhance financial oversight with this automated n8n workflow. Triggered every 5 minutes, it fetches real-time bank transactions via an API, enriches and transforms the data, and applies smart logic to detect critical, high, and medium priority alerts based on error conditions, amounts, or risk scores. It sends multi-channel notifications via email and Slack, logs all data to Google Sheets, and generates summary statistics for comprehensive tracking. 💰🚨 Key Features Real-time monitoring every 5 minutes for instant alerts. Smart prioritization (Critical, High, Medium) based on risk and errors. Multi-channel notifications via email and Slack. Detailed logging and summary reports in Google Sheets. How It Works Schedule Trigger: Runs every 5 minutes. Fetch Transactions: HTTP request retrieves real-time transaction data. API Error?: If condition for error logic is met, sends error alert. Enrich & Transform Data: Advanced risk calculation enhances data. Critical Alert?: If condition (50% or risk > 8) is met, raises alert. High Priority?: If condition (5% or risk > 7) is met, raises alert. Medium Priority?: If condition is met, raises alert. Log Priority to Sheet: Google Sheets appends critical, high, or medium priority data. Send Critical Email: HTML email to execute sheets append. Send High Priority Email: Email to finance team. Send High Priority Slack: Slack notification to finance team. Send Medium Priority Email: Email to finance team. Merge All Alerts: Combines all alerts for comprehensive tracking. Generate Summary Stats: Code block for analytics. Log Summary to Sheet: Summary statistics storage. Setup Instructions Import the workflow into n8n and configure the bank API credentials in "Fetch Transactions." Set up Google Sheets OAuth2 and replace the sheet ID for logging nodes. Configure Gmail API Key and Slack Bot Token for alerts. Test the workflow with sample transaction data exceeding risk or amount thresholds. Adjust priority conditions (e.g., 50%, 5%, risk > 8) based on your risk policy. Prerequisites Bank API access with real-time transaction data (e.g., https://api.bank.com) Google Sheets OAuth2 credentials Gmail API Key for email alerts Slack Bot Token (with chat:write permissions) Structured transaction data format Google Sheet Structure: Create a sheet with columns: Transaction ID Amount Date Risk Score Priority (Critical/High/Medium) Alert Sent Summary Stats Updated At Modification Options Adjust the "Schedule Trigger" interval (e.g., every 10 minutes). Modify "Critical Alert?" and "High Priority?" conditions for custom thresholds. Customize email and Slack templates with branded messaging. Integrate with fraud detection tools for enhanced risk analysis. Enhance "Generate Summary Stats" with additional metrics (e.g., average risk). Discover more workflows – Get in touch with us
by Cheng Siong Chin
Introduction Transform your Telegram bot into an AI vision system using GPT-4o-Mini and NVIDIA Stable Diffusion 3. Perfect for content moderators, researchers, and developers. Workflow Explanatory At start: Processes Telegram messages: images→analysis, text→image generation At Router: Routes by content type Upper path: Analyzes images using Nvidia Vila + GPT-4o-Mini Lower path: Generates images from text via Stable Diffusion 3 At Merge: Combines AI results At Gmail: Emails processed results How It Works Telegram Trigger listens for messages (images, text, documents) Content Router directs images → AI analysis, text → image generation Image Analysis: Downloads image → GPT-4o-Mini vision analysis → Email results Image Generation: Text prompt → Stable Diffusion 3 → Email generated image Gmail Notifications send formatted reports Prerequisites Telegram Bot token (via @BotFather) OpenAI API key (GPT-4 Vision) NVIDIA API key (free tier available) Gmail OAuth2 credentials Setup Steps Setup Steps * Create Telegram Bot* - Create Telegram bot and obtain token * Configure API Credentials* - Configure API credentials in HTTP Request nodes * Set Up Gmail OAuth2* - Set up Gmail OAuth2 * Import and Activate Workflow* - Import workflow, update credentials, and activate Customization Options Add more AI models (Anthropic, Gemini) Route audio/documents to transcription/OCR Replace Gmail with Slack or Discord Connect to databases for storage Benefits Speed**: Seconds per analysis vs. hours manually Accuracy**: AI-powered visual understanding Intelligence**: Historical tracking enables trend analysis
by tsushima ryuto
Event Participant Management and Automated Follow-up System This workflow automates the entire process of managing event participants, from registration and payment to sending reminders and follow-up communications. It's designed for event organizers who want to streamline their operations and ensure a smooth experience for attendees. Who is this for? This template is ideal for event organizers, community managers, and businesses that host workshops, webinars, conferences, or any event requiring participant registration and communication. How it works The workflow is divided into three main parts: Registration and Onboarding: When a new participant registers via a Typeform, their details are immediately added to a Google Sheet. Payment is processed via Stripe. Upon successful payment, a confirmation email is sent to the participant, and the event is added to their Google Calendar. The organizer receives a Slack notification about the new registration. Event Reminders: A daily scheduled trigger checks the Google Sheet for upcoming events. It calculates if an event is within the specified reminder period (e.g., 3 days before). If a reminder is needed, an email is automatically sent to the participant. Post-Event Follow-up: Another daily scheduled trigger checks for past events. It calculates if an event is due for a follow-up (e.g., 2 days after). A thank-you email, including a survey link, is sent to participants. The participant's status in the Google Sheet is updated to mark the follow-up as sent. How to set it up Typeform Registration Form: Replace <PLACEHOLDER_VALUE__Typeform Form ID> with your actual Typeform ID. Workflow Configuration: Fill in the placeholder values for Event Name, Event Date, Event Time, Event Location, Participation Fee Amount, and Slack Channel ID. Google Sheets: Replace <PLACEHOLDER_VALUE__Google Sheets Document ID> and <PLACEHOLDER_VALUE__Sheet Name (e.g., Participants)> with your Google Sheet details. Ensure your sheet has columns for "Name", "Email", "Phone", "Registration Date", "Event Name", "Event Date", "Payment Status", "Follow-up Sent", and "Follow-up Date". You will need to set up Google Sheets OAuth2 API credentials. Stripe (Process Payment): Replace <PLACEHOLDER_VALUE__Customer ID> and <PLACEHOLDER_VALUE__Source ID> with your Stripe customer and source IDs. You will need Stripe API credentials. Gmail (Send Confirmation Email, Send Reminder Email, Send Thank You & Survey): You will need to set up Gmail OAuth2 credentials. Google Calendar (Add to Calendar): You will need to set up Google Calendar OAuth2 API credentials. Slack (Notify Organizer): Replace <PLACEHOLDER_VALUE__Slack Channel ID> (if not already set in Workflow Configuration) and set up Slack OAuth2 API credentials. Survey URL (Send Thank You & Survey): Replace <PLACEHOLDER_VALUE__Survey URL> with the link to your post-event survey. Requirements Typeform account and a registration form. Google Sheet for participant management. Stripe account for payment processing. Gmail account for sending emails. Google Calendar for event scheduling. Slack account for organizer notifications. n8n credentials for Google Sheets, Stripe, Gmail, Google Calendar, and Slack. How to customize the workflow Reminder/Follow-up Timing:** Adjust the reminderDaysBefore and followupDaysAfter values in the "Workflow Configuration" node to change when reminder and follow-up emails are sent. Email Content:** Modify the HTML content in the "Send Confirmation Email", "Send Reminder Email", and "Send Thank You & Survey" nodes to match your branding and messaging. Payment Currency:** Change the currency in the "Process Payment" node if your event uses a different currency. Additional Data:** Extend the Google Sheets nodes to capture more participant information from Typeform if needed. Integration:** Easily integrate with other services by adding more nodes, for example, a CRM to add new participants as leads.
by Nikan Noorafkan
🚀 Channable + Google Ads + Relevance AI: Scalable AI Workflow for Automated Ad Copy Generation & Publishing 🧩 Overview This workflow automates the entire ad creation process for Google Ads by integrating product data, AI-generated copy, compliance checks, and publication into your marketing pipeline. It connects n8n, Relevance AI, Google Sheets, and optionally Channable to: Fetch product data from your catalog Generate Google Text Ad headlines and descriptions using Relevance AI Validate character limits and ensure Google Ads compliance Route non-compliant ads to a Slack review channel Save compliant, ready-to-publish ads in Google Sheets Notify your marketing team automatically after each generation cycle 🧠 Key Benefits ✅ 100% automated ad copy pipeline ✅ AI-generated, human-quality Google Ads text ✅ Built-in compliance verification (Google Ads policy) ✅ Google Sheet integration for team review ✅ Daily automatic schedule (zero manual effort) ✅ Slack alerts for QA and transparency ✅ Modular design — extendable for Shopping and Performance Optimization ✅ Scalable for 10 → 10,000+ product ads ⚙️ System Architecture Tech Stack n8n** – Automation Orchestrator Relevance AI** – AI tools for copy generation and policy compliance Google Sheets** – Data storage and team collaboration Slack** – Real-time alerts and notifications (Optional) Channable – Product feed integration 🧭 Workflow Logic Daily Trigger (00:00) ⬇️ 1️⃣ Get Product Feed (Channable or custom API) ⬇️ 2️⃣ Split Into Batches (50 products each) ⬇️ 3️⃣ Generate Ad Copy (Relevance AI tool → Claude 3.5 prompt) ⬇️ 4️⃣ Validate Character Limits (JS node: max 30 headline / 90 description) ⬇️ 5️⃣ Compliance Check (Relevance AI agent → Google Ads policies) ⬇️ 6️⃣ IF Compliant → CSV / Google Sheets ↳ ❌ Non-Compliant → Slack Alert ⬇️ 7️⃣ Aggregate Batches + Generate CSV ⬇️ 8️⃣ Save to Google Sheets (“Generated Ads” tab) ⬇️ 9️⃣ Slack Notification → Summary Report 📋 Environment Variables Set these in n8n → Settings → Variables → Add Variable Copy-paste from your ENVIRONMENT_VARIABLES_CORRECTED.txt. Includes: ✅ Relevance AI region, API key, tool & agent IDs ✅ Google Ads, Merchant Center, and Sheets credentials ✅ Slack channel name ✅ Optional Channable endpoint Example: RELEVANCE_AI_API_URL=https://api-f1db6c.stack.tryrelevance.com/latest RELEVANCE_TOOL_AD_COPY_ID=bueQG8io04dw RELEVANCE_AGENT_COMPLIANCE_ID=xT29mQ4QKsl GOOGLE_SHEET_ID=1q2w3e4r5t6y7u8i9o0p SLACK_CHANNEL=#google-ads-automation 🏗️ Node-by-Node Breakdown | Node | Description | Endpoint / Logic | | -------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------- | | 🕓 Schedule Trigger | Runs daily at 00:00 | Cron 0 0 * * * | | 📦 Get Product Feed | Pulls product data from Channable or custom API | GET {{$env.CHANNABLE_API_URL}}/v1/projects/{{$env.PROJECT_ID}}/items | | 🧮 Split Into Batches | Processes 50 products at a time | Avoids rate limits | | ✍️ Generate Ad Copy (Relevance AI) | Calls AI tool for each product | POST {{$env.RELEVANCE_AI_API_URL}}/tools/google_text_ad_copy_generator/run | | 🔍 Validate Character Limits | JS validation (≤30 headline / ≤90 description) | Truncates smartly | | 🧠 Compliance Check Agent | Verifies Google Ads compliance | POST {{$env.RELEVANCE_AI_API_URL}}/agents/google_ads_compliance_checker/run | | ⚖️ IF Compliant | Routes APPROVED vs REJECTED | "contains 'APPROVED'" | | 💾 Format for CSV | Formats compliant ads for export | Maps ID, headline, desc, URLs | | 📊 Aggregate Batches | Combines all results | Merges datasets | | 🧱 Generate CSV File | Converts JSON → CSV | Escaped string-safe format | | 📑 Save to Google Sheets | Saves reviewed ads | Sheet: Generated Ads | | 📢 Slack Notification (Success) | Posts completion summary | Shows ad count, timestamp | | 🚨 Slack Alert (Non-Compliant) | Notifies team for review | Includes issues, category | 🔑 API Authentication Setup 🔹 Relevance AI Create “HTTP Header Auth” credential Header Name: Authorization Header Value: Bearer {{$env.RELEVANCE_AI_API_KEY}} 🔹 Google Sheets Credential type: “Google OAuth2 API” Scopes: https://www.googleapis.com/auth/spreadsheets https://www.googleapis.com/auth/drive.file 🔹 Slack Create Slack App → Add Bot Token Scopes → chat:write Paste token in n8n “Slack API” credential. 🔹 (Optional) Channable Header Auth: Bearer {{$env.CHANNABLE_API_TOKEN}} 🧩 Google Sheet Template Sheet name: Generated Ads Columns: | product_id | headline | description | final_url | display_url | generated_at | Optional: Add compliance_status or notes columns for QA. ⚙️ Testing Procedure Manual Trigger: Disable the schedule → click “Execute Workflow”. Batch Size: Start small (3 products). Expected Output: ✅ Ad copy generated ✅ Character limits validated ✅ Slack alerts for rejects ✅ Google Sheet filled Check logs in Executions for errors. Re-enable the cron trigger after successful validation. 🧾 Example Output | product_id | headline | description | final_url | display_url | generated_at | | ---------- | ------------------ | --------------------------------------------- | ------------------------------------------------ | ----------- | -------------------- | | 12243 | “Eco Bamboo Socks” | “Soft, breathable comfort for everyday wear.” | https://shop.com/socks | shop.com | 2025-10-22T00:00:00Z | 📬 Slack Alert Templates ✅ Success Notification ✅ Google Ads Generation Complete 📊 Summary: • Total Ads Generated: 50 • Saved to Google Sheets: Generated Ads • Timestamp: 2025-10-22T00:00:00Z ⚠️ Non-Compliant Alert ⚠️ Non-Compliant Ad Flagged Product: Bamboo Socks Issues: Contains “Free Shipping” Headline too long Timestamp: 2025-10-22T00:00:00Z 🧰 Maintenance & Monitoring | Frequency | Task | | --------- | -------------------------------- | | Daily | Check Slack alerts for rejects | | Weekly | Review ad performance metrics | | Monthly | Update Relevance AI prompts | | Quarterly | Refresh API tokens and variables | 📊 Success Metrics ✅ Compliance approval rate: >85% 🚫 Disapproval rate: <5% 📈 CTR improvement: +15–25% ⏱️ Time saved: 10–15 hours/week 🌐 Scalable: 1,000+ ads/day 🪜 Next Steps Deploy and monitor for 7 days. After 30 days → activate Workflow 2: Performance Optimization Loop. Extend to Shopping Feed Optimization. Add multi-language generation using Relevance AI. Integrate Google Ads API publishing (full automation). 🔗 Resources n8n Docs Relevance AI Docs Google Ads API Merchant API Channable Help 🎉 Conclusion You now have a production-ready, scalable AI-powered ad generation system integrating Channable, Google Ads, and Relevance AI — built entirely on n8n. This delivers: 💡 AI creativity at scale ✅ Google Ads policy compliance ⚙️ Hands-free daily automation 📊 Transparent reporting and collaboration > Start small → validate → scale to 10,000+ ads per day. > Within weeks, you’ll have a self-learning, always-on ad pipeline driving consistent performance.
by WeblineIndia
iOS Environment Config Sync Wizard: .env to Xcode This workflow automatically detects changes to .env.staging files, compares them against iOS Xcode configuration files, creates pull requests to sync values, and invalidates Xcode build caches when needed. It ensures consistency between environment files and iOS project configs while automating the propagation of changes across the codebase and notifying the team via email. Quick Implementation Steps Import the workflow JSON into your n8n instance Set up credentials for GitHub and email Configure the webhook URL in your Git repository Customize configuration parameters in the "Set Configuration" node Activate the workflow What It Does The Environment Config Sync for iOS Xcode Projects workflow is designed to maintain consistency between environment configuration files and iOS project configuration files. When changes are made to .env.staging, the workflow automatically detects these changes, determines which iOS configuration files need to be updated, creates a new branch with those updates, and opens a pull request for review. The workflow analyzes the differences between the environment file and iOS configs, identifies which values need to be synchronized, and applies these changes to the appropriate files. It also checks if any of the changed values require cache invalidation and handles this automatically. Finally, it sends a detailed email notification to the iOS team with information about the sync operation. This automation reduces manual work, ensures consistency between configuration files, and helps prevent issues caused by mismatched environment settings across different parts of the iOS build system. Who's It For This workflow is ideal for: iOS development teams managing environment-specific configurations DevOps engineers responsible for maintaining Xcode project configuration consistency Mobile app developers working with multiple environment configurations Teams implementing CI/CD best practices for iOS applications Organizations using environment files to manage build-time configurations for Xcode projects Requirements n8n instance (self-hosted or cloud) GitHub repository with iOS project files Email service (SMTP) for sending notifications .env.staging file or similar environment configuration file iOS configuration files (Info.plist, Config.xcconfig, etc.) How It Works Webhook Trigger: The workflow starts when a push event occurs in the GitHub repository Configuration Setup: Sets up configurable parameters for file paths, branches, and notification settings File Change Detection: Checks if the .env.staging file was modified in the push Config Diff Analysis: Compares the .env.staging file with iOS Xcode configurations to identify differences Branch Creation: Creates a unique branch name and creates a new branch in the repository File Update Preparation: Prepares the updated content for each configuration file File Updates: Updates each configuration file in the new branch with the synced values PR Creation: Creates a pull request with all the configuration changes Cache Invalidation: Invalidates Xcode build cache if necessary based on changed keys Email Notification: Sends a detailed email notification about the completed sync operation How To Set Up Steps to Configure and Use 1\. Import the Workflow Import the provided JSON file into your n8n instance 2\. Set Up Credentials GitHub**: Create a new credential with a GitHub personal access token with repo scope Email**: Create a new credential with your SMTP server details for sending emails 3\. Configure GitHub Webhook Go to your GitHub repository settings Navigate to Webhooks and click "Add webhook" Set the Payload URL to the webhook URL from your n8n workflow Select "application/json" as the content type Choose "Let me select individual events" and select "Push events" Click "Add webhook" 4\. Configure Parameters Modify the parameters in the "Set Configuration" node to match your project structure: envFilePath**: Path to your environment file (default: ".env.staging") configFiles**: Array of iOS config files to update (default: \["Info.plist", "Config.xcconfig"\]) targetBranch**: Branch to create PRs against (default: "main") cacheInvalidationKeys**: Keys that trigger cache invalidation (default: \["API\_KEY", "BUNDLE\_VERSION", "ENVIRONMENT"\]) prLabels**: Labels to apply to created PRs (default: \["config-sync", "automated", "ios"\]) emailTo**: Email address for notifications (default: "ios-team@example.com") 5\. Configure Email Settings In the "Send Email Notification" node, update the "fromEmail" parameter to match your sending email address Ensure your SMTP credentials are properly configured in n8n 6\. Activate the Workflow Once all configurations are complete, activate the workflow Test by making a change to your .env.staging file and pushing it to the repository How To Customize Add More Config Files**: Update the configFiles parameter in the "Set Configuration" node to include additional iOS configuration files like .xcconfig files or project.pbxproj Modify Cache Invalidation Logic**: Update the cacheInvalidationKeys parameter to change which keys trigger cache invalidation Customize PR Content**: Edit the "Create PR" node to modify the PR title, body, or labels Change Email Notifications**: Update the "Send Email Notification" node to modify the email format, subject, or add additional recipients Implement Actual Cache Invalidation**: Modify the "Invalidate Cache" node to implement actual Xcode cache invalidation logic for your CI/CD system Add More Environment Files**: Extend the workflow to monitor additional environment files beyond .env.staging Add‑ons Multi-Environment Support: Extend the workflow to handle multiple environment files (.env.development, .env.production) with different target branches and configurations Configuration Validation: Add validation steps to ensure that environment values match expected formats or patterns before creating PRs Automated PR Merging: Add logic to automatically merge PRs if all checks pass and no conflicts are detected Configuration History Dashboard: Integrate with a database to track configuration changes over time and provide analytics Team Approval Workflow: Add approval steps that require team members to review and approve configuration changes before PRs are created Use Case Examples API Key Rotation: When security policies require rotating API keys, the workflow automatically updates all iOS configuration files with the new keys and invalidates the Xcode build cache to ensure the changes take effect immediately. Environment Promotion: When promoting configurations from staging to production, the workflow ensures that all iOS project files are consistently updated across the codebase, preventing deployment issues caused by mismatched configurations. Bundle Version Updates: When updating bundle versions in .env.staging for a new App Store release, the workflow automatically updates version strings in Info.plist files, ensuring version consistency for App Store submission. Feature Flag Management: When feature flags are added or modified in .env.staging, the workflow propagates these changes to Config.xcconfig files, ensuring that feature flags are consistently available throughout the iOS application. Multi-Target Projects: In projects with multiple iOS targets (e.g., app, extension, watchOS), the workflow can be extended to update configuration files across all targets when environment variables change, ensuring consistency throughout the application ecosystem. Troubleshooting Guide | Issue | Possible Cause | Solution | | --- | --- | --- | | Webhook not triggering | Webhook URL not configured correctly in GitHub | Verify the webhook URL is correctly copied and configured in your GitHub repository settings | | Changes not detected | .env.staging file path doesn't match configuration | Check the envFilePath parameter in the "Set Configuration" node and ensure it matches your file structure | | Branch creation fails | GitHub token doesn't have sufficient permissions | Ensure the GitHub personal access token has the "repo" scope and access to the target repository | | File updates fail | Config file paths don't exist in the repository | Verify the configFiles parameter in the "Set Configuration" node matches actual file paths in your repository | | PR creation fails | Target branch doesn't exist or insufficient permissions | Verify the targetBranch parameter matches an existing branch and the GitHub token has appropriate permissions | | Email notifications not sent | Email credentials not configured or incorrect | Verify your SMTP credentials are correctly configured in n8n and the email address in the "Send Email Notification" node is valid | | Cache invalidation not working | Cache invalidation logic not implemented for your CI/CD system | Modify the "Invalidate Cache" node to implement the appropriate Xcode cache invalidation mechanism for your CI/CD system | | PRs created with no changes | Diff logic not properly detecting differences | Review the "Perform Config Diff" node and ensure it correctly identifies differences between environment and iOS config files | | Workflow stops after file change detection | Workflow logic error in code nodes | Check the JavaScript code in the "Perform Config Diff" node for syntax errors or logic issues | Want to Customize ? Need help setting up or customizing this Environment Config Sync for iOS Xcode Projects workflow? The n8n experts at WeblineIndia can assist you with: Customizing the workflow to fit your specific iOS project structure Integrating with additional tools and services in your CI/CD pipeline Implementing advanced configuration validation and management Setting up multi-environment support and promotion workflows Training your team on iOS configuration management best practices
by Oneclick AI Squad
This n8n workflow automates the monitoring of warehouse inventory and sales velocity to predict demand, generate purchase orders automatically, send them to suppliers, and record all transactions in ERP and database systems. It uses AI-driven forecasting to ensure timely restocking while maintaining operational efficiency and minimizing stockouts or overstocking. Key Features Automated Scheduling:** Periodically checks inventory and sales data at defined intervals. Real-Time Data Fetching:** Retrieves live warehouse stock levels and sales trends. AI Demand Forecasting:** Uses OpenAI GPT to predict future demand based on sales velocity and stock trends. Auto-Purchase Orders:** Automatically generates and sends purchase orders to suppliers. ERP Integration:** Logs completed purchase orders into ERP systems like SAP, Oracle, or Netsuite. Database Logging:** Saves purchase order details and forecast confidence data into SQL databases (PostgreSQL/MySQL). Email Notifications:** Notifies relevant teams upon successful order creation and logging. Modular Configuration:** Each node includes configuration notes and credentials setup instructions. Workflow Process Schedule Trigger Runs every 6 hours to monitor stock and sales data. Interval can be adjusted for higher or lower frequency checks. Fetch Current Inventory Data Retrieves live inventory levels from the warehouse API endpoint. Requires API credentials and optional GET/POST method setup. Fetch Sales Velocity Pulls recent sales data for forecasting analysis. Used later for AI-based trend prediction. Merge Inventory & Sales Data Combines inventory and sales datasets into a unified JSON structure. Prepares data for AI model input. AI Demand Forecasting Sends merged data to OpenAI GPT for demand prediction. Returns demand score, reorder need, and confidence levels. Parse AI Response Extracts and structures forecast results. Combines AI data with original inventory dataset. Filter: Reorder Needed Identifies items flagged for reorder based on AI output. Passes only reorder-required products to next steps. Create Purchase Order Automatically creates a PO document with item details, quantity, and supplier information. Calculates total cost and applies forecast-based reorder logic. Send PO to Supplier Sends the generated purchase order to supplier API endpoints. Includes response validation for order success/failure. Log to ERP System Records confirmed purchase orders into ERP platforms (SAP, Oracle, Netsuite). Includes timestamps and forecast metrics. Save to Database Stores all PO data, supplier responses, and AI forecast metrics into PostgreSQL/MySQL tables. Useful for long-term audit and analytics. Send Notification Email Sends summary emails upon PO creation and logging. Includes PO ID, supplier, cost, and demand reasoning. Setup Instructions Schedule Trigger:** Adjust to your preferred interval (e.g., every 6 hours or once daily). API Configuration:** Provide credentials in Inventory, Sales, and Supplier nodes. Use Authorization headers or API keys as per your system. AI Node (OpenAI):** Add your OpenAI API key in the credentials section. Modify the prompt if you wish to include additional forecasting parameters. ERP Integration:** Replace placeholder URLs with your ERP system endpoints. Match fields like purchase order number, date, and cost. Database Connection:** Configure credentials for PostgreSQL/MySQL in the Save to Database node. Ensure tables (purchase_orders) are created as per schema provided in sticky notes. Email Notifications:** Set up SMTP credentials (e.g., Gmail, Outlook, or custom mail server). Add recipients under workflow notification settings. Industries That Benefit This automation is highly beneficial for: Retail & E-commerce:** Predicts product demand and auto-orders from suppliers. Manufacturing:** Ensures raw materials are restocked based on production cycles. Pharmaceuticals:** Maintains optimum inventory for high-demand medicines. FMCG & Supply Chain:** Balances fast-moving goods availability with minimal overstocking. Automotive & Electronics:** Prevents delays due to missing components. Prerequisites API access to inventory, sales, supplier, and ERP systems. Valid OpenAI API key for demand forecasting. SQL database (PostgreSQL/MySQL) for record storage. SMTP or mail server credentials for email notifications. n8n environment with required nodes installed (HTTP, AI, Filter, Email, Database). Modification Options Change forecast logic or thresholds for different industries. Integrate Slack/Teams for live notifications. Add approval workflow before sending POs. Extend AI prompt for seasonality or promotional trends. Add dashboard visualization using Grafana or Google Sheets. Explore More AI Workflows: Get in touch with us to build industry-grade n8n automations with predictive intelligence.
by Adrian
This workflow automates the assignment of household chores. It reads tasks and a list of people from Google Sheets, pairs each task with someone, updates the spreadsheet with the assignments and emails each person their chores. Each run makes a random assignment so you don’t have to decide who does what. By running on a schedule, it keeps your chore rotation automated. Who is it for? Designed for families, roommates, flat‑shares or property managers who want to keep track of recurring chores without endless group chats or arguments. It’s also helpful for anyone coordinating a team of cleaners or volunteers and wishing to automate a fair distribution of tasks. How it works A Schedule Trigger starts the workflow at a regular interval (default every seven days). Google Sheets node reads the “Tasks” sheet from your spreadsheet. Each row contains a chore with a task. Another Google Sheets node reads the “Persons” sheet to obtain the list of people available to do chores. Next a Code node filters out any people without an email address and any tasks without a task name, then selects a random person for each task. A Gmail node sends each person an email summarising the chore they’ve been assigned. The last Google Sheets node updates the “Tasks” sheet, writing the assigned person’s name into the assigned_to column. Setup steps Spreadsheet – Create a Google Sheets document with two sheets. The first sheet “Tasks” should have columns for task, description, assigned_to and a “hidden row_number”. The second sheet “Persons” should have columns for name and email and “hidden row_number”. Fill them with your current chores and household members. Connect your Google account – In the Get Tasks and Get People nodes, select the credential for your Google account and search for your sheets. Configure the Schedule Trigger – Set the trigger interval (for example, every seven days on a Sunday evening). Edit the assignment logic (optional) – The Code node is preconfigured to filter data and assign tasks randomly. You can modify this script if you prefer a round‑robin approach, weighting by difficulty, or any other logic. Configure Gmail – In the Send a message node, select your Gmail credential. If you want you can customise the subject and body of the email. Update sheet mapping – In the Update assign_to node, ensure the assigned_to column mapping writes the assigned person’s name back to the correct row. The workflow uses the row_number to match the row being updated. Test and activate – Run the workflow manually to verify it reads your sheets, assigns tasks and sends emails. Once satisfied, activate the schedule so it runs automatically. Requirements · A Google account with access to Google Sheets and Gmail. · A spreadsheet containing two sheets as described above (see images), with headers matching the field names used in the workflow. How to customise it Change the schedule interval to suit your rotation, edit the email template to include due dates or motivational messages, or modify the assignment script to weight tasks by difficulty. You could also send notifications via Slack or Telegram.