by moosa
Daily Tech & Startup Digest: Notion-Powered News Curation Description This n8n workflow automates the curation of a daily tech and startup news digest from articles stored in a Notion database. It filters articles from the past 24 hours, refines them using keyword matching and LLM classification, aggregates them into a single Markdown digest with categorized summaries, and publishes the result as a Notion page. Designed for manual testing or daily scheduled runs, it includes sticky notes (as required by the n8n creator page) to document each step clearly. This original workflow is for educational purposes, showcasing Notion integration, AI classification, and Markdown-to-Notion conversion. Data in Notion Workflow Overview Triggers Manual Trigger**: Tests the workflow (When clicking ‘Execute workflow’). Schedule Trigger**: Runs daily at 8 PM (Schedule Trigger, disabled by default). Article Filtering Fetch Articles**: Queries the Notion database (Get many database pages) for articles from the last 24 hours using a date filter. Keyword Filtering**: JavaScript code (Code in JavaScript) filters articles containing tech/startup keywords (e.g., "tech," "AI," "startup") in title, summary, or full text. LLM Classification**: Uses OpenAI’s gpt-4.1-mini (OpenAI Chat Model) with a text classifier (Text Classifier) to categorize articles as "Tech/Startup" or "Other," keeping only relevant ones. Digest Creation Aggregate Articles**: Combines filtered articles into a single object (Code in JavaScript1) for processing. Generate Digest**: An AI agent (AI Agent) with OpenAI’s gpt-4.1-mini (OpenAI Chat Model1) creates a Markdown digest with an intro paragraph, categorized article summaries (e.g., AI & Developer Tools, Startups & Funding), clickable links, and a closing note. Notion Publishing Format for Notion**: JavaScript code (Code in JavaScript2) converts the Markdown digest into a Notion-compatible JSON payload, supporting headings, bulleted lists, and links, with a title like “Tech & Startup Daily Digest – YYYY-MM-DD”. Create Notion Page**: Sends the payload via HTTP request (HTTP Request) to the Notion API to create a new page. Credentials Uses Notion API and OpenAI API credentials. Notes This workflow is for educational purposes, demonstrating Notion database querying, AI classification, and Markdown-to-Notion publishing. Enable and adjust the schedule trigger (e.g., 8 PM daily) for production use to create daily digests. Set up Notion and OpenAI API credentials in n8n before running. The date filter can be modified (e.g., hours instead of days) to adjust the article selection window.
by Praveena
Email Marketing Manager What Native n8n chat-operated AI employee for a single wellness SaaS brand Handles three intents: send campaign, report campaign, reactivate cold subscribers Why Replace repetitive email manager execution work without pretending to replace brand judgment Keep v1 narrow, testable, and draft-first for internal lists Assumptions Single brand only Draft first Reject unknown or mixed intents One shared context node handles default information for every intent. Generate subject + preview text + body Log only task, status, time, IDs, and notes Integrations MailerLite (core email platform) Google sheets OpenRouter (or any AI) Required setup before testing Provide Openrouter credential or change it to openAI API. Connect MailerLite HTTP Bearer Auth credential Connect Google Sheets OAuth2 credential Replace placeholder Google Sheet URL and verified sender email Replace Postgres DB with others for chat memory. SAMPLE INPUTS Send a campaign to long term VIP users. Goal: Introduce an early bird vip invite to personalised dietician. Key message: tailored diet buddy early access. CTA: Link to website Timing: today Give me a report for all campaigns I want to re-engage all the subscribers. Tempt with a free, limited time access (for 3 days) to personalised dietician. Share 1-2 reviews from customers on success with this feature. Real review data-{[ "I have to say I was skeptical at first, but I finally stopped emotional eating and have lost 3 lbs in 2 weeks!", "Been a long time user of Noom. Hit a ceiling and stopped using it. This new dietician helped me tweak my macros and micros for my vegetarian diet and back on track baby! Thanks guys 😍"]} Enhancements Provide brand voice via DB storage & retrieval for AI mail copy. Make the emails multi modal. Use RAG for context management & injecting better information to AI agent. (example : previous written samples) Use native chat integrations for delivering to customers so you can integrate using Slack, WhatsApp, discord etc. More AI Employees I am building an AI employee roster, giving away 3 full templates with setup guides. Get early access now: AI Employee Roster
by Trung Tran
AI-Powered YouTube Auto-Tagging Workflow (SEO Automation) Watch the demo video below: > Supercharge your YouTube SEO with this AI-powered workflow that automatically generates and applies smart, SEO friendly tags to your new videos every week. No more manual tagging, just better discoverability, improved reach, and consistent optimization. Plus, get instant Slack notifications so your team stays updated on every video’s SEO boost. Who’s it for YouTube creators, channel admins, and marketing teams who publish regularly and want consistent, SEO-friendly tags without manual effort. Agencies managing multiple channels who need an auditable, automated tagging process with Slack notifications. How it works / What it does Weekly Schedule Trigger Runs the workflow once per week. Get all videos uploaded last week Queries YouTube for videos uploaded by the channel in the past 7 days. Get video detail Retrieves each video’s title, description, and ID. YouTube Video Auto Tagging Agent (LLM) Inputs: video.title, video.description, channelName. Uses a SEO-specialist system prompt to generate 15–20 relevant, comma-separated tags. Update video with AI-generated tags Writes the tags back to the video via YouTube Data API. Inform via Slack message Posts a confirmation message (video title + ID + tags) to a chosen Slack channel for visibility. How to set up YouTube connection Create a Google Cloud project and enable YouTube Data API v3. Configure OAuth client (Web app / Desktop as required). Authorize with the Google account that manages the channel. In your automation platform, add the YouTube credential and grant scopes (see Requirements). Slack connection Create or use an existing Slack app/bot. Install to your workspace and capture the Bot Token. Add the Slack credential in your automation platform. LLM / Chat Model Select your model (e.g., OpenAI GPT). Paste the System Prompt (SEO expert) and the User Prompt template: Inputs: {{video_title}}, {{video_description}}, {{channel_name}}. Output: comma-separated list of 15–20 tags (no #, no duplicates). Node configuration Weekly Schedule Trigger: choose day/time (e.g., Mondays 09:00 local). Get all videos uploaded last week: date filter = now() - 7 days. Get video detail: map each video ID from previous node. Agent node: map fields to the prompt variables. Update video: map the agent’s tag string to the YouTube tags field. Slack message: The video "{{video_title}} - {{video_id}}" has been auto-tagged successfully. Tags: {{tags}} Test run Manually run the workflow with one recent video. Verify the tags appear in YouTube Studio and the Slack message posts. Requirements APIs & Scopes YouTube Data API v3** youtube.readonly (to list videos / details) youtube or youtube.force-ssl (to update video metadata incl. tags) Slack Bot Token Scopes** chat:write (post messages) channels:read or groups:read if selecting channels dynamically (optional) Platform Access to a chat/LLM provider (e.g., OpenAI). Outbound HTTPS allowed. Rate limits & quotas YouTube updates consume quota; tag updates are write operations—avoid re-writing unchanged tags. Add basic throttling (e.g., 1–2 updates/sec) if you process many videos. How to customize the workflow Schedule:** switch to daily, or run on publish events instead of weekly. Filtering:** process only videos matching rules (e.g., title contains “tutorial”, or missing tags). Prompt tuning:** Add brand keywords to always include (e.g., “WiseStack AI”). Constrain to language (e.g., “Vietnamese tags only”). Enforce max 500 chars total for tags if you want a stricter cap. Safety guardrails:** Validate model output: split by comma, trim whitespace, dedupe, drop empty/over-long tags. If the agent fails, fall back to a heuristic generator (title/keywords extraction). Change log:** write a row per update to a sheet/DB (videoId, oldTags, newTags, timestamp, runId). Human-in-the-loop:** send tags to Slack as buttons (“Apply / Edit / Skip”) before updating YouTube. Multi-channel support:** loop through a list of channel credentials and repeat the pipeline. Notifications:** add error Slack messages for failed API calls; summarize weekly results. Tip: Keep a small allow/deny list (e.g., banned terms, mandatory brand terms) and run a quick sanitizer right after the agent node to maintain consistency across your channel.
by Interlock GTM
Summary Turns a plain name + email into a fully-enriched HubSpot contact by matching the person in Apollo, pulling their latest LinkedIn activity, summarising the findings with GPT-4o, and upserting the clean data into HubSpot Key use-cases SDRs enriching inbound demo requests before routing RevOps teams keeping executive records fresh Marketers building highly-segmented email audiences Inputs |Field |Type| Example| |-|-|-| name |string| “Jane Doe” email| string |“jane@acme.com” Required credentials |Service |Node |Notes| |-|-|-| Apollo.io API key | HTTP Request – “Enrich with Apollo” |Set in header x-api-key RapidAPI key| (Fresh-LinkedIn-Profile-Data) “Get recent posts”| Header x-rapidapi-key OpenAI 3 LangChain nodes| Supply an API key| default model gpt-4o-mini HubSpot OAuth2| “Enrich in HubSpot”| Add/create any custom contact properties referenced High-level flow Trigger – Runs when another workflow passes name & email. Clean – JS Code node normalises & deduplicates emails. Apollo match – Queries /people/match; skips if no person. LinkedIn fetch – Grabs up to 3 original posts from last 30 days. AI summary chain OpenAI → Structured/Auto-fixing parsers Produces a strict JSON block with job title, location, summaries, etc. HubSpot upsert – Maps every key (plus five custom properties) into the contact record. Sticky-notes annotate the canvas; error-prone bits have retry logic.
by Vadim
What it does This workflow is an AI agent in the form of a Telegram bot. Its main purpose is to capture contact information and store it in a CRM. The agent supports multi-modal inputs and can extract contact details from text messages, voice recordings, and images (like photos of business cards). The bot guides the user through data collection via a natural conversation, asks clarifying questions for missing information, and summarizes the extracted data for confirmation before saving. It also checks for duplicate contacts by email and gives users the choice to either create a new contact or update an existing one. For simplicity, this example uses a Google Sheets document to store collected contacts. It can easily be replaced by a real CRM like HubSpot, Pipedrive, Monday, etc. How to use the bot Send contact details via text or voice, or upload a photo of a business card. The bot will show the extracted information and ask questions when needed. Once the bot confirms saving of the current contact, you can send the next one. Use the /new command at any moment to discard the previous conversation and start from scratch. Requirements A Telegram bot Access Token Google Gemini API key Google Sheets credentials How to set up Create a new Telegram bot (see n8n docs and Telegram bot API docs for details) Take webhook URL from the Telegram Trigger node (WEBHOOK_URL) and your bot's access token (TOKEN) and run curl -X POST "https://api.telegram.org/bot{TOKEN}/setWebhook?url={WEBHOOK_URL}" Create a new Google Sheets document with "Full name", "Email", "Phone", "Company", "Job title" and "Meeting notes" columns Configure parameters in the parameters node: Set ID of the Google Sheets document Set sheet name ("Sheet1" by default) Configure Google Sheets credentials for AI Agent's tools: Search for contact and Create new contact and Update existing contact. Add Google Gemini API key for the models ("AI Agent", "Transcribe audio", "Analyze image" nodes)
by Samir Saci
Tags: Logistics, Supply Chain, Warehouse Operations, Paperless Processes, Inventory Management Context Hi! I’m Samir, Supply Chain Engineer, Data Scientist based in Paris, and founder of LogiGreen. > Let's use AI with n8n to help SMEs digitalise their logistics operations! Traditional inventory cycle counts often require clipboards, scanners, and manual reconciliation. With this workflow, the operator walks through the warehouse, sends voice messages, and the bot automatically updates the inventory records. Using AI-based transcription and structured extraction, we optimise the entire process with a simple mobile device connected to Telegram. 📬 For business inquiries, you can find me on LinkedIn Demo of the workflow In this example, the bot guides the operator through the cycle count for three locations. The workflow automatically records the results in Google Sheets. Who is this template for? This template is ideal for companies with limited IT resources: Inventory controllers** who need a hands-free, mobile-friendly counting process Small 3PLs and retailers looking to digitalise stock control 🎥 Tutorial A complete tutorial (with explanations of every node) is available on YouTube: What does this workflow do? This automation uses Telegram and OpenAI’s Whisper transcription: The operator sends /start to the bot. The bot identifies the first location that still needs to be counted. The operator is guided to the location through a Telegram message. The operator records a voice message with the location ID and the number of units counted. AI nodes transcribe the audio and extract location_id and quantity. If the message cannot be transcribed, the bot asks the operator to repeat. If the location is valid and still pending, the Google Sheet is updated. The bot sends the next location, until the final one is completed. The operator receives a confirmation that the cycle count is finished. Next Steps Before running the workflow, follow the sticky notes and configure: Connect your Telegram Bot API Add your OpenAI API Key to the transcription and extraction nodes Connect your Google Sheets credentials Update the Google Sheet ID and the worksheet name in all Spreadsheet nodes Adjust the AI prompts depending on your warehouse location naming conventions Submitted: 20 November 2025 Template designed with n8n version 1.116.2
by Elvis Sarvia
Catch AI quality drift before your users do. This template ties scheduled evaluation, LLM-as-a-Judge scoring, and threshold-based alerts into a continuous monitoring loop that fires a Slack alert the moment a response drops below your quality bar. What you'll do Open the workflow and review the production path (Daily Schedule kicks off the AI Agent, Production logic handles real traffic). Open the Evaluations tab and click Run Test to feed your golden dataset through the AI Agent. Watch the judge model score each response and the Check Threshold node compare the average against your threshold (default 3.5/5). See a Slack Alert fire when a test case scores below the threshold, or All Clear when scores are healthy. What you'll learn How to turn one-time evaluations into continuous monitoring on a schedule How to apply per-test-case thresholds so individual failures trigger immediate alerts How to combine the Evaluations tab (trend tracking) with workflow-level alerting (real-time) How to grow a golden dataset over time by feeding production failures back into your test set Why it matters AI workflows degrade silently. A model update changes behavior, input patterns shift, and quality drops without throwing a single error. Continuous monitoring with alert thresholds turns evaluation from a pre-deployment check into a safety net that runs forever, so you find out about a problem from your dashboard, not your customers. This template is a learning companion to the Production AI Playbook, a series that explores strategies, shares best practices, and provides practical examples for building reliable AI systems in n8n.
by AppUnits AI
Generate Invoices for Customers with Jotform, Xero and Slack This workflow automates the entire process of receiving a product/service order, checking or creating a customer in Xero, generating an invoice, emailing it, and notifying the sales team for example (via Slack) — all triggered by a form submission (via Jotform). How It Works Receive Submission Triggered when a user submits a form. Collects data like customer details, selected product/service, etc. Check If Customer Exists Searches Xero to determine if the customer already exists. ✅ If Customer Exists: Update customer details. ❌ If Customer Doesn’t Exist: Create a new customer in Xero. Create The Invoice Generates a new invoice for the customer using the item selected. Send The Invoice Automatically sends the invoice via email to the customer. Notify The Team Notifies the sales team for example via Slack about the new invoice. Who Can Benefit from This Workflow? Freelancers** Service Providers** Consultants & Coaches** Small Businesses** E-commerce or Custom Product Sellers** Requirements Jotform webhook setup, more info here Xero credentials, more info here Make sure that products/services values in Jotform are exactly the same as your item Code in your Xero account Email setup, update email node (Send email) LLM model credentials Slack credentials, more info here
by WeblineIndia
(Retail) VIP Customer Escalation Flow This workflow automatically monitors new Zendesk support tickets, identifies VIP customers, generates AI-based ticket summaries, alerts available support agents on Slack and sends a consolidated email for non-VIP tickets. This workflow listens for new Zendesk tickets and checks whether the customer is a VIP.VIP tickets are prioritized using AI summaries and instant Slack alerts, while non-VIP tickets are grouped and sent as a single email notification to the support team. You get: Instant VIP ticket alerts on Slack** AI-generated issue summary and next steps** Automatic agent availability check** One clean email for all non-VIP tickets** Ticket tracking stored for reporting** Ideal for support teams who want to prioritize high-value customers without manual effort. Quick Start – Implementation Steps Connect your Zendesk account and enable the Zendesk Trigger. Add your OpenAI API key for ticket summarization. Connect your Slack workspace and select users/channels. Configure Airtable to store VIP ticket data (optional but recommended). Connect Gmail to send non-VIP ticket summary emails. Activate the workflow — automation starts immediately. What It Does This workflow automates VIP ticket handling and notifications: Detects new Zendesk support tickets. Checks if the ticket belongs to a VIP customer. Uses AI to summarize VIP ticket issues and suggest next steps. Saves VIP ticket data for tracking and audits. Finds active support agents on Slack. Sends direct Slack alerts to active agents or a fallback channel. Collects non-VIP tickets into a single list. Sends one summary email for all non-VIP tickets. This prevents alert fatigue while ensuring VIP customers get fast attention. Who’s It For This workflow is ideal for: Customer support teams Helpdesk managers SaaS and e-commerce businesses High-touch B2B support teams Operations teams handling VIP customers Anyone needing smarter ticket prioritization Requirements to Use This Workflow To run this workflow, you need: n8n instance** (cloud or self-hosted) Zendesk account** with API access OpenAI API key** Slack workspace** with bot permissions Gmail account** (or SMTP alternative) Airtable account** (optional, for logging) How It Works Ticket Trigger – Workflow starts when a new Zendesk ticket is created. VIP Check – Verifies whether the ticket contains a VIP tag. AI Summary – AI reads the ticket and generates a short summary and next steps. Save VIP Ticket – VIP tickets are stored for tracking and reporting. Agent Availability Check – Slack users are checked for online presence. Slack Alert – Sends alert to an active agent or team channel. Non-VIP Collection – Non-VIP tickets are grouped together. Email Notification – One summary email is sent to the support team. Setup Steps Import the workflow JSON into n8n. Configure Zendesk Trigger with OAuth. Add your OpenAI credentials. Map fields in the Airtable node (if used). Connect Slack API and select users/channels. Configure Gmail recipient and email format. Test with a sample VIP and non-VIP ticket. Activate the workflow. How To Customize Nodes Customize VIP Logic You can enhance VIP detection by: Adding spend-based logic Checking customer lifetime value Using CRM or database lookups Customize Slack Alerts You may add: Emojis or mentions (@here, @team) Ticket priority highlighting Direct Zendesk ticket links Customize Email Content You can: Add branding Include SLA warnings Add escalation notes Customize AI Output Adjust the AI prompt to: Change summary length Add tone (urgent, polite, technical) Include troubleshooting steps Add-Ons (Optional Enhancements) You can extend this workflow to: Auto-assign tickets to senior agents Add SLA breach detection Log VIP interactions to CRM Add sentiment analysis Create dashboards using Airtable or Google Sheets Trigger SMS or WhatsApp alerts Add priority-based routing (VIP / High / Normal) Use Case Examples 1\. VIP Customer Escalation Ensure top customers always get instant attention. 2\. Support Load Management Reduce Slack and email noise with grouped notifications. 3\. AI-Assisted Support Help agents understand issues faster with AI summaries. 4\. Audit & Reporting Track VIP issues and resolutions over time. Troubleshooting Guide | Issue | Possible Cause | Solution | |-----------------------|--------------------------|-----------------------------------| | No Slack alert | No active users | Check fallback channel | | AI summary missing | OpenAI key invalid | Reconnect OpenAI credentials | | Multiple emails sent | Aggregate node missing | Ensure aggregation is enabled | | VIP not detected | Tag mismatch | Check tag name and case | | Airtable error | Field mismatch | Match column names exactly | Need Expert Help? If you need help extending this workflow with advanced features like adding CRM integration, advanced VIP logic, dashboards or scaling this for production then our n8n automation experts at WeblineIndia can help you build reliable, enterprise-ready automations.
by Jitesh Dugar
Streamline your content pipeline by bridging Notion and Instagram with a professional "review-before-publish" safeguard. This workflow allows team members to submit content via a simple form, generates AI-optimized captions, and pauses for human approval before going live. 🎯 What This Workflow Does This template manages the end-to-end lifecycle of a Reel, from submission to final community notification: 📝 Submission & Notion Integration n8n Form Trigger:** Public form to submit a Notion Page ID and select caption tone (Hype, Minimal, Storytelling). Data Extraction:** Pulls video file, cover image, and metadata (Title, Description, Tags) from Notion. Validation:** Ensures content is not already published or failed. 🤖 AI Creative & Media Hosting Claude AI Captions:** Uses Anthropic Claude-Haiku to generate brand-safe, tone-specific captions under 2,200 characters. Mandatory CDN Hosting:** Uses UploadToURL to convert Notion files into public HTTPS URLs required by Instagram. 📧 The Approval Gate Email Approval Step:** Sends preview email with: AI-generated caption Video preview link Approve / Reject buttons 🚀 Publication & Multi-Channel Sync Instagram Publishing:** Polls encoding status before publishing Reel. Notion Audit Trail:** Updates page with Permalink, Post ID, and Published status. Discord Alerts:** Sends notifications for success, rejection, or failure. ✨ Key Features Human-in-the-Loop:** Combines AI automation with manual approval. High-Quality AI Captions:** Uses Claude for nuanced storytelling. CDN Media Bridge:** UploadToURL ensures valid public media URLs. Error Resiliency:** Handles encoding failures with retries and alerts. 🔧 Setup Requirements Required Credentials Notion:** Integration token Instagram Graph API:** Business/Creator account token Anthropic API:** For Claude captions UploadToURL:** API key Environment Variables IG_USER_ID IG_ACCESS_TOKEN NOTION_API_KEY ANTHROPIC_API_KEY APPROVER_EMAIL DISCORD_WEBHOOK_URL Empower your content team today. Import this template to turn your Notion database into a high-powered social media command center!
by isaWOW
Description Paste any onboarding video URL into a simple form and the workflow handles everything automatically. It transcribes the video, sends the full transcript to an AI that writes the exact number of quiz questions you requested, and saves the complete quiz directly to your Google Sheet. Built for HR teams, L&D managers, and anyone who creates employee training content at scale. What This Workflow Does Accepts video input via form** — Collects the video URL, department topic, and desired question count from a clean, shareable web form Transcribes the video automatically** — Sends the video to WayinVideo and receives a clean, timestamped transcript with speaker labels Polls until transcription is ready** — Waits 45 seconds then keeps checking until the transcript is fully complete before moving forward Generates accurate MCQ questions** — An AI agent reads the full transcript and creates exactly the number of questions requested, each with four options and a correct answer Anchors every question to the transcript** — Each question includes a speaker reference and timestamp so you can verify answers directly in the video Saves the quiz to Google Sheets** — Appends all questions, metadata, and generation timestamp to your Quiz Bank tab automatically Setup Requirements Tools you'll need Active n8n instance (self-hosted or n8n Cloud) WayinVideo account + API key (for video transcription) OpenAI API key (GPT-4o-mini for quiz generation) Google Sheets with OAuth2 access (for saving the quiz) Estimated Setup Time: 10–15 minutes Step-by-Step Setup Get your WayinVideo API key — Log in to your WayinVideo account, go to API settings, and copy your API key. Add your WayinVideo key to Node 2 — Open the 2. WayinVideo — Submit Transcript node. In the Authorization header, replace YOUR_WAYINVIDEO_API_KEY with your actual key. Add your WayinVideo key to Node 4 — Open the 4. WayinVideo — Get Transcript node. Replace YOUR_WAYINVIDEO_API_KEY again in the Authorization header. > ⚠️ Your WayinVideo API key appears in two nodes — replace it in both 2. WayinVideo — Submit Transcript AND 4. WayinVideo — Get Transcript or the workflow will fail. Add your OpenAI API key — Open the OpenAI — Chat Model node and connect your OpenAI API credentials. If you haven't added them yet, go to n8n Settings → Credentials → New → OpenAI. Fix the IF node condition — Open the 5. If — Transcript Status Check node. Set the left value to {{ $json.data.status }} and the right value to SUCCEEDED. This tells the workflow to move forward only when transcription is complete. > ⚠️ This step is critical. Without this condition, the workflow will loop forever and never generate your quiz. Create your Google Sheet — Create a new Google Sheet with a tab named exactly Quiz Bank. Add these column headers in row 1: Department, Video URL, Total Questions, Quiz Questions, Generated On. Connect Google Sheets — Open the 7. Google Sheets — Save Quiz Bank node. Connect your Google Sheets OAuth2 credentials. Add your Sheet ID — In the same node, replace YOUR_GOOGLE_SHEET_ID with your actual Sheet ID. Find it in your Google Sheet URL — it's the long string between /d/ and /edit. Activate the workflow — Toggle the workflow ON. Open the form URL and run a test with a short video to confirm everything works end to end. How It Works (Step by Step) Step 1 — Form Trigger: Collect Video Details The workflow starts when someone submits the web form. They enter the onboarding video URL, their department or topic name, and how many questions they want. This is the only manual step — everything after this is fully automatic. Step 2 — HTTP Request: Submit Video to WayinVideo The workflow sends the video URL to the WayinVideo API to start the transcription job. WayinVideo processes the video and returns a unique transcription ID that the workflow uses to track progress. Step 3 — Wait: Pause for 45 Seconds The workflow pauses for 45 seconds to give WayinVideo time to process the video before checking whether it's ready. For longer videos, you can increase this wait time. Step 4 — HTTP Request: Fetch the Transcript Using the transcription ID from Step 2, the workflow calls WayinVideo again to retrieve the results. The response includes the full transcript with speaker names, timestamps, and spoken text for each segment. Step 5 — IF Check: Is the Transcript Ready? The workflow checks whether the transcription status equals SUCCEEDED. If yes, it moves forward to quiz generation. If no, it loops back to the 45-second wait and tries again. This polling loop repeats automatically until the transcript is fully ready. Step 6 — AI Agent: Generate the Quiz The full transcript is passed to GPT-4o-mini with a detailed prompt. The AI reads only the transcript — no outside knowledge — and generates exactly the number of MCQ questions requested. Each question has four options, one correct answer, and a reference to the speaker and approximate timestamp in the video. Step 7 — Google Sheets: Save the Quiz The completed quiz, along with the department name, video URL, question count, and generation timestamp, is appended as a new row in your Quiz Bank tab. The quiz is ready to review, share, or export. Key Features ✅ Exact question count — The AI always generates exactly the number of questions you requested — no more, no less ✅ Transcript-only questions — Every question is based strictly on what was said in the video, with no general knowledge mixed in ✅ Speaker + timestamp references — Each answer includes a citation so trainers can verify answers directly in the video ✅ Automatic polling loop — The workflow retries until transcription is complete, so you never have to check manually ✅ Simple form interface — Anyone on your team can use it — no n8n knowledge required ✅ Centralised quiz bank — All quizzes are saved to one Google Sheet, organised by department and date ✅ Swap the AI model — Easily upgrade to a stronger model for more complex training content Customisation Options Increase the wait time for long videos — Open the 3. Wait — 45 Seconds node and increase the wait duration if your training videos are longer than 15–20 minutes. Upgrade to a stronger AI model — In the OpenAI — Chat Model node, replace gpt-4o-mini with gpt-4o for higher-quality questions on dense or technical content. Change the quiz language — Edit the system prompt in the 6. AI — Generate MCQ Quiz node to request questions in any language. Also update the target_lang parameter in the 2. WayinVideo — Submit Transcript node to match. Add a difficulty level to the form — Add a new field to the 1. Form — Video URL + Topic node (e.g. Easy / Medium / Hard) and reference it in the AI prompt to adjust question complexity. Send the quiz by email — Add a Gmail or Outlook node after 7. Google Sheets — Save Quiz Bank to automatically email the completed quiz to the requester or their manager. Add a Slack notification — Insert a Slack node at the end to post a message to a team channel whenever a new quiz is saved, including the department name and question count. Troubleshooting Workflow loops forever and never generates questions: Open 5. If — Transcript Status Check and confirm the condition is set: left value {{ $json.data.status }} equals SUCCEEDED Without this condition, the workflow will always take the false path and loop indefinitely Transcription fails or returns an error: Check that your WayinVideo API key is correct in both nodes 2 and 4 Make sure the video URL is publicly accessible — private or region-restricted videos will fail Try increasing the wait time in 3. Wait — 45 Seconds for longer videos Quiz not saving to Google Sheets: Verify your Google Sheets OAuth2 credentials are connected in 7. Google Sheets — Save Quiz Bank Confirm the Sheet ID is correct — use only the ID string, not the full URL Check that the tab is named exactly Quiz Bank (case-sensitive) AI generates the wrong number of questions: The prompt already instructs the AI firmly on question count — if this happens, open 6. AI — Generate MCQ Quiz and add an extra line to the prompt: You must generate exactly [N] questions. Stop at exactly [N]. Consider upgrading to gpt-4o for stricter instruction-following Form not collecting responses: Make sure the workflow is toggled ON (activated) before sharing the form URL Test mode and production mode use different URLs in n8n 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 Madame AI
Track competitor pricing and features from BrowserAct to Google Sheets Introduction This workflow automates competitive intelligence by continuously monitoring competitor websites for pricing and feature updates. It scrapes current data using BrowserAct, compares it against historical records using AI to identify specific changes (like price increases or removed features), and archives the findings in a new Google Sheet tab every week. Target Audience Product managers, pricing analysts, and market researchers who need to stay updated on competitor moves without manually checking websites. How it works Scheduling: A Weekly Trigger initiates the workflow to ensure regular monitoring. Database Retrieval: The workflow fetches a list of competitor URLs and their previous scrape data from a Google Sheet. Data Extraction: A BrowserAct node visits each URL and extracts the current pricing plans and feature lists using the "AI Competitor Spy" template. AI Comparison: An AI Agent (using Google Gemini Flash via OpenRouter) compares the live data against the historical data stored in the sheet. It identifies exactly what changed (e.g., "Basic plan increased by $5"). Database Update: The workflow updates the main database with the new "Last Scrape Content" and the date, establishing a new baseline for the next run. Report Generation: After processing all competitors, a second AI Agent (using Google Gemini Pro) aggregates the findings into a comprehensive text report. Archiving: The workflow creates a new tab in the Google Sheet (named with the current date) and appends the full comparative report. Notification: A Slack message is sent to notify the team that the weekly analysis is complete. How to set up Configure Credentials: Connect your BrowserAct, OpenRouter, Google Sheets, and Slack accounts in n8n. Prepare BrowserAct: Ensure the AI Competitor Spy: Pricing & Feature Tracker template is active in your BrowserAct library. Prepare Google Sheet: Create a Google Sheet with the headers listed below. Populate the Competitor Name, URL, and row_number columns with your targets. Leave the other columns blank initially. Configure IDs: Select your Google Sheet in the Fetch links & history, Update Database, and Create New Sheet nodes. Google Sheet Headers To use this workflow, create a Google Sheet with the following headers in the first row: row_number (Must be populated, e.g., 1, 2, 3...) Competitor Name URL Last_Scrape_Content Last_Scrape_Date Comparison Requirements BrowserAct Account:* Required for scraping. Template: *AI Competitor Spy: Pricing & Feature Tracker**. OpenRouter Account:** Required to access Google Gemini models for analysis. Google Sheets:** Used as the database and report archive. Slack Account:** Used for notifications. How to customize the workflow Change the AI Model: The workflow currently uses Google Gemini models. You can swap this for GPT-4 or Claude within the OpenRouter nodes for different analytical styles. Add Email Alerts: Replace or augment the Slack node with a Gmail or SendGrid node to email the weekly report to stakeholders. Filter Minor Changes: Modify the System Prompt in the Analyze target pages node to ignore small price changes (e.g., less than 5%) or specific formatting updates. Need Help? How to Find Your BrowserAct API Key & Workflow ID How to Connect n8n to BrowserAct How to Use & Customize BrowserAct Templates Workflow Guidance and Showcase Video How to Track Competitors Automatically (n8n + AI + Slack + Google Sheets)