by Ramsey Njire
Overview Stop digging through execution logs to find out why a workflow failed. This template provides a "set-it-and-forget-it" monitoring system that uses AI to automatically debug your n8n workflows. Instead of just getting a simple error message, you'll receive a detailed email notification with a root cause analysis and a step-by-step suggested fix from a Gemini-powered AI agent. This saves you valuable time, helps you resolve issues faster, and ensures your critical automations are always running smoothly. Prerequisites Before you begin the setup, please make sure you have the following accounts and information ready: An n8n Instance:** This workflow must be hosted on an active n8n instance. n8n API Key:* You'll need to generate an API key from your n8n instance (Settings > API*). OpenRouter Account:** An account with OpenRouter.ai to access various AI models like Gemini. Google (Gmail) Account:** To send and receive the email notifications. n8n Environment Variable:** Your n8n instance must have the N8N_EDITOR_BASE_URL environment variable configured. This is essential for generating correct links to your workflow executions. Use Cases This template is perfect for anyone who wants to proactively monitor their automations. Here are a few examples: Monitoring Critical Webhooks:** Get instant, intelligent alerts if a workflow handling data from a payment gateway (like Stripe) or a form submission fails due to unexpected data, minimizing service disruption. Managing Complex Automations:** For long, multi-step workflows, the AI can immediately pinpoint the exact failing node and suggest fixes for complex data mapping errors or API issues that are otherwise difficult to trace. Developers & Agencies:** If you manage multiple n8n workflows for clients or different projects, this provides a centralized monitoring system that helps you stay on top of all automation issues without having to manually check each one. How it works This workflow acts as an automated debugging assistant for your n8n instance 🤖. When any of your other workflows fail during an automatic (production) execution, this template will: Capture the error and use the n8n API to fetch the complete structure of the failed workflow for full context. Send the error details and workflow structure to a powerful AI agent (via OpenRouter) for a detailed root cause analysis. Format the AI's diagnosis and suggested fix into a clean HTML email and send it to you via Gmail, including a direct link to the failed execution. Important Note: As per the n8n documentation, the Error Trigger node only runs for errors that happen in production executions (e.g., from a webhook call or a schedule). It will not run when you test a workflow by clicking "Execute workflow" manually. Set up steps (Estimated setup time: 10 minutes) There are two main parts to the setup: configuring this workflow, and then connecting it to the workflows you want to monitor. Part A: Configure the AI Debugger Workflow n8n API Credentials: Create an API key in your n8n instance under Settings > API and add it as a "Header Auth" credential for the Get Workflow JSON node. OpenRouter Credentials: Add your OpenRouter API key to the OpenRouter Chat Model node. Gmail Credentials: Authenticate your Gmail account in the Send Debugging Email node. Recipient Email: Update the "To" field in the final Send Debugging Email node with your own email address. Environment Variable: Ensure your N8N_EDITOR_BASE_URL environment variable is correctly set for your n8n instance. This is required for building the API and execution links. Part B: Connect to Your Other Workflows For every workflow you want this debugger to monitor, you must link it in that workflow's settings. Go to the workflow you want to monitor (your "target" workflow). Click the three dots (...) in the top right corner and select Settings. 3. In the Error Workflow dropdown, select this "AI-Powered Workflow Debugger & Notifier" workflow. Click Save. Now, whenever that target workflow fails during a production run, this debugger workflow will automatically be triggered to analyze the error and notify you. Note that the error workflow only gets triggered on automatic runs, not manual ones: This is a feature of how the error trigger works in n8n. To ensure this, make sure the target workflow is active. It won't trigger the error workflow if it's turned off.
by Yassin Zehar
Description Automated workflow that creates Jira issues directly from Google Forms. The flow validates and normalizes the data, creates the Jira issue, writes the key back to the Google Sheet, and sends a Gmail notification. Context This template bridges lightweight Google Forms with enterprise Jira. It enables instant ticket creation while keeping Jira the single source of truth. The flow is idempotent (no duplicates) and production-friendly, with clean field normalization and safe mappings. Target Users Product / Ops teams running request portals on Google Forms Engineering managers who need quick Jira integration without custom UI Project managers who track intake in Google Sheets but want Jira as the system of record Orgs that want controlled ticket creation without exposing Jira directly Technical Requirements Jira Cloud project + API email + API token + “Create issues” permission Google Form + response Sheet Gmail credential for notifications Workflow Steps Trigger when a row is added Normalize Fields – Trim/clean text Create Jira Issue – POST to Jira REST; safe mappings Update Google Sheet – Match by Horodateur or rowNumber; write jira_key, issue_url, status, updated_at. Send Gmail – HTML email with key, title, link, priority, requester. Key Features Real-time (no polling): Forms → trigger→ n8n Idempotent updates using the Form timestamp (“Horodateur”) Clean normalization: summary/description/labels all standardized once Safe Jira mappings: priority via ID Notification: branded HTML email with all key fields Expected Output Google Form to create the issue Sheet updated with jira_key, issue_url, status, updated_at A valid Jira issue in the configured project Email sent to stakeholders / requester How it works ⏰ Trigger – As soon as a row is added, the workflow is triggered 🧱 Normalize – Clean summary/description/labels; pick reporter_email 🧾 Create – POST to /rest/api/3/issue, capture { id, key, self } 📗 Update – Write jira_key, issue_url, status, updated_at back to the Sheet ✉️ Notify – Send Gmail HTML confirmation to stakeholders/requester Tutorial video: Watch the Youtube Tutorial video About me : I'm Yassin, IT Project Manager, Agile & Data specialist. Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Oneclick AI Squad
This is a fully working n8n workflow that sends prescriptions to patients via email and WhatsApp when a doctor enters prescription data into a Google Sheet. 📋 Google Sheets Structure Main Sheet: Required columns: prescription_id (unique ID) patient_name patient_email patient_phone doctor_name prescription_date prescription_details dosage_instructions followup_date (optional) prescription_status (set to "new" for new prescriptions) Log Sheet: This will be auto-created with columns for tracking sent notifications. 🔧 Required Credentials Setup Google Sheets OAuth2 API: Connect your Google account SMTP Credentials: For email sending (Gmail, Outlook, etc.) WhatsApp API: Meta Business WhatsApp API credentials ⚙️ Configuration Steps Replace YOUR_GOOGLE_SHEET_ID with your actual Google Sheet ID Replace YOUR_WHATSAPP_PHONE_NUMBER_ID with your WhatsApp Business phone number ID Update the email sender address in the "Send Email" node Set up your credentials in n8n 🌟 Features Included Automated Trigger**: Monitors Google Sheet for new prescriptions Smart Filtering**: Only processes prescriptions with status "new" Rich Email Format**: Professional HTML email with prescription details WhatsApp Integration**: Sends formatted prescription text Comprehensive Logging**: Tracks all sent notifications Status Updates**: Marks prescriptions as "sent" after processing Error Handling**: Logs success/failure status for both channels 📱 Sample Data Format Add rows to your sheet like this: prescription_id: RX001 patient_name: John Doe patient_email: john@email.com patient_phone: +1234567890 doctor_name: Dr. Smith prescription_date: 2025-01-15 prescription_details: Amoxicillin 500mg capsules dosage_instructions: Take 1 capsule 3 times daily with food followup_date: 2025-01-22 prescription_status: new
by Cheng Siong Chin
How It Works A webhook or timer triggers the workflow to automatically fetch inventory data from multiple platforms. Stock levels are compared across stores to identify discrepancies, and any inconsistencies are updated on the respective platforms in real time. All changes and updates are recorded in Google Sheets for easy tracking, and email alerts are sent to notify relevant team members of any exceptions or issues that require attention. This ensures inventory accuracy and timely response to stock mismatches. Setup Steps Add Shopify and/or WooCommerce API credentials to enable secure data access. Connect Google Sheets for comprehensive logging of all inventory updates and Gmail for sending timely email alerts. Configure the sync frequency within the Function nodes to control how often inventory data is fetched, compared, and updated. Prerequisites Shopify/WooCommerce API keys Google Sheets access Gmail credentials n8n instance Customization Add ERPNext or custom APIs Enable Slack notifications AI discrepancy detection Benefits Real-time inventory accuracy Automated cross-platform updates Centralized audit logging
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 Dean Pike
Client Form → Draft → Approve → Sign → Deliver, fully automated This workflow automates the entire agreement lifecycle from client form submission to signed document delivery. It generates personalized agreements from templates, manages internal approvals, orchestrates e-signatures via Signwell, and delivers fully executed documents with complete audit trails in n8n Data Tables. Good to know Handles client data collection via JotForm with custom field mapping Automatically populates Google Doc templates with client-specific details Internal approval workflow with email-based confirmation Signwell integration for embedded e-signatures - test mode enabled by default - disable for legally binding documents Complete lifecycle tracking in n8n Data Tables (draft → approval → sent → signed) Auto-cleanup: removes documents from Signwell after completion to save storage Who's it for Service businesses, consultants, agencies, and freelancers who send agreements to clients regularly. Perfect for anyone wanting to avoid other costly e-signature platforms with limited API and automation capabilities. Signwell has an affordable entry level tier with generous API limits. If you're looking to eliminate manual document preparation, have an approval workflow, and track signatures while maintaining professional client communication, then this solution is a good fit. How it works Phase 1: Draft Creation JotForm trigger captures client submission (company name, address, contact details, position) Standardizes form data and duplicates Google Doc template with custom filename Replaces template variables with client information (company name, address, full name, position, dates) Creates clean document URL and logs initial record to Data Tables Emails internal team with draft review link and client details Phase 2: Approval & Preparation Gmail monitors inbox for "Approved" reply email Fetches agreement record from Data Tables and marks as approved Downloads Google Doc as PDF and uploads to Drive folder Grants temporary public sharing access (required for Signwell file import) Creates Signwell document with embedded signature fields and signing URL Emails client with personalized signing link Revokes public sharing access for security and updates Data Tables with Signwell details Phase 3: Signature & Delivery Gmail monitors for Signwell completion notification Extracts signed document download link from notification email Downloads fully executed PDF from Signwell Uploads to "Final Versions" folder in Google Drive Updates Data Tables with completion status and final document URLs Sends confirmation email to client with signed PDF attached Deletes document from Signwell to free up storage Requirements JotForm account (free tier works) Gmail account with OAuth2 access Google Drive account (OAuth2) Google Docs account (OAuth2) with a draft Agreement template Signwell account with API key n8n Data Tables (built-in, no external service needed) Google Drive folders: "Services Agreements - Drafts" and "Services Agreements - Final Versions" How to set up Add credentials: JotForm API, Gmail OAuth2, Google Drive OAuth2, Google Docs OAuth2, Signwell API key Create JotForm: Build form with fields: Company Name, Company Address (address field), Full Name (name field), Your Position/Job Title, Email In "JotForm Trigger" node: select your form Create Google Doc template: Add variables {{clientCompanyName}}, {{clientFullName}}, {{clientNamePosition}}, {{clientCompanyAddress}}, {{agreementDate1}}, {{agreementDate2}} In "Copy and Rename File" node: select your template document and update folder ID to your "Drafts" folder Create Data Table: Name it "Services Agreements" with columns: documentFileName, clientEmail, clientFullName, clientNamePosition, clientCompanyName, clientCompanyAddress, documentUrl, approvalStatus, sentDocumentPdfUrl, sentDate, signwellUrl, signwellDocID, docSigned, finalExecutedDocGDrive, finalExecutedDocSignwellUrl In "Insert Row" and all "Get/Update Row" nodes: select your Data Table Create Gmail labels: "_AGREEMENTS" with 2 nested (sublabels) Agreement-Approvals" and "Agreement-Completed" for filtering In "Check for Email Approval" node: select your approval label and update internal email address In "Check Email for Completed Notification" node: select your completed label In "Create Document in Signwell" node: update API key and adjust signature field coordinates for your document Set Signwell to live mode: Change "test_mode": true to "test_mode": false when ready for production Activate workflow Customizing this workflow Change template variables: Edit "Update New File" node to add/remove fields (e.g., pricing, terms, scope of work) Modify approval email: Edit "Share Email Draft" node to change recipient, subject line, or message format Adjust Signwell fields: Edit "Create Document in Signwell" node to change signature/date field positions (x, y coordinates) to match your agreement template, and add any other fields you'd like Add approval deadline: Add Wait node with timeout after "Share Email Draft" to auto-remind for pending approvals Multi-signer support: Modify "Create Document in Signwell" recipients array to add multiple signers (e.g., both parties) Change storage folders: Update folder IDs in "Upload PDF File" and "Upload Completed Doc" nodes Add Slack notifications: Add Slack nodes after key milestones (draft created, approved, signed) Custom client messaging: Edit "Send Prepared Agreement to Client" and "Send Client Completed Agreement PDF" nodes for personalized communication Add reminder logic: Insert Wait + Send Email nodes between signing and completion to remind client if not signed within X days Quick Troubleshooting JotForm not triggering: Verify webhook is active in JotForm settings and form ID matches "JotForm Trigger" node Template variables not replacing: Check variable names in template doc exactly match {{variableName}} format (case-sensitive) Wrong internal email for approval: Update email address in "Share Email Draft" node to your own email Approval email not detected: Confirm Gmail label "Agreement-Approvals" exists and reply contains exact word "Approved" Signwell document creation fails: Verify PDF has public sharing enabled before API call AND Signwell API key is valid in "Create Document in Signwell" node Signature fields in wrong position: Adjust x/y coordinates in "Create Document in Signwell" node (test in Signwell UI first to find correct pixel positions) Completed document not downloading: Check Signwell completion email format - Code node extracts link via regex pattern Data Tables errors: Ensure documentFileName exactly matches between "Insert Row" and "Get/Update Row" operations Client emails not sending: Re-authorize Gmail OAuth2 credentials and verify sender name/address in Gmail nodes Drive folder not found: Update folder IDs in "Copy and Rename File", "Upload PDF File", and "Upload Completed Doc" nodes to your own folder IDs Signwell deletion fails: Verify signwellDocID was correctly stored in Data Tables before deletion (check "Update Row - Additional Doc Details" output) 401/403 API errors: Re-authorize all OAuth2 credentials (Gmail, Google Drive, Google Docs) Test mode documents: Change "test_mode": true to "test_mode": false in "Create Document in Signwell" node for production signatures Sample Outputs Agreement Drafts and Final folders/files in Google Drive File References Agreement Template (sample) Final Agreement Signed (sample)
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 Ranjan Dailata
Disclaimer Please note - This workflow is only available on n8n self-hosted as it’s making use of the community node for the Decodo Web Scraping This n8n workflow automates the process of scraping, analyzing, and summarizing Amazon product reviews using Decodo’s Amazon Scraper, OpenAI GPT-4.1-mini, and Google Sheets for seamless reporting. It turns messy, unstructured customer feedback into actionable product insights — all without manual review reading. Who this is for This workflow is designed for: E-commerce product managers** who need consolidated insights from hundreds of reviews. Brand analysts and marketing teams** performing sentiment or trend tracking. AI and data engineers** building automated review intelligence pipelines. Sellers and D2C founders** who want to monitor customer satisfaction and pain points. Product researchers** performing market comparison or competitive analysis. What problem this workflow solves Reading and analyzing hundreds or thousands of Amazon reviews manually is inefficient and subjective. This workflow automates the entire process — from data collection to AI summarization — enabling teams to instantly identify customer pain points, trends, and strengths. Specifically, it: Eliminates manual review extraction from product pages. Generates comprehensive and abstract summaries using GPT-4.1-mini. Centralizes structured insights into Google Sheets for visualization or sharing. Helps track product sentiment and emerging issues over time. What this workflow does Here’s a breakdown of the automation process: Set Input Fields Define your Amazon product URL, geo region, and desired file name. Decodo Amazon Scraper Fetches real-time product reviews from the Amazon product page, including star ratings and AI-generated summaries. Extract Reviews Node Extracts raw customer reviews and Decodo’s AI summary into a structured JSON format. Perform Review Analysis (GPT-4.1-mini) Uses OpenAI GPT-4.1-mini to create two key summaries: Comprehensive Review: A detailed summary that captures sentiment, recurring themes, and product pros/cons. Abstract Review: A concise executive summary that captures the overall essence of user feedback. Persist Structured JSON Saves the raw and AI-enriched data to a local file for reference. Append to Google Sheets Uploads both the original reviews and AI summaries into a Google Sheet for ongoing analysis, reporting, or dashboard integration. Outcome: You get a structured, AI-enriched dataset of Amazon product reviews — summarized, searchable, and easy to visualize. Setup Pre-requisite Please make sure to install the n8n custom node for Decodo. Step 1 — Import the Workflow Open n8n and import the JSON workflow template. Ensure the following credentials are configured: Decodo Credentials account → Decodo API Key OpenAI account → OpenAI API Key Google Sheets account → Connected via OAuth Step 2 — Input Product Details In the Set node, replace: amazon_url → your product link (e.g., https://www.amazon.com/dp/B0BVM1PSYN) geo → your region (e.g., US, India) file_name → output file name (optional) Step 3 — Connect Google Sheets Link your desired Google Sheet for data storage. Ensure the sheet columns match: product_reviews all_reviews Step 4 — Run the Workflow Click Execute Workflow. Within seconds, your Amazon product reviews will be fetched, summarized by AI, and logged into Google Sheets. How to customize this workflow You can tailor this workflow for different use cases: Add Sentiment Analysis** — Add another GPT node to classify reviews as positive, neutral, or negative. Multi-Language Reviews** — Include a language detection node before summarization. Send Alerts** — Add a Slack or Gmail node to notify when negative sentiment exceeds a threshold. Store in Database** — Replace Google Sheets with MySQL, Postgres, or Notion nodes. Visualization Layer** — Connect your Google Sheet to Looker Studio or Power BI for dynamic dashboards. Alternative AI Models** — Swap GPT-4.1-mini with Gemini 1.5 Pro, Claude 3, or Mistral for experimentation. Summary This workflow transforms the tedious process of reading hundreds of Amazon reviews into a streamlined AI-powered insight engine. By combining Decodo’s scraping precision, OpenAI’s summarization power, and Google Sheets’ accessibility, it enables continuous review monitoring. In one click, it delivers comprehensive and abstract AI summaries, ready for your next product decision meeting or market strategy session.
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 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 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.