by Cj Elijah Garay
Discord AI Content Moderator with Learning System This n8n template demonstrates how to automatically moderate Discord messages using AI-powered content analysis that learns from your community standards. It continuously monitors your server, intelligently flags problematic content while allowing context-appropriate language, and provides a complete audit trail for all moderation actions. Use cases are many: Try moderating a forex trading community where enthusiasm runs high, protecting a gaming server from toxic behavior while keeping banter alive, or maintaining professional standards in a business Discord without being overly strict! Good to know This workflow uses OpenAI's GPT-5 Mini model which incurs API costs per message analyzed (approximately $0.001-0.003 per moderation check depending on message volume) The workflow runs every minute by default - adjust the Schedule Trigger interval based on your server activity and budget Discord API rate limits apply - the batch processor includes 1.5-second delays between deletions to prevent rate limiting You'll need a Google Sheet to store training examples - a template link is provided in the workflow notes The AI analyzes context and intent, not just keywords - "I *cking love this community" won't be deleted, but "you guys are sht" will be Deleted messages cannot be recovered from Discord - the admin notification channel preserves the content for review How it works The Schedule Trigger activates every minute to check for new messages requiring moderation We'll fetch training data from Google Sheets containing labeled examples of messages to delete (with reasons) and messages to keep The workflow retrieves the last 10 messages from your specified Discord channel using the Discord API A preparation node formats both the training examples and recent messages into a structured prompt with unique indices for each message The AI Agent (powered by GPT-5 Mini) analyzes each message against your community standards, considering intent and context rather than just keywords The AI returns a JSON array of message indices that violate guidelines (e.g., [0, 2, 5]) A parsing node extracts these indices, validates them, removes duplicates, and maps them to actual Discord message objects The batch processor loops through each flagged message one at a time to prevent API rate limiting and ensure proper error handling Each message is deleted from Discord using the exact message ID A 1.5-second wait prevents hitting Discord's rate limits between operations Finally, an admin notification is posted to your designated admin channel with the deleted message's author, ID, and original content for audit purposes How to use Replace the Discord Server ID, Moderated Channel ID, and Admin Channel ID in the "Edit Fields" node with your server's specific IDs Create a copy of the provided Google Sheets template with columns: message_content, should_delete (YES/NO), and reason Connect your Discord OAuth2 credentials (requires bot permissions for reading messages, deleting messages, and posting to channels) Add your OpenAI API key to access GPT-5 Mini Customize the AI Agent's system message to reflect your specific community standards and tone Adjust the message fetch limit (default: 10) based on your server activity - higher limits cost more per run but catch more violations Consider changing the Schedule Trigger from every minute to every 3-5 minutes if you have a smaller community Requirements Discord OAuth2 credentials for bot authentication with message read, delete, and send permissions Google Sheets API connection for accessing the training data knowledge base OpenAI API key for GPT-5 Mini model access A Google Sheet formatted with message examples, deletion labels, and reasoning Discord Server ID, Channel IDs (moderated + admin) which you can get by enabling Developer Mode in Discord Customising this workflow Try building an emoji-based feedback system where admins can react to notifications with ✅ (correct deletion) or ❌ (wrong deletion) to automatically update your training data Add a severity scoring system that issues warnings for minor violations before deleting messages Implement a user strike system that tracks repeat offenders and automatically applies temporary mutes or bans Expand the AI prompt to categorize violations (spam, harassment, profanity, etc.) and route different types to different admin channels Create a weekly digest that summarizes moderation statistics and trending violation types Add support for monitoring multiple channels by duplicating the Discord message fetch nodes with different channel IDs Integrate with a database instead of Google Sheets for faster lookups and more sophisticated training data management If you have questions Feel free to contact me here: elijahmamuri@gmail.com elijahfxtrading@gmail.com
by DIGITAL BIZ TECH
Weekly Timesheet Report + Pending Submissions Workflow Overview This workflow automates the entire weekly timesheet reporting cycle by integrating Salesforce, OpenAI, Gmail, and n8n. It retrieves employee timesheets for the previous week, identifies which were submitted or not, summarizes all line-item activities using OpenAI, and delivers a consolidated, manager-ready summary that mirrors the final email output. The workflow eliminates manual checking, reduces repeated follow-ups, and ensures leadership receives an accurate, structured, and consistent weekly report. Workflow Structure Data Source: Salesforce DBT Timesheet App This workflow requires the Digital Biz Tech – Simple Timesheet managed package to be installed in Salesforce. Install the Timesheet App: https://appexchange.salesforce.com/appxListingDetail?listingId=a077704c-2e99-4653-8bde-d32e1fafd8c6 The workflow retrieves: dbt__Timesheet__c — weekly timesheet records dbt__Timesheet_Line_Item__c — project and activity entries dbt__Employee__c — employee reference and metadata Billable, non-billable, and absence hour details Attendance information These combined objects form the complete dataset used for both submitted and pending sections. Trigger Weekly n8n Schedule Trigger — runs once every week. Submitted Path Retrieve submitted timesheets → Fetch line items → Convert to HTML → OpenAI summary → Merge with employee details. Pending Path Identify “New” timesheets → Fetch employee details → Generate pending submission list. Final Output Merge both paths → Build formatted report → Gmail sends weekly email to managers. Detailed Node-by-Node Explanation 1. Schedule Trigger Runs weekly without manual intervention and targets the previous full week. 2. Timesheet – Salesforce GetAll Fetches all dbt__Timesheet__c records matching: Timesheet for <week-start> to <week-end> Extracted fields include: Employee reference Status Billable, non-billable, absence hours Total hours Reporting period Feeds both processing paths. Processing Path A — Submitted Timesheets 3. Filter Submitted Filters timesheets where dbt__Status__c == "Submitted". 4. Loop Through Each Submitted Record Each employee’s timesheet is processed individually. 5. Retrieve Line Items Fetches all dbt__Timesheet_Line_Item__c entries: Project / Client Activity Duration Work description Billable category 6. Convert Line Items to HTML (Code Node) Transforms line items into well-structured HTML tables for clean LLM input. 7. OpenAI — Weekly Activity Summary OpenAI receives the HTML + Employee ID and returns a 4-point activity summary avoiding: Hours Dates Repeated or irrelevant metadata 8. Fetch Employee Details Retrieves employee name, email, and additional fields if needed. 9. Merge Employee + Summary Combines: Timesheet data Employee details OpenAI summary Creates a unified object. 10. Prepare Submitted Section (Code Node) Produces the formatted block used in the final email: Employee: Name Period: Start → End Status: Submitted Total Hours: ... Timesheet Line Items Breakdown: summary point summary point summary point summary point Processing Path B — Not Submitted Timesheets 11. Identify Not Submitted Timesheets still in dbt__Status__c == "New" are flagged. 12. Retrieve Employee Information Fetches employee name and email. 13. Merge Pending Information Maps each missing submission with its reporting period. 14. Prepare Pending Reporting Block Creates formatted pending entries: TIMESHEET NOT SUBMITTED Employee Name Email: user@example.com Final Assembly & Report Delivery 15. Merge Submitted + Pending Sections Combines all processed data. 16. Create Final Email (Code Node) Builds: Subject HTML body Section headers Manager recipient group Matches the final email layout. 17. Send Email via Gmail Automatically delivers the weekly summary to managers via Gmail OAuth. No manual involvement required. What Managers Receive Each Week 👤 Employee: Name 📅 Period: Start Date → End Date 📌 Status: Submitted 🕒 Total Hours: XX hrs Billable: XX hrs Non-Billable: XX hrs Absence: XX hrs Weekly Requirement Met: ✔️ / ❌ 📂 Timesheet Line Items Breakdown: • Summary point 1 • Summary point 2 • Summary point 3 • Summary point 4 🟥 TIMESHEET NOT SUBMITTED 🟥 Employee Name 📧 Email: user@example.com Data Flow Summary Salesforce → Filter Submitted / Not Submitted ↳ Submitted → Line Items → HTML → OpenAI Summary → Merge ↳ Not Submitted → Employee Lookup → Merge → Code Node formats unified report → Gmail sends professional weekly summary Technologies & Integrations | System | Purpose | Authentication | |------------|----------------------------------|----------------| | Salesforce | Timesheets, Employees, Timesheet Line Items | Salesforce OAuth | | OpenAI | Weekly activity summarization | API Key | | Gmail | Automated email delivery | Gmail OAuth | | n8n | Workflow automation & scheduling | Native | Agent System Prompt Summary > You are an AI assistant that extracts and summarizes weekly timesheet line items. Produce a clean, structured summary of work done for each employee. Focus only on project activities, tasks, accomplishments, and notable positives or negatives. Follow a strict JSON-only output format with four short points and no extra text or symbols. Key Features AI-driven extraction: Converts raw line items into clean weekly summaries. Strict formatting: Always returns controlled 4-point JSON summaries. Error-tolerant: Works even when timesheet entries are incomplete or messy. Seamless integration: Works smoothly with Salesforce, n8n, Gmail, or OpenAI. Setup Checklist Install DBT Timesheet App from Salesforce AppExchange Configure Salesforce OAuth Configure Gmail OAuth Set OpenAI model for summarization Update manager recipient list Activate the weekly schedule Summary This unified workflow delivers a complete, automated weekly reporting system that: Eliminates manual timesheet checking Identifies missing submissions instantly Generates high-quality AI summaries Improves visibility into employee productivity Ensures accurate billable/non-billable tracking Automates end-to-end weekly reporting Need Help or More Workflows? We can integrate this into your environment, tune the agent prompt, or extend it for more automation. We can also help you set it up for free — from connecting credentials to deployment. Contact: anushapriya.subaskar@digitalbiz.tech Website: https://www.digitalbiz.tech LinkedIn: https://www.linkedin.com/company/digital-biz-tech/ You can also DM us on LinkedIn for any help.
by Automate With Marc
Image to Video Social Media Reel Generator + Autopost Without AI Slop Google Drive → AI Video Generation → Captions → Approval → Instagram & TikTok Watch Step-By-Step Video: https://www.youtube.com/watch?v=jPOYxQF25ws Turn a folder of images into fully-produced short-form social media reels—automatically. This workflow picks a random image, generates a cinematic AI video from it, adds text overlays and captions, waits for your approval, and then posts to Instagram and TikTok. What this template does On a scheduled basis (default: daily at 9:00 AM), this workflow: Selects a random image from a Google Drive folder Uploads the image for processing Generates a cinematic image-to-video prompt using AI Creates an 8-second vertical video using an image-to-video model (via Wavespeed) Applies captions and text overlays using Submagic Waits for human approval via email Automatically posts the approved reel to: Instagram TikTok If the video is not approved, the workflow loops and tries again on the next run. Why this workflow is useful Converts static images into high-engagement video content Removes repetitive manual work in short-form content creation Keeps a human-in-the-loop before anything is published Perfect for: Creators & solopreneurs Social media managers Small businesses & local brands AI-first content pipelines High-level flow Schedule → Pick Image → Generate Video → Add Captions → Approve → Post Node overview Schedule Trigger Runs the workflow automatically at a fixed time (default: daily at 9 AM). Google Drive – Search Files Fetches all images from a selected Drive folder. Randomizer (Code Node) Selects one random image to avoid repetitive posting. Upload Media Uploads the selected image so it can be used by downstream tools. Prompt Generator (AI) Generates a high-quality cinematic prompt optimized for image-to-video models Wavespeed – Image to Video Creates an 8-second, 9:16 video from the image + prompt. Wait & Polling (IF Nodes) Waits and checks until video generation is completed. Submagic – Text Overlay & Captioning Adds captions and overlays in a short-form style optimized for social platforms. Gmail – Send for Approval Sends a preview link and caption to your inbox and waits for approval. IF (Approved?) Yes: posts the reel automatically No: skips posting and retries in the next run Blotato – Social Posting Publishes the approved reel to: Instagram TikTok Requirements Before running this template, you’ll need to configure: Google Drive OAuth (image source folder) OpenAI API key (prompt generation) Wavespeed API key (image-to-video generation) Submagic API key (captions & overlays) Gmail OAuth (approval workflow) Blotato account (Instagram & TikTok posting) All credentials must be added manually after importing. Setup instructions Import the template into your n8n workspace Connect your Google Drive account and set your image folder Add credentials for: OpenAI Wavespeed Submagic Gmail Blotato Adjust the Schedule Trigger if needed Run the workflow once to test the full flow Enable the workflow to start daily automated posting Customization ideas Change video duration, aspect ratio, or style Modify the AI prompt to match your brand voice Post only after manual approval (already built-in) Add a Slack or Telegram approval step Duplicate posting logic for YouTube Shorts or Facebook Reels Store generated videos in cloud storage or a content database Troubleshooting No images found: check Drive folder ID and permissions Video stuck generating: increase wait time or polling interval Approval email not received: verify Gmail OAuth and inbox filters Posting fails: confirm Blotato account and platform permissions
by Rahul Joshi
Quick Overview This workflow ingests construction incident webhooks, normalizes the payload, and uses OpenAI GPT-4o-mini to classify each incident by type and urgency, then routes alerts to Slack and Gmail and logs incidents to Google Sheets, with a daily Slack digest generated from the sheet. How it works Receives an incoming incident via a POST webhook. Normalizes the incoming Procore/Fieldwire-style payload into a consistent incident object (ID, title, description, location, reporter, assignee, and timestamps). Sends the incident details to OpenAI (GPT-4o-mini) to classify issue type and urgency and generate a short summary, recommended action, and tags. Routes incidents by urgency, sending Critical incidents to Slack with an @channel mention and emailing details to a project manager via Gmail. Sends High-urgency incidents to Slack as a formatted notice. Appends every incident to a Google Sheets log with status set to open. Runs daily at 18:00 server time, reads the incident log from Google Sheets, builds an urgency-grouped digest, and posts it to a Slack channel. Setup Add credentials for OpenAI, Slack (OAuth2), Gmail (OAuth2), and Google Sheets (OAuth2). Copy the webhook URL from the Webhook trigger and register it in your source system (for example, Procore or Fieldwire) as the incident-created endpoint. Replace the placeholder Slack channel IDs for Critical, High, Digest, and Error alerts. Update the Gmail recipient address (pm@example.com) to your real project manager email. Set the Google Sheets spreadsheet (document ID) and ensure the target sheet exists with columns that match the incident log fields used by the workflow. Confirm the schedule trigger time (cron: 0 18 * * *) matches your desired timezone/server time for the daily digest.
by Rahul Joshi
Quick Overview This workflow runs every Friday at 5 PM, reads project metrics from three Google Sheets tabs, calculates a Red/Amber/Green health status, uses OpenAI (GPT-4o mini) to generate executive summaries, and sends a color-coded HTML dashboard email via Gmail, with Slack alerts for failures. How it works Runs every Friday at 5 PM on a schedule. Reads the latest rows from three Google Sheets tabs (Alpha, Beta, and Gamma) in parallel. Merges the sheet data and calculates each project’s schedule variance, budget burn, open issue count, and overall RAG (Red/Amber/Green) status. Sends a per-project prompt to OpenAI (GPT-4o mini) to generate a concise three-line executive health summary. If the AI step fails for any project, posts an alert to a specified Slack channel. Aggregates all projects into a styled HTML dashboard email with overall RAG counts and sends it to your leadership list via Gmail. If the workflow errors at any point, posts an error alert to Slack using the workflow error trigger. Setup Connect Google Sheets OAuth2 credentials and replace YOUR_SPREADSHEET_ID and the tab references so the three read steps point to your spreadsheet. Ensure each Google Sheets tab includes the expected columns: project_name, planned_end, forecast_end, budget_total, budget_spent, open_issues_count, and pct_complete. Add your OpenAI credentials and confirm the model selection (GPT-4o mini) is available in your OpenAI account. Connect Gmail OAuth2 credentials and update the recipient address in the email step (your-leadership-list@example.com). Connect Slack OAuth2 credentials and set the correct channel IDs for both the AI-failure alert and the workflow error alert.
by isaWOW
You activate this workflow once and it checks your Google reviews every morning at 9AM without any action from you. It fetches your latest reviews, classifies them as positive or negative, and uses GPT-4o-mini to write a personalised reply draft for each one. You receive a clean daily email with all drafts ready to copy and paste straight into your Google Business Profile. Built for local business owners, agencies, and reputation managers who want to stay on top of reviews without checking manually every day. What This Workflow Does Fetches live reviews daily — Pulls your latest Google reviews from the Places API every morning so you never miss a new one. Classifies each review automatically — Separates positive reviews (4–5 stars) from negative reviews (1–3 stars) so the AI writes the right tone for each. Skips days with no activity — If no reviews exist for your business, the workflow stops cleanly and sends no email — no noise in your inbox. Generates personalised reply drafts — GPT-4o-mini writes a unique reply for every review, referencing the reviewer's name and specific comments. Handles negative reviews professionally — Negative replies include a sincere apology and an offline resolution offer — never defensive or argumentative. Delivers a formatted daily digest — Gmail sends one clean email with a summary count and all reply drafts — plus step-by-step instructions for posting them. Setup Requirements Tools and accounts needed: n8n instance (self-hosted or cloud) Google Cloud account with Places API enabled (for fetching reviews) Your Google Place ID (identifies your specific business listing) OpenAI account with API access (for GPT-4o-mini) Gmail account for sending the daily digest (OAuth2 credential) Estimated Setup Time: 12–18 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON. Paste the workflow JSON and import. Confirm all 9 nodes are connected in sequence. Find your Google Place ID — Go to developers.google.com/maps/documentation/places/web-service/place-id and use the Place ID Finder. Search for your business name and copy the Place ID shown. You will paste this into the config step below. Get your Google Places API key — Go to console.cloud.google.com. Create or select a project. Enable the Places API. Go to APIs & Services → Credentials → Create Credentials → API Key. Copy your new API key. Edit your config values — Open the 2. Set — Config Values node. This is the only node you need to change. Replace all five placeholders: | Field | What to enter | |---|---| | YOUR_GOOGLE_PLACE_ID | Your Place ID from step 2 | | YOUR_GOOGLE_PLACES_API_KEY | Your API key from step 3 | | YOUR BUSINESS NAME | Your business name as it appears on Google | | owner@yourbusiness.com | The email address to receive daily reports | | YOUR NAME | Your name — appears at the end of every reply draft | > ⚠️ The Google Places API key is used directly in the URL of the 3. HTTP — Fetch Google Places Reviews node via the config values. Ensure you replace it in 2. Set — Config Values only — it flows through automatically. Connect your OpenAI API key — Go to Credentials → New → OpenAI API in n8n. Paste your API key from platform.openai.com. Open the 7. OpenAI — GPT-4o-mini Model node and select this credential. Connect your Gmail credential — Go to Credentials → New → Gmail OAuth2 in n8n. Complete the OAuth flow with the Gmail account you want to send reports from. Open the 9. Gmail — Send Review Report node and select this credential. Activate the workflow — Toggle the workflow to Active. It will now run automatically every day at 9AM. How It Works (Step by Step) Step 1 — Schedule Trigger (Every Day 9AM) The workflow fires automatically each morning using a daily cron schedule. No manual action is needed once the workflow is active. Step 2 — Set (Config Values) Five configuration values are stored here: your Place ID, Google Places API key, business name, owner email, and owner name. Every other step in the workflow reads from this single location. Step 3 — HTTP Request (Google Places API) A GET request is sent to the Google Places Details API using your Place ID and API key. It asks for the business name, overall star rating, and all available reviews. The raw response is passed to the next step. Step 4 — Code (Parse and Classify Reviews) A script reads the raw API response and extracts every review. It separates reviews into two groups: positive (4–5 stars) and negative (1–3 stars). It also builds a clean numbered text summary of all reviews — including author name, star rating, review text, and recency — ready for the AI to read. If the API returns zero reviews, the step sets a hasReviews: false flag and passes a fallback message forward. Step 5 — IF Check (Are There Reviews?) This step checks the hasReviews flag from Step 4. If it is true, the workflow continues to the AI reply generation. If it is false — meaning no reviews were found — the workflow stops here completely and no email is sent. This prevents empty or useless emails on quiet days. Step 6 — AI Agent (Generate Reply Drafts) GPT-4o-mini receives the full review summary along with your business name, overall rating, and owner name. It writes one reply draft for every review in the list. Positive reply drafts thank the reviewer by name, reference something specific they mentioned, and invite them back. Negative reply drafts open with a sincere apology, acknowledge the concern without excuses, and offer to resolve the issue offline. Every reply ends with your name in a Best regards, sign-off. Step 7 — OpenAI Model (GPT-4o-mini) This is the language model powering the AI Agent in Step 6. It runs at a temperature of 0.7 for natural, human-sounding replies and has a 1,000-token output limit — enough for a full set of reply drafts. Step 8 — Set (Prepare Email Fields) The AI-generated reply drafts, email subject line, recipient address, and review counts are assembled into one item. The subject line dynamically includes your business name, the total number of reviews found, and your current overall star rating. Step 9 — Gmail (Send Review Report) Gmail sends the final daily digest to your inbox. The email opens with a summary showing how many positive and negative reviews were found. It then lists all reply drafts one after another, each labelled with the review number, sentiment, and reviewer name. The email closes with a three-step guide for posting replies on Google Business Profile. Key Features ✅ Zero-maintenance daily monitoring — Checks your reviews every morning at 9AM with no login or manual trigger required. ✅ Smart stop on quiet days — The IF check ensures no email is sent when there are no reviews — your inbox only receives reports that matter. ✅ Tone-matched reply drafts — Positive reviews get warmth and appreciation. Negative reviews get calm professionalism. The AI uses the right tone automatically. ✅ Reviewer name personalisation — Every reply draft opens by addressing the reviewer by their actual name — not a generic greeting. ✅ Review count in subject line — The email subject dynamically shows how many reviews were found and your current rating — you know what to expect before opening it. ✅ Copy-paste ready format — Drafts are delivered in a clean numbered format with posting instructions included — no reformatting needed before you use them. ✅ Single config node — All five business-specific values live in one place. Switching this workflow to a different business takes under two minutes. Customisation Options Change the daily send time — In the 1. Schedule — Every Day 9AM node, edit the cron expression 0 9 * * * to any time you prefer. For example, 0 7 * * * sends at 7AM, or 0 18 * * * sends at 6PM. Adjust the negative review word limit — In the 6. AI Agent — Generate Reply Drafts node, change under 70 words in the prompt to any length that fits your brand voice — shorter for a concise tone, longer for a more detailed response. Add a CC recipient — In the 9. Gmail — Send Review Report node, expand the options and add a CC email address to copy an agency manager or team member on every daily digest. Filter only new reviews by date — In the 4. Code — Parse and Classify Reviews step, add a date filter using the time field from each review object to only process reviews posted in the last 24 hours — avoiding repeat drafts for old reviews. Deploy for multiple locations — Duplicate the workflow in n8n and update the 2. Set — Config Values node for each business or location. Each copy runs independently on the same daily schedule. Troubleshooting HTTP node returns a 403 or REQUEST_DENIED error: Check that the Places API is enabled in your Google Cloud Console project Verify that YOUR_GOOGLE_PLACES_API_KEY has been replaced in 2. Set — Config Values with your actual API key Confirm your API key has no IP or referrer restrictions that would block n8n server requests No reviews found even though reviews exist on Google: Verify that YOUR_GOOGLE_PLACE_ID is correct — search for your exact business at developers.google.com/maps/documentation/places/web-service/place-id and re-copy the ID Note that the Google Places API returns a maximum of 5 most recent reviews — this is an API limitation, not a workflow issue Run the workflow manually and inspect the output of 3. HTTP — Fetch Google Places Reviews to view the raw API response AI Agent produces empty or broken reply drafts: Confirm the 7. OpenAI — GPT-4o-mini Model credential is valid and your OpenAI account has available API credits Check the execution log for 6. AI Agent — Generate Reply Drafts for any OpenAI error messages If the review text field is empty for some reviews, the AI may produce shorter or generic replies — this is expected Gmail node fails to send the digest: Confirm your Gmail OAuth2 credential is connected and not expired in the 9. Gmail — Send Review Report node Check that owner@yourbusiness.com has been replaced with a valid real email address in 2. Set — Config Values Re-authenticate the Gmail credential if you see an authorisation error Workflow does not run at 9AM: Confirm the workflow is toggled to Active — saved workflows do not run on schedule unless activated Check your n8n instance timezone settings — the 9AM schedule runs based on your server's timezone, not your local time Support Need help setting this up or want a custom version built for your team or agency? 📧 Email:info@isawow.com 🌐 Website:https://isawow.com
by Milos Vranes
Quick overview This workflow handles Twilio recording-complete webhooks, downloads the call audio, transcribes it with OpenAI Whisper, and uses Anthropic Claude to extract structured call insights. It logs every call to Google Sheets, emails urgent calls via Gmail, and returns an empty TwiML response to close the Twilio request. How it works Receives a Twilio Recording Status Callback webhook when an inbound call recording is completed. Normalizes the webhook payload to capture the call SID, caller/recipient numbers, recording URL, duration, and a timestamp. Downloads the MP3 recording from Twilio using HTTP Basic Auth and sends the audio to OpenAI Whisper to generate a transcript. Sends the transcript and call metadata to Anthropic Claude and parses its JSON output into fields like intent, urgency, summary, sentiment, and whether a callback is needed. Appends the combined call metadata, transcript, and AI analysis to a Google Sheets tab for logging and reporting. If the call is flagged as urgent (high urgency or a complaint), sends a detailed HTML alert email via Gmail. Returns an empty TwiML XML response to Twilio to complete the webhook response cleanly. Setup Configure Twilio call recording (TwiML Bin/Studio/Voice setup) and set the Recording Status Callback URL to this workflow’s webhook endpoint. Add Twilio HTTP Basic Auth credentials in n8n (Account SID as username and Auth Token as password) and attach them to the Twilio recording download request. Add an OpenAI API key as an HTTP Header Auth credential (Authorization: Bearer ) for the Whisper transcription request. Add an Anthropic API key as an HTTP Header Auth credential (x-api-key: ) for the Claude messages request. Connect Google Sheets credentials, replace the spreadsheet ID, and create an “Inbound Calls” sheet with columns matching the logged fields. Connect Gmail credentials and replace the recipient address (you@example.com) with the operator inbox for urgent-call alerts.
by Incrementors
Quick overview This workflow creates a session-based chatbot in n8n Chat that loads “skills” from Google Sheets and uses OpenAI GPT-4o-mini to respond strictly according to the matched skill’s trigger phrases and instructions. How it works Receives each message from the built-in n8n Chat trigger. Retrieves all rows from a Google Sheets document that contains a Skills tab. Filters the rows to skills marked Active = Yes and formats them into a structured skills context for the agent. Uses an OpenAI GPT-4o-mini powered agent with session memory to match the user message to the best skill via trigger phrases and generate a response that follows the skill instructions exactly. Sends the agent’s output back to the n8n chat interface. Setup Create a Google Sheet with a Skills tab and columns for Skill Name, Trigger Phrases, Instructions, Example Output, and Active (set to Yes for enabled skills). Add a Google Sheets OAuth credential and replace YOUR_SKILLS_SHEET_ID with your spreadsheet ID. Add an OpenAI credential and ensure the model is set to gpt-4o-mini. Activate the workflow and use the Chat Trigger URL to start a conversation. Requirements Active n8n instance (self-hosted or cloud) OpenAI account with GPT-4o-mini API access Google Sheets with a tab named Skills — column headers must be added before the first run At least one skill row with Active set to Yes before testing Customization Add more skills at any time — open your Google Sheet, add a new row with a skill name, trigger phrases, instructions, and set Active to Yes — the change takes effect on the next chat message with no workflow changes needed Swap GPT-4o-mini for a different model — open the OpenAI — GPT-4o-mini step and change the model selection to gpt-4o or gpt-4.1-mini depending on the response quality and cost balance you need Add a fallback email alert for unmatched messages — after node 5. Respond to Chat, add a Gmail step with an IF check that fires when the response contains the fallback message text, sending you an email with the unmatched question so you can add a new skill to cover it Change the session memory window — open the Session Memory step and adjust the window size to store more or fewer previous messages in the conversation context — a larger window improves multi-turn follow-ups but uses more tokens Add a Slack interface instead of the built-in chat — replace node 1. Chat Trigger with a Slack trigger that listens for messages in a specific channel, so your team can use the skills chatbot directly from Slack without opening n8n Additional info Trigger phrases drive skill matching — the more specific and varied your trigger phrases are, the more accurately the agent picks the right skill. For example, instead of just "email" use "cold email, outreach email, sales email, prospecting email" to cover different ways users might phrase the same request. If a user message could match multiple skills, the agent picks the most relevant one based on the full message context. If you notice the wrong skill being selected, make the trigger phrases of each skill more distinct from each other. The Active column controls which skills are loaded on each run. Setting a row to anything other than Yes — including No, Inactive, or leaving it blank — silently excludes it. You can use this to turn skills on and off without deleting them. The workflow reads the full Skills tab on every single chat message. For large skill sheets with many rows this adds a small delay. If you have more than 50 skills and notice slow responses, consider archiving inactive skills to a separate tab to keep the active tab lean.
by Jitesh Dugar
Workshop Certificate Pre-Issuance System 🎯Description Transform your event registration process with this comprehensive automation that eliminates manual certificate creation and ensures only verified attendees receive credentials. ✨ What This Workflow Does This powerful automation takes workshop/event registrations from Jotform and: Validates Email Addresses - Real-time verification using VerifiEmail API to prevent bounced emails and spam registrations Generates Professional PDF Certificates - Creates beautifully designed certificates with attendee name, event details, and unique QR code Saves to Google Drive - Automatically organizes all certificates in a dedicated folder with searchable filenames Sends Confirmation Emails - Delivers professional HTML emails with embedded certificate preview and download link Maintains Complete Records - Logs all successful and failed registrations in Google Sheets for reporting and follow-up 🎯 Perfect For Workshop Organizers** - Pre-issue attendance confirmations Training Companies** - Automate enrollment certificates Conference Managers** - Streamline attendee credentialing Event Planners** - Reduce check-in time with QR codes Educational Institutions** - Issue course registration confirmations Webinar Hosts** - Send instant confirmation certificates 💡 Key Features 🔒 Email Verification Validates deliverability before issuing certificates Detects disposable/temporary emails Prevents spam and fake registrations Reduces bounce rates to near-zero 🎨 Beautiful PDF Certificates Professional Georgia serif design Customizable colors and branding Unique QR code for event check-in Unique certificate ID for tracking Print-ready A4 format 📧 Professional Email Delivery Mobile-responsive HTML design Embedded QR code preview Direct link to Google Drive PDF Branded confirmation message Event details and instructions 📊 Complete Tracking All registrations logged in Google Sheets Separate tracking for failed validations Export data for check-in lists Real-time registration counts Deduplication by email ⚡ Lightning Fast Average execution: 15-30 seconds Instant delivery after registration No manual intervention required Scales automatically 🔧 Technical Highlights Conditional Logic** - Smart routing based on email validity Data Transformation** - Clean formatting of form data Error Handling** - Graceful handling of invalid emails Merge Operations** - Combines form data with verification results Dynamic QR Codes** - Generated with verification URLs Secure Storage** - Certificates backed up in Google Drive 📦 What You'll Need Required Services: Jotform - For registration forms VerifiEmail API - Email verification service Google Account - For Gmail, Drive, and Sheets HTMLCSStoPDF - PDF generation service Estimated Setup Time: 20 minutes 🚀 Use Cases Workshop Series Issue certificates immediately after registration Reduce no-shows with professional confirmation Easy check-in with QR code scanning Virtual Events Instant confirmation for webinar attendees Digital certificates for participants Automated follow-up communication Training Programs Pre-enrollment certificates Attendance confirmations Course registration verification Conferences & Meetups Early bird confirmation certificates Attendee badge preparation Venue capacity management 📈 Benefits ✅ Save Hours of Manual Work - No more creating certificates one by one ✅ Increase Attendance - Professional confirmations boost show-up rates ✅ Prevent Fraud - Email verification stops fake registrations ✅ Improve Experience - Instant delivery delights attendees ✅ Stay Organized - All data tracked in one central location ✅ Scale Effortlessly - Handle 10 or 10,000 registrations the same way 🎨 Customization Options The workflow is fully customizable: Certificate Design** - Modify HTML template colors, fonts, layout Email Template** - Adjust branding and messaging Form Fields** - Adapt to your specific registration needs QR Code Content** - Customize verification data Storage Location** - Choose different Drive folders Tracking Fields** - Add custom data to Google Sheets 🔐 Privacy & Security Email addresses verified before certificate issuance Secure OAuth2 authentication for all Google services No sensitive data stored in workflow GDPR-compliant data handling Certificates stored in private Google Drive 📱 Mobile Responsive Professional emails display perfectly on all devices QR codes optimized for mobile scanning Certificates viewable on phones and tablets Download links work seamlessly everywhere 🏆 Why This Workflow Stands Out Unlike basic registration confirmations, this workflow: Validates emails before generating certificates** (saves resources) Creates actual PDF documents** (not just email confirmations) Includes QR codes for event check-in** (reduces venue queues) Maintains dual tracking** (successful + failed attempts) Provides shareable Drive links** (easy resending) Works 24/7 automatically** (no manual intervention) 🎓 Learning Opportunities This workflow demonstrates: Conditional branching based on API responses Data merging from multiple sources HTML to PDF conversion Dynamic content generation Error handling and logging Professional email template design QR code integration Cloud storage automation 💬 Support & Customization Perfect for n8n beginners and experts alike: Detailed sticky notes** explain every step Clear node naming** makes it easy to understand Modular design** allows easy modifications Well-documented code** in function nodes Example data** included for testing 🌟 Get Started Import the workflow JSON Connect your credentials (Jotform, VerifiEmail, Google) Create your registration form Customize the certificate design Test with a sample registration Activate and watch it work! Tags: #events #certificates #automation #email-verification #pdf-generation #registration #workshops #training #conferences #qr-codes Category: Marketing & Events Difficulty: Intermediate
by Growth AI
Advanced Form Submission to CRM Automation with International Phone Support Who's it for Sales teams, marketing professionals, and business owners who need sophisticated lead management with international phone number support, automated CRM record creation, intelligent duplicate detection, and multi-channel team notifications. What it does This advanced workflow automatically processes form submissions from your website and creates a complete, intelligent CRM structure in Pipedrive. It transforms raw form data into organized sales records including companies, contacts, deals, and relevant notes while handling international phone number formatting and providing real-time team notifications via Discord and WhatsApp messaging. How it works The workflow follows an intelligent automation process with four distinct scenarios: Form Trigger: Captures form submissions from your website (Webflow in this example) Advanced Phone Processing: Automatically detects and formats international phone numbers with proper country codes for 20+ countries including France, Belgium, Switzerland, Germany, Spain, Italy, Morocco, Algeria, Tunisia, and more Intelligent CRM Logic: Uses a sophisticated 4-scenario approach: Scenario A: Existing Organization + Existing Person - Links records and creates new deal Scenario B: Existing Organization + New Person - Creates person, links to organization, creates deal Scenario C: New Organization + Existing Person - Creates organization, links person, creates deal Scenario D: New Organization + New Person - Creates complete new structure from scratch Enhanced Data Management: Adds lead source tracking, custom properties, and conditional data enhancement Multi-Channel Communication: Sends formatted alerts to Discord and personalized WhatsApp messages to leads Requirements Webflow account (or any platform that supports webhook triggers) Pipedrive CRM account with proper API credentials Team notification service: Discord, Slack, Microsoft Teams, email service, or any webhook-compatible notification tool WhatsApp Business API access for lead messaging International phone number handling capability How to set up Step 1: Configure your form trigger Default setup: The template uses Webflow Form Trigger with site ID configuration Alternative platforms: Replace with webhook trigger for other platforms (WordPress, custom websites, etc.) Webhook configuration: Set up your website's form to send data to the n8n webhook URL Form fields: Ensure your form captures the necessary fields: Prénom (First Name) Nom (Last Name) Entreprise (Company) Mail professionnel (Professional Email) Téléphone pro (Professional Phone) URL du site internet (Website URL) Message Step 2: Configure API credentials Set up the following credentials in n8n: Webflow OAuth2: For form trigger authentication (or webhook authentication for other platforms) Pipedrive API: For CRM record creation and management - ensure proper permissions for organizations, persons, deals, and notes Discord Bot API: For team notifications with guild and channel access WhatsApp Business API: For automated lead messaging with phone number ID configuration Step 3: Customize international phone formatting The "international dialing code" node automatically handles: European countries: France (+33), Belgium (+32), Switzerland (+41), Germany (+49), Spain (+34), Italy (+39), Portugal (+351) North African countries: Morocco (+212), Algeria (+213), Tunisia (+216) Global coverage: US/Canada (+1), UK (+44), and many Asian countries Fallback handling: Defaults to French formatting for unrecognized patterns Error management: Uses +330000000000 as fallback for invalid numbers Step 4: Configure Pipedrive settings Adjust Pipedrive-specific settings in deal creation nodes: Deal pipeline stage: Currently set to default stage (customize for your pipeline) Deal ownership: Configure owner_id for appropriate team member assignment Currency settings: Adjust currency code for your business region Custom properties: Lead source automatically set to "Growth AI" (customize as needed) Step 5: Set up team notifications Configure your preferred notification system: Discord (default): Set guild ID: 1377297267014504520, channel ID: 1380469490139009106 Alternative platforms: Replace Discord node with Slack, Teams, email, or custom webhook Message formatting: Customize notification content and structure Multi-channel setup: Add multiple notification nodes for different channels Step 6: Configure WhatsApp messaging Set up automated lead engagement: Phone number ID: Configure WhatsApp Business API phone number (currently: 752773604591912) Message personalization: Uses prospect's first name and customizable content International compatibility: Works with formatted international phone numbers Message templates: Customize welcome messages and follow-up content How to customize the workflow Form platform integration Webflow: Use the existing Webflow trigger with site ID configuration WordPress: Replace with webhook trigger and configure Contact Form 7, Gravity Forms, or WPForms Custom websites: Set up webhook trigger with your form's POST endpoint Landing page builders: Configure webhook integration (Unbounce, Leadpages, Instapage, etc.) Form field mapping: Adjust the "Data refinement" node for your specific form structure Advanced CRM customization Pipeline management: Configure different stage IDs for various lead sources Lead scoring: Add conditional logic for deal values based on form responses Custom fields: Map additional form fields to Pipedrive custom properties Multiple pipelines: Route different form types to different sales pipelines Ownership rules: Implement round-robin or territory-based assignment logic International phone number expansion The phone formatting system supports extensive customization: Additional countries: Add new country patterns to the JavaScript code Regional preferences: Modify default formatting rules for specific regions Validation rules: Implement stricter phone number validation Carrier detection: Add mobile vs. landline detection logic Notification enhancements Multi-platform notifications: Send to Discord, Slack, Teams, and email simultaneously Conditional notifications: Route different lead types to different channels Rich formatting: Add embeds, attachments, or rich text formatting Escalation rules: Implement priority-based notification routing Integration expansion: Connect to internal tools or third-party notification services Data validation and enrichment Email validation: Add email verification steps before CRM creation Company enrichment: Integrate with data enrichment services (Clearbit, ZoomInfo, Apollo) Duplicate detection: Enhanced logic to check for existing contacts across multiple fields Lead qualification: Implement sophisticated scoring based on form responses and external data Data cleaning: Add standardization for company names, job titles, and other fields Advanced conditional logic features Intelligent scenario routing The workflow uses sophisticated logic to determine the correct processing path: Organization detection: Exact matching search for existing companies Person identification: Full name matching within relevant organization contexts Relationship preservation: Maintains proper links between organizations, persons, and deals Data consistency: Ensures no duplicate records while preserving historical relationships Smart data handling Enhanced conditional processing includes: Phone number intelligence: Automatic international formatting with country detection Message processing: Creates deal notes only when message field contains meaningful content URL handling: Adds website URLs as separate notes when provided Empty field management: Gracefully handles incomplete form submissions Custom property management: Adds lead source tracking and other metadata Error handling and resilience Graceful failures: Workflow continues even if individual steps fail Data validation: Comprehensive checks for required fields before processing Notification reliability: Ensures team is notified even if some CRM operations fail Logging capabilities: Detailed error tracking for troubleshooting Rollback mechanisms: Ability to handle partial failures without data corruption Results interpretation CRM structure created For each form submission, the workflow creates: Organization record: Complete company information with proper formatting Person record: Contact information linked to correct organization with phone formatting Deal record: Sales opportunity with appropriate stage, owner, and metadata Enhanced notes: Separate notes for messages and website URLs when provided Proper relationships: Full linking between organization, person, and deal records Custom tracking: Lead source attribution and other custom properties Team notifications and engagement Comprehensive communication includes: Discord notifications: Formatted team alerts with complete prospect information WhatsApp engagement: Personalized messages to leads with international number support Immediate alerts: Real-time notifications for instant follow-up capability Formatted display: Clean, organized presentation of all prospect data Multi-channel flexibility: Easy adaptation to any notification platform Advanced use cases International lead generation Global forms: Handle submissions from multiple countries with proper phone formatting Multi-language support: Process forms in different languages with consistent data structure Regional routing: Route leads to appropriate regional sales teams based on phone country codes Currency handling: Automatic currency assignment based on detected country Sophisticated lead management Lead scoring: Advanced qualification based on company size, industry, and message content Progressive profiling: Build complete prospect profiles over multiple interactions Engagement tracking: Monitor response rates and optimize messaging Attribution analysis: Track lead sources and optimize marketing spend Enterprise integration Custom CRM fields: Map to complex Pipedrive custom field structures Multiple pipelines: Route leads to different sales processes based on criteria Team assignment: Intelligent routing based on territory, expertise, or workload Compliance handling: Ensure data processing meets regional privacy requirements Workflow architecture details Processing phases Form capture and data extraction: Webflow trigger processes submitted data International phone formatting: Advanced JavaScript processing for global numbers Organization discovery: Intelligent search and creation logic Person management: Sophisticated duplicate detection and relationship management Deal creation: Context-aware opportunity generation with proper associations Enhanced communication: Multi-channel notifications and lead engagement Performance characteristics Processing time: Typically completes within 10-15 seconds for complex scenarios Reliability: Built-in error handling ensures high success rates Scalability: Handles high-volume form submissions without performance degradation Flexibility: Easy customization for different business requirements and CRM configurations Limitations and considerations Platform dependencies: Currently optimized for Webflow and Pipedrive but adaptable Phone number coverage: Supports 20+ countries but may need expansion for specific regions CRM limitations: Requires proper Pipedrive API permissions and rate limit considerations Form structure: Field mapping requires customization for different form designs Language considerations: Currently configured for French field names but easily adaptable Notification dependencies: Requires proper configuration of Discord and WhatsApp APIs for full functionality
by Kirill Khatkevich
This workflow transforms your Meta Ads creatives into a rich dataset of actionable insights. It's designed for data-driven marketers, performance agencies, and analysts who want to move beyond basic metrics and understand the specific visual and textual elements that drive ad performance. By automatically analyzing every video and image with Google's powerful AI (Video Intelligence and Vision APIs), it systematically deconstructs your creatives into labeled data, ready for correlation with campaign results. Use Case You know some ads perform better than others, but do you know why? Is it the presence of a person, a specific object, the on-screen text, or the spoken words in a video? Answering these questions manually is nearly impossible at scale. This workflow automates the deep analysis process, allowing you to: Automate Creative Analysis:** Stop guessing and start making data-backed decisions about your creative strategy. Uncover Hidden Performance Drivers:** Identify which objects, themes, text, or spoken phrases correlate with higher engagement and conversions. Build a Structured Creative Database:** Create a detailed, searchable log of every element within your ads for long-term analysis and trend-spotting. Save Countless Hours:** Eliminate the tedious manual process of watching, tagging, and logging creative assets. How it Works The workflow is triggered on a schedule and follows a clear, structured path: 1. Configuration & Ad Ingestion: The workflow begins on a schedule (e.g., weekly on Monday at 10 AM). It starts by fetching all active ads from a specific Meta Ads Campaign, which you define in the Set Campaign ID node. 2. Intelligent Branching (Video vs. Image): An IF node inspects each creative to determine its type. Video creatives** are routed to the Google Video Intelligence API pipeline. Image creatives** are routed to the Google Vision API pipeline. 3. The Video Analysis Pipeline: For each video, the workflow gets a direct source URL, downloads the file, and converts it to a Base64 string. It then initiates an asynchronous analysis job in the Google Video Intelligence API, requesting LABEL_DETECTION, SPEECH_TRANSCRIPTION, and TEXT_DETECTION. A loop with a wait timer periodically checks the job status until the analysis is complete. Finally, a Code node parses the complex JSON response, structuring the annotations (like detected objects with timestamps or full speech transcripts) into clean rows. 4. The Image Analysis Pipeline: For each image, the file is downloaded, converted to Base64, and sent to the Google Vision API. It requests a wide range of features, including label, text, logo, and object detection. A Code node parses the response and formats the annotations into a standardized structure. 5. Data Logging & Robust Error Handling: All successfully analyzed data from both pipelines is appended to a primary Google Sheet. The workflow is built to be resilient. If an error occurs (e.g., a video fails to be processed by the API, or an image URL is missing), a detailed error report is logged to a separate errors sheet in your Google Sheet, ensuring no data is lost and problems are easy to track. Setup Instructions To use this template, you need to configure a few key nodes. 1. Credentials: Connect your Meta Ads account. Connect your Google account. This account needs access to Google Sheets and must have the Google Cloud Vision API and Google Cloud Video Intelligence API enabled in your GCP project. 2. The Set Campaign ID Node: This is the primary configuration step. Open this Set node and replace the placeholder value with the ID of the Meta Ads campaign you want to analyze. 3. Google Sheets Nodes: You need to configure two Google Sheets nodes: Add Segments data:** Select your spreadsheet and the specific sheet where you want to save the successful analysis results. Ensure your sheet has the following headers: campaign_id, ad_id, creative_id, video_id, file_name, image_url, source, annotation_type, label_or_text, category, full_transcript, confidence, start_time_s, end_time_s, language_code, processed_at_utc. Add errors:** Select your spreadsheet and the sheet you want to use for logging errors (e.g., a sheet named "errors"). Ensure this sheet has headers like: error_type, error_message, campaign_id, ad_id, creative_id, file_name, processed_at_utc. 4. Activate the Workflow: Set your desired frequency in the Run Weekly on Monday at 10 AM (Schedule Trigger) node. Save and activate the workflow. Further Ideas & Customization This workflow provides the "what" inside your creatives. The next step is to connect it to performance. Build a Performance Analysis Workflow:** Create a second workflow that reads this Google Sheet, fetches performance data (spend, clicks, conversions) for each ad_id from the Meta Ads API, and merges the two datasets. This will allow you to see which labels correlate with the best performance. Create Dashboards:** Use the structured data in your Google Sheet as a source for a Looker Studio or Tableau dashboard to visualize creative trends. Incorporate Generative AI:** Add a final step that sends the combined performance and annotation data to an LLM (like in the example you provided) to automatically generate qualitative summaries and recommendations for each creative. Add Notifications:** Use the Slack or Email nodes to send a summary after each run, reporting how many creatives were analyzed and if any errors occurred.
by Jimmy Gay
🔧 AI-Powered Auto-Maintenance System for n8n Transform your n8n instance management with this advanced automation system featuring artificial intelligence-driven workflow selection. This template provides comprehensive maintenance operations with smart filtering capabilities. ✨ Key Features 🤖 Artificial Intelligence Engine Multi-criteria scoring system for intelligent workflow selection Semantic analysis for business-critical pattern recognition Automated decision-making with configurable thresholds 🎯 Core Maintenance Operations Security Audits**: Automated vulnerability scanning with Google Sheets reporting Smart Pause/Resume**: Intelligent workflow suspension during maintenance windows AI Backup Creation**: Selective duplication of high-value workflows Intelligent Export**: Comprehensive system backups with metadata 🔐 Enterprise Security Token-based authentication with request validation Protected workflow safeguards (never modifies critical systems) Comprehensive error handling and logging ⚡ Automation & Scheduling Configurable maintenance schedules (daily, weekly, monthly) Webhook-driven operations for external integration Real-time monitoring and statistics 🎯 Perfect For DevOps Teams**: Streamline n8n maintenance operations Enterprise Users**: Manage large-scale workflow environments System Administrators**: Automated security and backup management Advanced Users**: Leverage AI for intelligent workflow management 🚀 Quick Setup Import the template Configure 4 credentials (n8n API, Google Sheets, Google Drive, Webhook Auth) Set your security token and Google Sheet ID Activate and enjoy automated maintenance! 🧠 AI Intelligence Highlights The system evaluates workflows using 6+ criteria including activity status, complexity, priority tags, business criticality, and recent updates. Workflows are automatically scored and selected based on intelligent thresholds. Selection Logic: Duplicate threshold: ≥3 points (smart backup selection) Export threshold: ≥5 points (comprehensive backup) System workflows always protected 📊 Includes 25+ configured nodes with emoji naming 4 detailed markdown documentation cards Pre-configured schedules and examples Comprehensive error handling Statistical reporting and monitoring Perfect for organizations looking to implement intelligent, automated n8n maintenance with minimal manual intervention.