by Cheng Siong Chin
How It Works This workflow automates comprehensive risk signal detection and regulatory compliance management across financial and claims data sources. Designed for risk management teams, compliance officers, and financial auditors, it solves the critical challenge of identifying potential risks while ensuring timely regulatory reporting and stakeholder notifications. The system operates on scheduled intervals, fetching data from multiple sources including financial APIs and claims databases, then merging these streams for unified analysis. It employs an AI-powered risk signal agent to detect anomalies, regulatory violations, and compliance issues. The workflow intelligently routes findings based on risk severity, orchestrating parallel processes for critical risks requiring immediate escalation and standard risks needing documentation. It manages multi-channel notifications through Slack and email, generates comprehensive compliance documentation, and maintains detailed audit trails. By coordinating regulatory analysis, exception handling, and evidence collection, it ensures complete risk visibility while automating compliance workflows. Setup Steps Configure Schedule Trigger with risk monitoring frequency Connect Workflow Configuration node with data source parameters Set up Fetch B2B Data and Fetch Claims Data nodes with respective API credentials Configure Merge Financial Data node for data consolidation Connect Calculate Risk Metrics node with risk scoring algorithms Set up Risk Signal Agent with OpenAI/Nvidia API credentials for anomaly detection Configure parallel output parsers Connect Check Critical Risk node with severity routing logic Set up Route by Risk Level node for workflow branching Prerequisites OpenAI or Nvidia API credentials for AI-powered risk analysis, financial data API access Use Cases Insurance companies monitoring claims fraud patterns, financial institutions detecting transaction anomalies Customization Adjust risk scoring algorithms for industry-specific thresholds Benefits Reduces risk detection time by 80%, eliminates manual compliance monitoring
by Zain Khan
Categories: Business Automation, E-commerce, Intelligence, AI This workflow automates high-frequency price tracking across e-commerce platforms. It combines the data-handling power of the Decodo node with the intelligence of Google Gemini to eliminate manual price checks. It is for businesses seeking real-time market intelligence. Benefits Total Automation: Handles data sourcing, and email notifications without human help. Intelligent Extraction: Uses AI to analyze the full page content. Precision Alerting: Triggers notifications when a product's price meets or falls below the "Desired Price." Scalable Architecture: Processes large batches of products. How It Works Scheduled Data Retrieval: The Schedule Trigger pulls a list of URLs and target prices from Google Sheets. Raw Data Processing: Data flows through a Decodo node. Full-Body Extraction: The workflow captures the entire body of the webpage. AI-Driven Analysis: An AI Agent, powered by Google Gemini, analyzes the text to identify the product name and price. Regex Data Cleaning: A JavaScript node uses Regular Expressions to sanitize the AI's response. Smart Comparison & Alerting: An If Node compares the live price against the "Desired Price." If the condition is met, an automated alert is sent via Gmail. Requirements n8n Instance Google Account Google Gemini API Key Decodo Credentials How to Use Setup your Spreadsheet: Create a Google Sheet with columns for the product link and "Desired price." Authenticate Nodes: Connect your Google Sheets, Gmail, and Gemini credentials within n8n. Configure Parameters: Ensure the If node correctly references the "Desired price" column from your Google Sheet output. Deploy: Activate the workflow. The system will now run automatically, monitoring the list and notifying of deals. Business Use Cases Retail Arbitrage Agencies: Spot price drops on supplier sites to maximize profit margins. Competitor Intelligence: Monitor rival pricing strategies. Procurement Departments: Automate the "buy" signal for raw materials when they hit a specific price point. E-commerce Managers: Track MAP (Minimum Advertised Price) compliance. Revenue Potential Increased Margins: Buy inventory at the lowest prices. Market Leadership: React faster than competitors to market-wide price shifts. Service Offering: Provide "Price Watch" services for e-commerce clients. Difficulty Level: Intermediate Estimated Setup Time: 40 min Monthly Operating Cost: Low (based on Gemini API tokens)
by Anwar Bouilouta
Most service businesses and freelancers track their quotes in Airtable (or something similar), but when it comes to actually sending the quote, they're still manually copying data into a document, exporting a PDF, attaching it to an email, and then going back to update the record. This workflow cuts all of that out. Who is this for Freelancers, agencies, and small service businesses who already use Airtable to track client work and want to stop manually creating quote documents. If you've ever caught yourself copying the same line items into a Google Doc for the third time in a week, this is for you. How it works The workflow starts with a webhook. You can call it from an Airtable automation (when a record hits "Ready to Send", for example) or trigger it manually from Postman or any HTTP client. Once triggered, it pulls the quote record from Airtable, grabs the client details and line items, and builds a branded HTML document with proper formatting, subtotals, tax calculation, and a grand total. That HTML then gets converted to a PDF through pdf.co's free API. From there, the PDF gets uploaded to a Google Drive folder and emailed to the client as an attachment via Gmail. The Airtable record is updated with the Drive link and marked as "Sent" so you have a clear audit trail. How to set it up Create an Airtable base with a "Quotes" table. You'll need these columns: Client Name, Client Email, Line Items (long text, one per line in the format Description | Qty | Price), Tax Rate, Notes, and Status Open the "Configure Settings" node in the workflow and fill in your business name, email address, physical address, and Google Drive folder ID Connect your Airtable, Gmail, and Google Drive accounts in n8n Sign up for a free pdf.co account and add the API key as an HTTP Header Auth credential Activate the workflow and test it by sending a POST request with {"recordId": "rec..."} to the webhook URL Requirements Airtable account (free tier works) Gmail account with OAuth connected in n8n Google Drive for PDF storage pdf.co API key (free tier gives you 100 credits/month, each conversion costs 1 credit) Customizing the workflow The HTML template lives inside the "Build HTML Quote" code node. You can change the layout, fonts, colors, and add your logo by editing the HTML string directly. The brand color is pulled from the Configure Settings node, so changing it there updates the whole document. You can also adjust the quote validity period (default is 30 days) or change the reference number format in the same code node. If you want to swap pdf.co for another HTML-to-PDF service, just update the HTTP Request node URL and payload format.
by Avkash Kakdiya
Quick overview This workflow runs every Monday to fetch your latest YouTube videos, calculate performance rankings, generate an OpenAI insight summary, then share a weekly digest to Slack, log metrics to Google Sheets, and email an HTML report via Gmail. How it works Runs every Monday at 08:00 using a schedule trigger. Calls the YouTube Data API to fetch the 20 most recent videos from your channel and extracts their video IDs and metadata. Batch-fetches each video’s statistics from the YouTube Data API, then calculates engagement rate, a composite performance score, ranks videos, and tags them as Top Performer, Average, or Underperformer. Aggregates the ranked list and sends it to OpenAI to generate a concise weekly performance insight summary and recommendations. Posts a formatted weekly digest to a Slack channel highlighting the best and worst video plus the top 5 rankings and AI insights. Appends each video’s weekly metrics to a Google Sheets tab for historical tracking, then emails a full ranked HTML report to the content manager using Gmail. Setup Enable the YouTube Data API v3 and set your YouTube API key and channel ID in the two YouTube HTTP requests. Add an OpenAI credential (Chat Model) and select the model you want to use for generating the insight summary. Add a Slack credential and set the target channel ID for where the digest should post. Create a Google Sheet with a tab named “YouTube Performance Log”, add a Google Sheets credential, and replace the placeholder spreadsheet ID. Add a Gmail credential and set the recipient address for the weekly email report.
by Cheng Siong Chin
How It Works This workflow automates enterprise claims cost leakage detection by identifying overpayments, policy deviations, and pricing inconsistencies across claims data. It supports claims operations, finance, and audit teams by providing continuous, AI-driven monitoring without manual review. Claims data is ingested through parallel HTTP requests, including claim history, policy details, pricing rules, and enrichment data. Historical claim patterns feed calculator-based risk scoring to flag potential leakage scenarios. All data streams are consolidated and analyzed using GPT-4 with structured outputs to detect anomalies, quantify leakage risk, and recommend corrective adjustments. The workflow generates claim-level findings and routes outcomes by severity: high-risk leakage triggers immediate email and Slack alerts, while lower-risk issues are compiled into periodic audit and recovery reports. Setup Steps Configure HTTP nodes with competitor website APIs Add OpenAI API key to Chat Model node for AI analysis Connect Gmail account and set leadership distribution list Integrate Slack workspace and configure strategy team Adjust Schedule node timing for preferred monitoring frequency Prerequisites OpenAI API key, competitor data source API access, vendor monitoring service credentials Use Cases SaaS companies tracking competitor feature releases and pricing changes Customization Modify risk scoring formulas in Calculator nodes for industry-specific metrics Benefits Transforms hours of manual competitor research into automated minutes-long cycles
by Cheng Siong Chin
How It Works This automated disaster response workflow streamlines emergency management by monitoring multiple alert sources and coordinating property protection teams. Designed for property managers, insurance companies, and emergency response organizations, it solves the critical challenge of rapidly identifying at-risk properties and deploying resources during disasters.The system continuously monitors weather, seismic, and flood alerts from authoritative sources. When threats are detected, it cross-references property databases to identify affected locations, calculates insurance exposure, and generates damage assessments using OpenAI's GPT-4. Teams receive automated maintenance schedules while property owners and insurers get instant email notifications with comprehensive reports. This eliminates manual monitoring, reduces response time from hours to minutes, and ensures no vulnerable properties are overlooked during emergencies. Setup Steps Configure alert fetch nodes with weather/seismic/flood API endpoints Connect property database credentials (specify database type) Add OpenAI API key for GPT-4 damage assessments Set up Gmail/SMTP credentials for owner and insurer notifications Customize insurance calculation formulas and team scheduling logic Prerequisites Weather/seismic/flood alert API access, property database (SQL/Sheets/Airtable) Use Cases Insurance companies automating claims preparation, property management firms protecting rental portfolios Customization Modify alert source APIs, adjust damage assessment prompts Benefits Reduces emergency response time by 90%, eliminates manual alert monitoring
by Țugui Dragoș
This workflow is a complete, production-ready solution for recovering abandoned carts in Shopify stores using a multi-channel, multi-touch approach. It automates personalized follow-ups via Email, SMS, and WhatsApp, tracks every customer interaction for multi-touch attribution, and enables advanced retargeting and analytics. Key features: Multi-step, timed recovery sequence (Email → SMS → Email → WhatsApp) Customer segmentation (new, returning, VIP) and A/B testing Dynamic discounting and personalized messaging Touchpoint logging to Google Sheets for attribution analysis Facebook Custom Audience retargeting for unrecovered carts Slack notifications for high-value cart recoveries What does this workflow do? Listens for abandoned cart events from Shopify (or any e-commerce platform) via webhook. Normalizes and enriches cart data by fetching full cart details and customer purchase history. Predicts the likely reason for abandonment (e.g., price sensitivity, checkout complexity, technical issues) using rule-based logic. Segments the customer (new, returning, VIP), assigns an A/B test group, and generates a personalized discount and checkout URL. Runs a timed, multi-channel recovery sequence: 1 hour after abandonment: Checks if the order is completed. If not, sends a personalized Email #1 and logs the touchpoint. 4 hours after abandonment: Checks again. If not recovered, sends an SMS with a discount code and logs the touchpoint. 24 hours after abandonment: Checks again. If not recovered, sends Email #2 (with social proof/urgency) and logs the touchpoint. 48 hours after abandonment: Final check. If not recovered, sends a WhatsApp reminder and logs the touchpoint. If the cart is still not recovered: Hashes customer identifiers and adds them to a Facebook Custom Audience for retargeting. Logs every touchpoint (email, SMS, WhatsApp) to a Google Sheet for multi-touch attribution analysis. Sends a Slack notification if a high-value cart is recovered. Why is this workflow useful? Boosts recovery rates:** By using multiple channels and personalized timing, you maximize the chance of recovering lost sales. Improves attribution:** Every customer interaction is logged, so you can analyze which channels and messages drive conversions. Enables advanced retargeting:** Unrecovered carts are automatically added to a Facebook Custom Audience for paid retargeting. Saves time:** Fully automated, with easy configuration for your store, messaging, and analytics. Scalable and extensible:** Easily adapt the sequence, add more channels, or integrate with other tools. How to install and configure 1. Prerequisites n8n instance (v2.0.2+ recommended) Shopify store with API access Accounts and API credentials for: SendGrid (email) Twilio (SMS) WhatsApp Business API Google Sheets (service account) Facebook Graph API (for Custom Audiences) Slack (for notifications) 2. Setup steps Import the workflow into your n8n instance. Configure the “Workflow Configuration” node: Set your Shopify domain, API URLs, Google Sheets ID, and high-value threshold. Connect all required credentials in the respective nodes: Shopify, SendGrid, Twilio, WhatsApp, Google Sheets, Facebook Graph API, Slack. Create a Google Sheet named “Touchpoints” with columns: cart_id, customer_id, touchpoint_type, timestamp, channel, ab_group. Set up the webhook in your Shopify store (or e-commerce platform) to trigger the workflow on cart abandonment. Test the workflow with a sample abandoned cart event to ensure emails, SMS, WhatsApp, and logging work as expected. Enable the workflow in n8n for live operation. Node-by-node breakdown Abandoned Cart Webhook:** Receives abandoned cart events. Workflow Configuration:** Stores global settings (API URLs, Shopify domain, Google Sheets ID, high-value threshold). Normalize Cart Data:** Cleans and standardizes incoming cart data. Fetch Cart Details / Fetch Customer History:** Enriches data with full cart and customer info. Predict Abandonment Reason:** Uses business logic to guess why the cart was abandoned. Personalization Engine:** Segments the customer, assigns A/B group, calculates discount, and builds checkout URL. Customer Segment Check / Device Type Check:** Applies routing logic for personalized messaging. Wait / Check Order Status / Generate & Send Messages:** Timed sequence for Email, SMS, and WhatsApp, with order status checks at each step. Log Touchpoint (Google Sheets):** Records every message sent for attribution. Attribution Merge:** Combines all touchpoints into a single journey for analysis. Hash Customer Data for Facebook / Add to Retargeting Audience:** Adds unrecovered carts to a Facebook Custom Audience. Check Cart Value Threshold / Notify High-Value Recovery:** Sends Slack alerts for high-value recoveries. Customization tips Adjust wait times and message content to fit your brand and audience. Add or remove channels (e.g., push notifications, phone calls) as needed. Expand the Google Sheet for deeper analytics (e.g., add UTM parameters, campaign IDs). Integrate with your CRM or analytics platform for end-to-end tracking. Troubleshooting Make sure all API credentials are set and tested. Check Google Sheets permissions for the service account. Test each channel (email, SMS, WhatsApp) individually before going live. Review the workflow execution logs in n8n for errors or failed steps.
by Bakdaulet Abdikhan
Analyze Meta ads with Gemini and Google Sheets Stop manually exporting CSVs and start automating your marketing insights. This workflow is designed for Marketing Agencies, Freelancers, and Media Buyers who want to keep a daily pulse on their Meta (Facebook/Instagram) Ads performance without logging into Ads Manager. It doesn't just scrape data; it uses Google Gemini AI to act as a virtual data analyst. It reviews your campaigns, identifies winning/losing creatives, and writes strategic suggestions for both your agency team and your clients. 🚀 What this workflow does Extracts Data: Wakes up every morning (6:00 AM) to fetch yesterday's Ad and Campaign performance from the Facebook Graph API. Cleans & Filters: Automatically ignores paused or zero-spend campaigns to keep your reports clean. Structuring: Uses a Code node to group Ads intelligently under their respective Ad Sets and Campaigns. AI Analysis: Sends the structured data to Google Gemini. The AI analyzes CTR, CPC, and Spend to identify the "Best Performing Ad" and "Worst Performing Ad" per Ad Set. Reporting: Saves raw Campaign Data to Google Sheets. Saves raw Ad Data to Google Sheets. Saves AI-Generated Insights (Client & Agency suggestions) to a dedicated sheet. Error Handling: If anything breaks (e.g., API token expiry), it instantly sends you an alert via Gmail with the error details. 💡 Key Features Zero-Spend Filter:** Keeps your spreadsheet tidy by excluding inactive ads. Hierarchical Data Processing:** Groups data logically so the AI understands the context of your tests. Dual-Perspective Insights:** The AI generates two types of advice: For the Client: Simple, performance-based updates. For the Agency: Technical optimization tips (e.g., "Pause Ad B, Scale Ad A"). Robust Error Monitoring:** Includes a dedicated error workflow to notify you of failures. 🛠️ Prerequisites To use this template, you will need: Meta/Facebook Developer App:** A System User Access Token with ads_read permission. Google Cloud Console Project:** Enabled APIs for Google Sheets, Gmail, and Vertex AI (Gemini). Google Sheet:** A sheet with three tabs: Campaigns, Ads, and AI_Insights. 📝 Setup Instructions Configure Credentials: Connect your Facebook Graph API and Google accounts in n8n. Set Configuration Node: Open the "Set Configuration" node and paste your Ad Account ID and Email Address for error alerts. Link Google Sheet: Open the three Google Sheets nodes and select your spreadsheet file. Activate: Turn on the workflow and let it run daily! Need help setting this up or want a custom automation for your agency? I specialize in building agentic workflows for consultants and agencies. 📧 Contact me: bakdaulet.mph@gmail.com
by Avkash Kakdiya
How it works This workflow runs on a daily schedule to analyze all Closed–Lost deals from your CRM and uncover the true reason behind each loss. It uses AI to classify the primary loss category, generate a confidence-backed explanation, and then create a realistic re-engagement strategy for every deal. All insights are consolidated into leadership-ready email and Slack summaries. Every analyzed deal and revival plan is logged for long-term tracking and audits. Step-by-step Trigger and fetch lost deals** Schedule Trigger – Runs the workflow automatically at a defined time. Get many deals – Fetches all deal records from the CRM. If – Filters only deals marked as Closed–Lost. Edit Fields – Standardizes key deal attributes like amount, industry, owner, and loss reason. Analyze loss reasons and generate revival strategies** Brief Explanation Creator – Uses AI to identify the primary loss category with confidence. Code in JavaScript – Parses and normalizes AI loss analysis output. Merge – Combines deal data with loss insights. Feedback Creator – Generates a practical re-engagement strategy for each lost deal. Code in JavaScript7 – Parses and safeguards revival strategy outputs. Merge4 – Merges deal details, loss analysis, and revival strategy into one final dataset. Report, notify, and store results** Code in JavaScript11 – Builds a consolidated HTML summary email. Send a message4 – Sends the summary to stakeholders via email. Code in JavaScript12 – Creates a structured Slack summary. Send a message1 – Delivers insights to a Slack channel. Code in JavaScript10 – Reconstructs final data with delivery status. Append or update row in sheet – Logs all results into Google Sheets for audit and tracking. Why use this? Turns lost deals into actionable learning instead of static CRM records Gives sales teams clear, realistic re-engagement plans without manual analysis Provides leadership with concise, decision-ready summaries Creates a historical database of loss reasons and revival outcomes Improves pipeline recovery while enforcing consistent sales intelligence
by Incrementors
Description Paste any YouTube, podcast, or Zoom URL into a simple form along with your video title, niche, and target audience and the workflow handles the rest. WayinVideo transcribes the full video with speaker labels and timestamps, then GPT-4o-mini writes exactly 10 tweets — a hook, eight content insights each under 270 characters, and a call-to-action. All 10 tweets are saved to Google Sheets as drafts, and if you choose Auto Post, each tweet is published to Twitter/X in sequence and the sheet row is updated with the live tweet ID. Built for content creators, marketers, and thought leaders who want to repurpose long-form video into Twitter/X threads without watching or manually summarizing anything. What This Workflow Does Transcribes any video with speaker labels** — WayinVideo processes the full video and returns every spoken segment attributed to the correct speaker with timestamps Polls automatically until transcription is complete** — Waits 60 seconds then checks every 45 seconds until the transcript is ready, with no manual monitoring required Writes exactly 10 tweets in one GPT call** — A hook tweet, eight standalone content insights each under 270 characters, and a CTA tweet — all grounded in the actual transcript Assigns a unique thread ID to every run** — All 10 tweets share one thread ID in Google Sheets so you can filter and find the full thread at any time Saves all 10 tweets to Google Sheets as drafts** — Each tweet gets its own row with character count, tweet number, thread ID, and Draft status for review Auto-posts to Twitter/X on request** — If you choose Yes at form submission, each tweet is posted to your connected Twitter/X account in sequence Updates the sheet with live tweet IDs** — After each tweet is posted, the corresponding row Status changes from Draft to Posted and the live tweet ID is saved Setup Requirements Tools Needed n8n instance (self-hosted or cloud) WayinVideo account with API access OpenAI account with GPT-4o-mini API access Google Sheets (one sheet with a tab named Twitter Threads) Twitter/X developer account with OAuth2 and tweet.write scope Credentials Required WayinVideo API key (pasted into 2. WayinVideo — Submit Transcription and 4. WayinVideo — Get Transcript Results) OpenAI API key Google Sheets OAuth2 (used in 11. Google Sheets — Save Thread Draft and 14. Google Sheets — Update Status to Posted) Twitter/X OAuth2 credential > ⚠️ WayinVideo API key appears in 2 steps — replace YOUR_WAYINVIDEO_API_KEY in both 2. WayinVideo — Submit Transcription and 4. WayinVideo — Get Transcript Results. Missing either one will cause the workflow to fail. > ⚠️ Google Sheet ID appears in 2 steps — replace YOUR_GOOGLE_SHEET_ID in both 11. Google Sheets — Save Thread Draft and 14. Google Sheets — Update Status to Posted. Estimated Setup Time: 20–25 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import Get your WayinVideo API key — Log in to your WayinVideo account → go to Account Settings → copy your API key Add your WayinVideo API key to node 2 — Open node 2. WayinVideo — Submit Transcription → find the Authorization header value Bearer YOUR_WAYINVIDEO_API_KEY → replace YOUR_WAYINVIDEO_API_KEY with your actual key Add your WayinVideo API key to node 4 — Open node 4. WayinVideo — Get Transcript Results → find the same Authorization header → replace YOUR_WAYINVIDEO_API_KEY with the same key Connect OpenAI — Open node 9. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection Create your Google Sheet tab — Open your Google Sheet → add a tab named exactly Twitter Threads → add these 8 column headers in row 1: Video Title, Video URL, Thread ID, Tweet Number, Tweet Text, Character Count, Generated On, Status Add a Tweet ID column too — In the same tab, add a 9th column header: Tweet ID — this is where live tweet IDs are written after posting Get your Google Sheet ID — Open your Google Sheet in a browser → copy the string between /d/ and /edit in the URL — this is your Sheet ID Connect Google Sheets for saving — Open node 11. Google Sheets — Save Thread Draft → click the document field → replace YOUR_GOOGLE_SHEET_ID by selecting your spreadsheet or entering the ID → click the credential dropdown → add Google Sheets OAuth2 → authorize access Connect Google Sheets for updating — Open node 14. Google Sheets — Update Status to Posted → repeat the same process — select your spreadsheet, replace YOUR_GOOGLE_SHEET_ID, and confirm the same Google Sheets OAuth2 credential is connected Connect Twitter/X — Open node 13. Twitter/X — Post Tweet → click the credential dropdown → add Twitter OAuth2 → complete the OAuth flow — make sure your Twitter app has tweet.write permission enabled in the Twitter Developer Portal Activate the workflow — Toggle the workflow to Active → copy the Form URL from node 1. Form — Video URL + Details → open it in a browser to submit your first video How It Works (Step by Step) Step 1 — Form: Video URL + Details You open the form URL in a browser and fill in five fields: the video URL (YouTube, Zoom, Vimeo, or any direct link), the video title, your niche or topic, target audience, and whether to auto-post to Twitter/X (type Yes or No). Submitting the form starts the workflow. Step 2 — HTTP: WayinVideo — Submit Transcription The video URL is sent to the WayinVideo transcription API with the target language set to English. WayinVideo accepts the job and returns a task ID confirming transcription has started. Step 3 — Wait: 60 Seconds The workflow pauses for 60 seconds before checking the transcription status for the first time, giving WayinVideo time to begin processing. Step 4 — HTTP: WayinVideo — Get Transcript Results A GET request checks the WayinVideo results endpoint using the task ID from step 2. It returns the current processing status and, once complete, the full speaker-labeled transcript. Step 5 — IF: Transcription Complete? This is the polling gate. If the status equals SUCCEEDED (YES path), the transcript is ready and the workflow moves forward to formatting. If still processing (NO path), the workflow routes to 6. Wait — 45 Seconds Retry which pauses 45 seconds then loops back to step 4 to check again. This repeats until SUCCEEDED. Step 6 — Wait: 45 Seconds Retry When the transcript is not yet ready, the workflow waits 45 seconds then returns to step 4 for another check. The loop continues automatically. Step 7 — Code: Format Transcript Each segment is formatted as [Speaker Name | MM:SS] text for clear, structured GPT input. Total video duration in minutes, word count, and unique speaker names are also calculated. All form inputs (video title, URL, niche, target audience, auto-post preference) are packaged here for the AI prompt. Step 8 — AI Agent: Write Twitter Thread GPT-4o-mini receives the formatted transcript as the user message and a detailed system prompt specifying ten strict Twitter rules. The rules enforce exactly 10 tweets, a hook that does not start with "I", 270-character limits per tweet, one standalone insight per content tweet, and a CTA for tweet 10. The output format uses labeled sections TWEET 1: through TWEET 10: so parsing is reliable. Step 9 — OpenAI: GPT-4o-mini Model This is the language model powering the thread writing. It runs with default settings for natural output. Step 10 — Code: Parse Tweets The AI output text is parsed using regex to extract each tweet from its labeled section. All 10 tweets are returned as individual rows, each carrying the tweet text, character count, tweet number, video title, video URL, a unique thread ID, auto-post preference, and Draft status. If zero tweets are extracted, the step throws a clear error. Step 11 — Google Sheets: Save Thread Draft Each of the 10 tweets is appended as one row to your Twitter Threads tab. All 8 columns are populated including the shared thread ID that groups the full thread together. Status is set to Draft for all rows. Step 12 — IF: Auto Post Enabled? After each tweet is saved, this check reads the autoPost value from the form. If it equals Yes (YES path — case-insensitive), the workflow moves to post the tweet on Twitter/X. If No or anything else (NO path), the workflow ends here — the tweet stays as a draft in your sheet. Step 13 — Twitter/X: Post Tweet The tweet text is posted to your connected Twitter/X account using the Twitter OAuth2 credential. Twitter returns the live tweet ID on success. Step 14 — Google Sheets: Update Status to Posted The sheet row matching this tweet's Thread ID and Tweet Number is updated. Status changes from Draft to Posted and the live tweet ID is saved to the Tweet ID column. This lookup uses both Thread ID and Tweet Number together to find the exact row. The final result is 10 logged rows in your Twitter Threads sheet — all Drafts if Auto Post was No, or all updated to Posted with live tweet IDs if Auto Post was Yes. Key Features ✅ Optional auto-posting at form submission — You decide at submission time whether to save as draft or post immediately — no separate workflow run needed ✅ Speaker-labeled transcript for context — WayinVideo attributes each sentence to the right speaker so GPT understands dialogue flow and can write tweets that reflect real insights from the conversation ✅ Ten strict Twitter rules enforced in the prompt — Character limits, hook structure, standalone tweet requirement, no invented facts, and CTA placement are all built into the system prompt — not left to chance ✅ Unique thread ID per run — Every set of 10 tweets shares one thread ID so you can filter your Google Sheets library by thread and find all 10 tweets together at any time ✅ Character count per tweet logged — The sheet records the character count for every tweet so you can spot any that approach the 270-character limit before posting ✅ Status updates from Draft to Posted automatically — When auto-posting, the sheet updates in real time as each tweet goes live — no manual tracking needed ✅ Retry loop with 45-second intervals — The workflow polls on a sensible schedule without hammering the WayinVideo API or timing out on longer videos Customisation Options Change the number of tweets per thread — In node 10. Code — Parse Tweets, change the loop from i <= 10 to a different number — and update the system prompt in node 8. AI Agent — Write Twitter Thread to request that same number of tweets, adjusting the OUTPUT FORMAT section to match. Add a retry limit to stop infinite polling — Before node 6. Wait — 45 Seconds Retry, add a Set step that increments a counter, then add a second IF check to stop after 15 polls and route to a Gmail or Slack error notification instead of looping indefinitely. Post threads as replies to each other — In node 13. Twitter/X — Post Tweet, add the previous tweet's ID as a reply_to_tweet_id parameter so tweets are chained as a proper threaded reply on Twitter/X rather than separate posts. Add a Slack notification when the thread is drafted — After node 11. Google Sheets — Save Thread Draft (only on tweet 10), add a Slack step that posts the video title, hook tweet, and a link to your Twitter Threads sheet so your team sees new threads without checking email. Schedule threads for a future time — Replace node 13. Twitter/X — Post Tweet with a scheduling step that saves tweets to a Buffer or Hypefury queue instead of posting immediately, so you can plan threads in advance without live posting. Troubleshooting WayinVideo returning an error on submission: Confirm YOUR_WAYINVIDEO_API_KEY in node 2. WayinVideo — Submit Transcription is replaced with your actual API key — not the placeholder Also confirm the same replacement was made in node 4. WayinVideo — Get Transcript Results — both steps need the key Check the execution log of node 2 for the raw error — a 401 means wrong key, a 422 means the URL format is unsupported Workflow stuck in the retry loop: Check that the video URL is publicly accessible — private, password-protected, or region-blocked videos will not be processed Open the execution log of node 4. WayinVideo — Get Transcript Results and inspect the raw response — WayinVideo may have returned a FAILED status with an error message If the loop runs indefinitely, deactivate the workflow, fix the video URL, and resubmit GPT not generating all 10 tweets: Confirm the API key is connected in node 9. OpenAI — GPT-4o-mini Model and your account has available credits Check the execution log of node 8. AI Agent — Write Twitter Thread for the raw output — if fewer than 10 labeled tweet sections are present, the regex in node 10 will only extract what is there If the issue is consistent, check that the system prompt in node 8 is intact and has not been accidentally edited Google Sheets not saving rows or updating status: Confirm YOUR_GOOGLE_SHEET_ID is replaced in both 11. Google Sheets — Save Thread Draft and 14. Google Sheets — Update Status to Posted — both need the same Sheet ID Confirm the tab is named Twitter Threads exactly and all column headers match Check that the Google Sheets OAuth2 credential is connected and not expired in both steps Twitter/X posting failing: Confirm the Twitter OAuth2 credential in node 13. Twitter/X — Post Tweet is connected and your app has tweet.write permission enabled in the Twitter Developer Portal Twitter rate limits allow 17 posts per 15 minutes on free tier — if your thread of 10 tweets posts too fast, Twitter may reject later tweets Check the execution log of node 13 for the exact Twitter API error response — a 403 usually means a permission scope issue Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@incrementors.com 🌐 Website: https://www.incrementors.com/
by Incrementors
Quick overview This workflow runs on a schedule to scan Gmail for subscription and billing emails, uses OpenAI GPT-4.1-mini to extract and classify SaaS spend and potential waste, upserts results into Google Sheets, and emails an HTML digest report via Gmail. How it works Runs on a monthly schedule trigger (configurable to weekly) to start an inbox audit. Searches Gmail for the last 30 days of messages that match billing, invoice, subscription, renewal, payment, and re-engagement keywords. Filters out marketing noise and keeps only messages that look like real billing signals, then fetches each email’s full body from Gmail. Uses an OpenAI GPT-4.1-mini agent to determine whether each email is billing-related, extract structured subscription fields (like vendor, amount, cycle, and renewal date), and optionally call back into Gmail search and message retrieval to confirm details and usage signals. Cleans and validates the AI-produced JSON, recalculates annualized cost, and routes low-confidence or parse-failed items for review. Upserts one row per vendor into a Google Sheets “Dashboard” tab and then builds a branded HTML report summarizing total spend and flagged waste categories. Sends the HTML digest report to the configured recipient using Gmail. Setup Connect Gmail OAuth2 credentials for the Gmail search, message retrieval, and report-sending steps, and set the recipient address in the Gmail send action. Add an OpenAI API credential and ensure the agent uses the GPT-4.1-mini model. Connect Google Sheets OAuth2 credentials, set your Google Sheet document ID, and create a “Dashboard” sheet with columns matching the extracted fields (with Vendor used as the upsert key). If you want the agent to use Gmail search as a tool, set the tool workflow ID for the Gmail Search sub-workflow and ensure the sub-workflow’s Gmail node uses the same Gmail credential. Update the schedule interval (monthly by default) and optionally customize the Gmail search query keywords and the HTML report branding values. Requirements Active n8n instance (self-hosted or cloud) Gmail account containing subscription and billing emails OpenAI account with GPT-4.1-mini API access Google Sheets with a tab named Dashboard Google Sheets with a tab named Dashboard Customization Change the scan frequency — edit the schedule in node 1 from monthly to weekly using cron expression 0 9 * * 1 Extend the Gmail search window — change newer_than:30d in node 2 to newer_than:60d or newer_than:90d to catch quarterly and annual billing cycles Add noise filter terms — add words like trial or free plan to the drop array in node 3 to exclude free-tier emails from AI analysis Add a Slack alert — after the Gmail send step, add a Slack node to post High Priority flagged vendors and their annual cost to a team channel Update brand name in report — find const brand = 'YOUR_BRAND_NAME' in the Build HTML Report code and replace it with your actual name Additional info This workflow includes an embedded sub-workflow (visible at the bottom of the canvas) that handles Gmail search queries called by the AI Agent tool. Both workflows must be imported and activated separately. Activate the sub-workflow before the main workflow. The AI agent uses up to 4 Gmail tool calls per email to confirm amounts, find renewal dates, and check for re-engagement emails that signal an unused subscription. Gmail image-only billing emails where the amount appears in a graphic rather than text will consistently score below the 0.60 confidence threshold and route to review. Those rows are still saved to the sheet for manual verification.
by Akshay Chug
Quick overview This workflow monitors a Gmail inbox for unread support emails, uses Anthropic Claude to classify and draft replies, routes urgent tickets to Slack and a Gmail draft, auto-replies to normal tickets, and logs all tickets to Google Sheets for reporting. How it works Triggers every minute when a new unread email arrives in Gmail inbox. Applies workflow settings (Slack channel, Google Sheet ID/name, support email, and max email length) and builds a structured prompt from the email subject, sender, and truncated body. Sends the prompt to Anthropic Claude (Sonnet) to return a JSON classification with category, priority, sentiment, summary, draft reply, and an internal note. Parses the AI JSON output, applies safe defaults if parsing fails, and prepares reply metadata like timestamp and reply subject. For urgent tickets, creates a Gmail draft reply, posts an alert to a Slack channel with ticket details, and appends a log row to Google Sheets. For normal tickets, sends the draft reply as a plain-text Gmail message and appends a log row to Google Sheets. For low-priority tickets, skips replying and appends a log row to Google Sheets. Setup Connect Gmail credentials for the Gmail Trigger and the Gmail actions used to create drafts and send replies. Add Anthropic credentials for the Claude Sonnet model used to classify tickets and draft responses. Connect Slack credentials and set your target Slack channel ID in the settings. Connect Google Sheets credentials, create a spreadsheet with a “Support Tickets” sheet (or update the sheet name), and set the Google Sheet ID in the settings. Update the settings values (support email, max email characters, sheet name) to match your environment before activating the workflow.