by Cheng Siong Chin
How It Works This workflow automates legislative compliance analysis by coordinating multiple specialized OpenAI agents to interpret regulatory documents, evaluate organizational impact, and manage stakeholder communication with complete audit traceability. It is built for compliance officers, legal teams, and governance leaders who must process new or amended legislation quickly without the burden of manual document review. The template addresses the core challenge of staying compliant amid rapidly evolving regulations. When a legislative document is submitted, the workflow retrieves and extracts its full text, then passes it to a Policy Interpretation Agent powered by OpenAI for structured analysis. A Governance Orchestration Agent then activates three parallel specialist agents—Impact Assessment, Compliance Mapping, and Stakeholder Notification to generate standardized outputs. Decisions are routed based on review status: auto-approved items are logged directly into Google Sheets, while flagged items trigger legal review through Slack alerts, compliance tracker updates, and stakeholder notifications, ensuring every regulatory change is evaluated, documented, and acted upon promptly. Setup Steps Add OpenAI API key to all OpenAI Model nodes Connect Google Sheets OAuth2 credentials; set spreadsheet IDs for Auto-Approved Log Configure Slack OAuth2 token; set target channel in Notify Legal Team node Set up Gmail/SMTP credentials in Notify Stakeholders node; update recipient addresses Configure legislative document source URL or webhook endpoint in Fetch Legislative Document node Adjust routing thresholds in Route by Review Status node to match your approval criteria Prerequisites OpenAI API key, Google Sheets with OAuth2, Slack workspace with bot token Use Cases Regulatory change management, GDPR/financial compliance monitoring, policy impact assessment Customization Swap OpenAI for NVIDIA NIM models, add additional specialist agents Benefits Cuts manual compliance review time by 70%, ensures no legislation goes unassessed
by Jitesh Dugar
Transform your educational business with a fully automated mobile storefront. This workflow manages the entire student journey—from browsing course catalogues to secure payment processing and enrollment tracking—all within WhatsApp by combining WATI, Razorpay, and Google Sheets. 🎯 What This Workflow Does Turns WhatsApp into a 24/7 automated enrollment desk: 📝 Captures Student Intent Receives text commands like courses, enroll, or pay via the WATI Trigger from the student's phone. 🚦 Smart Message Routing A Switch node identifies the keyword to trigger the correct path: courses: Displays the full course catalogue. enroll : Shows specific course details and a payment CTA. pay : Generates a unique Razorpay payment link. mystatus: Fetches the student's personal enrollment history. 👁️ Dynamic Catalogue Generation Fetches live data from Google Sheets to build a formatted WhatsApp message with course codes, prices, and durations. 💳 Instant Payment Processing Integrates with the Razorpay API to create secure, short-URL payment links tailored to the specific course and student. 📊 Automated CRM Logging Logs every enrollment attempt as "Pending" in Google Sheets, capturing timestamps, phone numbers, and unique payment IDs. ✨ Key Features White-Label Automation:** Sell courses under your own brand without needing a complex website or LMS. Real-Time Status Tracking:** Students can instantly view their active and pending enrollments with the mystatus command. Native Razorpay Integration:** Uses a clean REST API approach (HTTP Request) to generate payment links without requiring external SDKs. Formatted Course Cards:** Automatically generates detailed summaries for each course, including instructor info and start dates. Multi-Category Support:** Organizes your catalogue by subject (e.g., Programming, Marketing) for a professional user experience. 💼 Perfect For Independent Tutors:** Selling recorded workshops or live sessions without manual billing. Coaching Institutes:** Automating the registration process for high-volume course launches. Skill-Based Bootcamps:** Providing a low-friction "chat-to-pay" experience for mobile users. Corporate Trainers:** Tracking employee registrations for internal certification programs. 🔧 What You'll Need Required Integrations WATI** – To handle WhatsApp message triggers and delivery. Razorpay** – To generate unique payment links via REST API. Google Sheets** – To manage your course database and enrollment logs. Optional Customizations Payment Confirmation:** Set up a Razorpay Webhook to automatically update enrollment status from "Pending" to "Enrolled" upon payment. Automated Welcome:** Add a node to send a "Course Access Guide" PDF once the payment is verified. 🚀 Quick Start Import Template – Copy the JSON and import it into your n8n instance. Set Credentials – Connect your WATI, Razorpay (Basic Auth), and Google Sheets accounts. Configure Sheets – Ensure your Google Sheet has headers for: Courses Tab: name, code, category, price, duration, shortDesc, description, instructor, startDate Enrollments Tab: timestamp, phone, courseCode, courseName, amount, status, paymentlinkId, paymentlinkUrl Test Browsing – Send the word courses to your WATI number. Simulate Payment – Send pay <course_code> to receive your first automated payment link. 🎨 Customization Options Currency Setup:** Change the currency from INR to USD or EUR in the Razorpay Payload node. Personalized Feedback:** Edit the Build Enrollment Status code to change how the student’s history is displayed. Custom CTA:** Modify the "Enroll Detail Card" to include links to your YouTube demo or LinkedIn profile. 📈 Expected Results 95% reduction in manual coordination for course registrations and link sharing. Faster conversions by allowing students to pay the moment they show interest. Organized data with every student interaction logged in a single spreadsheet. Professional image using automated, well-formatted WhatsApp cards and official payment links. 🏆 Use Cases Upskilling Bootcamps A programming school sends the courses list to a leads group; students enroll and pay for "Python 101" entirely through the chat. Skill Progress Tracking A student types mystatus to see which courses they have paid for and which enrollments are still pending. Flash Sales Promote a course code on Instagram; when users message that code to your WhatsApp, the bot handles the sale 24/7. 💡 Pro Tips Shorthand Commands:** The bot is built to handle case-insensitive commands, so PAY PY101 and pay py101 work equally well. Razorpay Test Mode:** Always test your payment links using Razorpay's "Test Mode" keys before going live to ensure the links generate correctly. Clean Database:** The Build Enrollment Status node uses phone number filtering to ensure students only see their own private history. Ready to start enrolling students? Import this template and connect your Razorpay account to automate your sales today!
by Milos Vranes
Quick overview This workflow receives ad copy variants via a webhook, uses Anthropic Claude to critique and then score and rank each variant, appends the results to Google Sheets, and returns the ranked list in the webhook response. How it works Receives a POST request via a webhook containing a brief, ICP, brand voice, platform, and an array of ad copy variants. Applies default values for missing brief/ICP/brand voice fields and normalizes each variant into a consistent structure. Sends the brief, ICP, brand voice, and variants to Anthropic Claude to generate structured critique notes for each variant. Sends the variants and critique notes to Anthropic Claude again to produce 0–100 scores across multiple dimensions plus an overall score and improvement suggestions. Parses the Claude responses, merges scores with the original variants, sorts by overall score, and assigns a rank. Appends each ranked variant (including scores, verdict, and strongest/weakest lines) to a Google Sheets tab and returns the full ranked list to the webhook caller. Setup Create an Anthropic API key and add it as an HTTP Header Auth credential (x-api-key) used by both Claude HTTP requests. Connect your Google Sheets credentials and replace the placeholder document ID with your target spreadsheet ID. Create a Google Sheet tab named “Ad Copy Scores” with columns matching the fields the workflow appends (for example: submittedAt, platform, rank, id, headline, body, cta, hook, icp_fit, brand_voice, cta_clarity, overall, verdict, top_fix, strongest_line, weakest_line). Copy the webhook URL from n8n and configure your source app to POST the variant payload to that endpoint.
by Lidia
Who’s it for Teams who want to automatically generate structured meeting minutes from uploaded transcripts and instantly share them in Slack. Perfect for startups, project teams, or any company that collects meeting transcripts in Google Drive. How it works / What it does This workflow automatically turns raw meeting transcripts into well-structured minutes in Markdown and posts them to Slack: Google Drive Trigger – Watches a specific folder. Any new transcript file added will start the workflow. Download File – Grabs the transcript. Prep Transcript – Converts the file into plain text and passes the transcript downstream. Message a Model – Sends the transcript to OpenAI GPT for summarization using a structured system prompt (action items, decisions, N/A placeholders). Make Minutes – Formats GPT’s response into a Markdown file. Slack: Send a message – Posts a Slack message announcing the auto-generated minutes. Slack: Upload a file – Uploads the full Markdown minutes file into the chosen Slack channel. End result: your Slack channel always has clear, standardized minutes right after a meeting. How to set up Google Drive Create a folder where you’ll drop transcript files. Configure the folder ID in the Google Drive Trigger node. OpenAI Add your OpenAI API credentials in the Message a Model node. Select a supported GPT model (e.g., gpt-4o-mini or gpt-4). Slack Connect your Slack account and set the target channel ID in the Slack nodes. Run the workflow and drop a transcript file into Drive. Minutes will appear in Slack automatically. Requirements Google Drive account (for transcript upload) OpenAI API key (for text summarization) Slack workspace (for message posting and file upload) How to customize the workflow Change summary structure*: Adjust the system prompt inside *Message a Model (e.g., shorter summaries, language other than English). Different output format*: Modify *Make Minutes to output plain text, PDF, or HTML instead of Markdown. New destinations**: Add more nodes to send minutes to email, Notion, or Confluence in parallel. Multiple triggers**: Replace Google Drive trigger with Webhook if you want to integrate with Zoom or MS Teams transcript exports. Good to know OpenAI API calls are billed separately. See OpenAI pricing. Files must be text-based (.txt or .md). For PDFs or docs, add a conversion step before summarization. Slack requires the bot user to be a member of the target channel, otherwise you’ll see a not_in_channel error.
by vinci-king-01
This workflow processes raw meeting recordings or handwritten notes, automatically transcribes and summarizes them, and then distributes the concise summary to all meeting participants via Microsoft Teams while also creating an action-item task in ClickUp. The goal is to save time, keep everyone aligned, and ensure follow-up tasks are tracked in your project management workspace. Pre-conditions/Requirements Prerequisites n8n instance (self-hosted or n8n.cloud) ScrapeGraphAI community node installed Microsoft Teams tenant with permissions to create Incoming Webhooks or use Bot Framework ClickUp workspace and a target List to hold meeting action items Optional: OpenAI or any LLM API account for high-quality summarization Required Credentials Microsoft Teams Webhook URL** – to post summary messages ClickUp Personal Access Token** – to create tasks OpenAI API Key** (optional but recommended) – for AI-powered summarization ScrapeGraphAI API Key** – placeholder key to satisfy the template requirement Specific Setup Requirements | Item | Description | Example | |------|-------------|---------| | Teams Channel Webhook | Create an Incoming Webhook in the desired Teams channel and copy the URL | https://outlook.office.com/webhook/... | | ClickUp List ID | The numeric ID of the list where tasks will be created | 90123456 | | Summarization Model | The LLM model or API you prefer to use | gpt-3.5-turbo | How it works This workflow transcribes or parses meeting content, leverages an LLM to generate a concise summary and action items, then distributes the results to participants in Microsoft Teams and creates a follow-up task in ClickUp. Everything runs in a single automated flow triggered manually or on a schedule. Key Steps: Manual Trigger**: Start the workflow after a meeting ends. Sticky Note**: Provides on-canvas documentation for quick reference. Set Node – Upload Metadata**: Define meeting title, date, and participants. HTTP Request – Transcription**: Send audio/video file to a transcription service (e.g., Azure Speech-to-Text). Wait**: Pause until the transcription is complete. Code – Summarize**: Use OpenAI to summarize the transcript and extract action items. IF Node – Validate Output**: Ensure the summary exists; handle errors otherwise. Merge**: Combine summary with participant list. Microsoft Teams Node**: Send the summary to each participant or channel via webhook. ClickUp Node**: Create a task containing the summary and action items. Set up steps Setup Time: 10-15 minutes Create Teams Webhook: In Microsoft Teams, navigate to the target channel → Manage channel → Connectors → Incoming Webhook → give it a name (e.g., “MeetingBot”) and copy the generated URL. Generate ClickUp Personal Access Token: ClickUp → Settings → Apps → Generate Token → copy and store it securely. Get ClickUp List ID: Open the list in ClickUp and copy the numeric ID from the URL bar. Optional – Obtain OpenAI API Key: Sign in to OpenAI → API Keys → Create new secret key. Add Credentials in n8n: In n8n, go to Credentials → New → add Microsoft Teams, ClickUp, and OpenAI (Generic HTTP). Import Workflow: Paste the JSON workflow into n8n or use “Templates → Import”. Configure Nodes: In the Set Node: update meeting_title, date, and participants array. In HTTP Request: set the transcription service endpoint and authentication. In Code – Summarize: paste your OpenAI key or select credential. In Microsoft Teams Node: select the Teams credential and webhook URL. In ClickUp Node: select ClickUp credential and enter the List ID. Test: Click “Execute Workflow” on the Manual Trigger node. Verify that a message appears in Teams and a task is created in ClickUp. Node Descriptions Core Workflow Nodes: Manual Trigger** – Initiates the workflow manually or on a schedule. Sticky Note** – Documentation block outlining purpose and credential usage. Set** – Stores meeting metadata and participants list. HTTP Request** – Sends meeting recording to a transcription service and fetches results. Wait** – Holds the workflow until transcription is ready. Code** – Summarizes transcript and extracts action items via OpenAI. IF** – Validates summarization success; branches on failure. Merge** – Combines summary text with participant emails/usernames. Microsoft Teams** – Posts summary to Teams channel or direct messages. ClickUp** – Creates a task containing summary and action items. Data Flow: Manual Trigger → Set → HTTP Request → Wait → Code → IF → Merge → Microsoft Teams Merge → ClickUp Customization Examples Change summarization prompt // Inside the Code node const prompt = ` You are an expert meeting assistant. Summarize the following transcript in under 150 words. List action items in bullet points with owners. Transcript: ${items[0].json.transcript} `; Send summary as a PDF attachment // Add Convert & Save node before Teams // Convert markdown summary to PDF and attach in Teams node Data Output Format The workflow outputs structured JSON data: { "meeting_title": "Q3 Strategy Sync", "date": "2024-05-10", "participants": ["john@corp.com", "jane@corp.com"], "summary": "We reviewed Q3 OKRs, decided to ...", "action_items": [ { "owner": "John", "task": "Prepare budget draft", "due": "2024-05-20" }, { "owner": "Jane", "task": "Compile market research", "due": "2024-05-25" } ], "clickup_task_id": "abcd1234", "teams_message_id": "msg7890" } Troubleshooting Common Issues Teams message not sent – Verify the Incoming Webhook URL and that the Teams node uses the correct credential. ClickUp task missing – Ensure the List ID is correct and the ClickUp token has tasks:write scope. Empty summary – Check that the transcription text is populated and the OpenAI prompt is valid. Performance Tips Compress large audio/video files before sending to the transcription service. Use batching in the Teams node if participant list is >20 to avoid rate limits. Pro Tips: Schedule the workflow to auto-run 5 minutes after recurring meeting end-times. Customize the ClickUp task description template to include embedded links. Add a “Send Email” node for participants not on Teams.
by David Olusola
🎥 Auto-Save Zoom Recordings to Google Drive + Log Meetings in Airtable This workflow automatically saves Zoom meeting recordings to Google Drive and logs all important details into Airtable for easy tracking. Perfect for teams that want a searchable meeting archive. ⚙️ How It Works Zoom Recording Webhook Listens for recording.completed events from Zoom. Captures metadata (Meeting ID, Topic, Host, File Type, File Size, etc.). Normalize Recording Data A Code node extracts and formats Zoom payload into clean JSON. Download Recording Uses HTTP Request to download the recording file. Upload to Google Drive Saves the recording into your chosen Google Drive folder. Returns the file ID and share link. Log Result Combines Zoom metadata with Google Drive file info. Save to Airtable Logs all details into your Meeting Logs table: Meeting ID Topic Host File Type File Size Google Drive Saved (Yes/No) Drive Link Timestamp 🛠️ Setup Steps 1. Zoom Create a Zoom App → enable recording.completed event. Add the workflow’s Webhook URL as your Zoom Event Subscription endpoint. 2. Google Drive Connect OAuth in n8n. Replace YOUR_FOLDER_ID with your destination Drive folder. 3. Airtable Create a base with table Meeting Logs. Add columns: Meeting ID Topic Host File Type File Size Google Drive Saved Drive Link Timestamp Replace YOUR_AIRTABLE_BASE_ID in the node. 📊 Example Airtable Output | Meeting ID | Topic | Host | File Type | File Size | Google Drive Saved | Drive Link | Timestamp | |------------|-------------|-------------------|-----------|-----------|--------------------|------------|---------------------| | 987654321 | Team Sync | host@email.com | MP4 | 104 MB | Yes | 🔗 Link | 2025-08-30 15:02:10 | ⚡ With this workflow, every Zoom recording is safely archived in Google Drive and logged in Airtable for quick search, reporting, and compliance tracking.
by Anna Bui
Automatically analyze n8n workflow errors with AI, create support tickets, and send detailed Slack notifications Perfect for development teams and businesses that need intelligent error handling with automated support workflows. Never miss critical workflow failures again! How it works Error Trigger captures any workflow failure in your n8n instance AI Debugger analyzes the error using structured reasoning to identify root causes Clean Data transforms AI analysis into organized, actionable information Create Support Ticket automatically generates a detailed ticket in FreshDesk Merge combines ticket data with AI analysis for comprehensive reporting Generate Slack Alert creates rich, formatted notifications with all context Send to Team delivers instant alerts to your designated Slack channel How to use Replace FreshDesk credentials with your helpdesk system API Configure Slack channel for your team notifications Customize AI analysis prompts for your specific error types Set up as global error handler for all your critical workflows Requirements FreshDesk account (or compatible ticketing system) Slack workspace with bot permissions OpenAI API access for AI analysis n8n Cloud or self-hosted with AI nodes enabled Good to know OpenAI API calls cost approximately $0.01-0.03 per error analysis Works with any ticketing system that supports REST API Can be triggered by webhooks from external monitoring tools Slack messages use rich formatting for mobile-friendly alerts Need Help? Join the Discord or ask in the Forum! Happy Monitoring!
by vinci-king-01
Public Transport Delay Tracker with Microsoft Teams and Todoist ⚠️ COMMUNITY TEMPLATE DISCLAIMER: This is a community-contributed template that uses ScrapeGraphAI (a community node). Please ensure you have the ScrapeGraphAI community node installed in your n8n instance before using this template. This workflow continuously monitors public-transportation websites and apps for real-time schedule changes and delays, then posts an alert to a Microsoft Teams channel and creates a follow-up task in Todoist. It is ideal for commuters or travel coordinators who need instant, actionable updates about transit disruptions. Pre-conditions/Requirements Prerequisites An n8n instance (self-hosted or n8n cloud) ScrapeGraphAI community node installed Microsoft Teams account with permission to create an Incoming Webhook Todoist account with at least one project Access to target transit authority websites or APIs Required Credentials ScrapeGraphAI API Key** – Enables scraping of transit data Microsoft Teams Webhook URL** – Sends messages to a specific channel Todoist API Token** – Creates follow-up tasks (Optional) Transit API key if you are using a protected data source Specific Setup Requirements | Resource | What you need | |--------------------------|---------------------------------------------------------------| | Teams Channel | Create a channel → Add “Incoming Webhook” → copy the URL | | Todoist Project | Create “Transit Alerts” project and note its Project ID | | Transit URLs/APIs | Confirm the URLs/pages contain the schedule & delay elements | How it works This workflow continuously monitors public-transportation websites and apps for real-time schedule changes and delays, then posts an alert to a Microsoft Teams channel and creates a follow-up task in Todoist. It is ideal for commuters or travel coordinators who need instant, actionable updates about transit disruptions. Key Steps: Webhook (Trigger)**: Starts the workflow on a schedule or via HTTP call. Set Node**: Defines target transit URLs and parsing rules. ScrapeGraphAI Node**: Scrapes live schedule and delay data. Code Node**: Normalizes scraped data, converts times, and flags delays. IF Node**: Determines if a delay exceeds the user-defined threshold. Microsoft Teams Node**: Sends formatted alert message to the selected Teams channel. Todoist Node**: Creates a “Check alternate route” task with due date equal to the delayed departure time. Sticky Note Node**: Holds a blueprint-level explanation for future editors. Set up steps Setup Time: 15–20 minutes Install community node: In n8n, go to “Manage Nodes” → “Install” → search for “ScrapeGraphAI” → install and restart n8n. Create Teams webhook: In Microsoft Teams, open target channel → “Connectors” → “Incoming Webhook” → give it a name/icon → copy the URL. Create Todoist API token: Todoist → Settings → Integrations → copy your personal API token. Add credentials in n8n: Settings → Credentials → create new for ScrapeGraphAI, Microsoft Teams, and Todoist. Import workflow template: File → Import Workflow JSON → select this template. Configure Set node: Replace example transit URLs with those of your local transit authority. Adjust delay threshold: In the Code node, edit const MAX_DELAY_MINUTES = 5; as needed. Activate workflow: Toggle “Active”. Monitor executions to ensure messages and tasks are created. Node Descriptions Core Workflow Nodes: Webhook** – Triggers workflow on schedule or external HTTP request. Set** – Supplies list of URLs and scraping selectors. ScrapeGraphAI** – Scrapes timetable, status, and delay indicators. Code** – Parses results, converts to minutes, and builds payloads. IF** – Compares delay duration to threshold. Microsoft Teams** – Posts formatted adaptive-card-style message. Todoist** – Adds a task with priority and due date. Sticky Note** – Internal documentation inside the workflow canvas. Data Flow: Webhook → Set → ScrapeGraphAI → Code → IF a. IF (true branch) → Microsoft Teams → Todoist b. IF (false branch) → (workflow ends) Customization Examples Change alert message formatting // In the Code node const message = `⚠️ Delay Alert: Route: ${item.route} Expected: ${item.scheduled} New Time: ${item.newTime} Delay: ${item.delay} min Link: ${item.url}`; return [{ json: { message } }]; Post to multiple Teams channels // Duplicate the Microsoft Teams node and reference a different credential items.forEach(item => { item.json.webhookUrl = $node["Set"].json["secondaryChannelWebhook"]; }); return items; Data Output Format The workflow outputs structured JSON data: { "route": "Blue Line", "scheduled": "2024-12-01T14:25:00Z", "newTime": "2024-12-01T14:45:00Z", "delay": 20, "status": "Delayed", "url": "https://transit.example.com/blue-line/status" } Troubleshooting Common Issues Scraping returns empty data – Verify CSS selectors/XPath in the Set node and ensure the target site hasn’t changed its markup. Teams message not sent – Check that the stored webhook URL is correct and the connector is still active. Todoist task duplicated – Add a unique key (e.g., route + timestamp) to avoid inserting duplicates. Performance Tips Limit the number of URLs per execution when monitoring many routes. Cache previous scrape results to avoid hitting site rate limits. Pro Tips: Use n8n’s built-in Cron instead of Webhook if you only need periodic polling. Add a SplitInBatches node after scraping to process large route lists incrementally. Enable execution logging to an external database for detailed audit trails.
by Kshitij Matta
Stop paying for expensive plugins to recover your valuable revenue from abandoned carts on your WooCommerce store How It Works? When a product is added to a user's cart on your store, it fetches the cart contents via webhook & it utilises the code provided in the red sticky note to fetch the required info. It waits for a specified time to allow the user to place an order. It checks if the order has been placed or not. It creates the HTML with dynamic information fetched from previous nodes. It sends the email to the user via configured SMTP credentials. Setup Steps (20 minutes): Set up your WooCommerce Account Credentials in n8n Set up webhook in n8n & WooCommerce Add the provided code in functions.php or as a PHP snippet via a plugin onto your website Customize the coupon code's phrase according to your needs Customize the email's HTML code according to your needs Requirements WooCommerce Store**: With REST API access enabled. SMTP Credentials**: For sending recovery emails. For any queries, you can ping me on X
by Madame AI
Repurpose white papers from URLs to LinkedIn PDFs and Blog Posts With BrowserAct Introduction This workflow automates the labor-intensive process of turning long-form white papers into ready-to-publish social media assets. It scrapes the content from a URL or PDF, uses AI to ghostwrite a LinkedIn carousel script and an SEO-optimized blog post, generates a downloadable PDF for the carousel using APITemplate.io, and archives all assets in Google Sheets. Target Audience Content marketers, social media managers, and agency copywriters looking to scale content repurposing efforts. How it works Input: The workflow retrieves a list of white paper URLs from a Google Sheet. Looping: It processes each URL individually to ensure stability. Extraction: The BrowserAct node uses the "White Paper to Social Media Converter" template to scrape the full text of the white paper . Content Generation: An AI Agent (OpenRouter/GPT-4o) acts as a ghostwriter. It analyzes the text and generates two distinct outputs: A viral-style LinkedIn post with a 5-slide carousel script. A full-length, HTML-formatted blog post with proper headers. PDF Creation: The APITemplate.io node takes the carousel script and generates a designed PDF file ready for LinkedIn upload. Storage: The workflow updates the original Google Sheet row with the generated blog HTML, the LinkedIn caption, and the direct link to the PDF. Notification: Once all items are processed, a Slack message notifies the team. How to set up Configure Credentials: Connect your BrowserAct, OpenRouter, Google Sheets, APITemplate.io, and Slack accounts in n8n. Prepare BrowserAct: Ensure the White Paper to Social Media Converter template is active in your BrowserAct library. Prepare APITemplate.io: Create a PDF template in APITemplate.io that accepts dynamic fields for slide titles and body text. Copy the Template ID into the Create a carousel PDF node. Prepare Google Sheet: Create a sheet with the headers listed below and add your target URLs. Google Sheet Headers To use this workflow, create a Google Sheet with the following headers: row_number (Must be populated, e.g., 1, 2, 3...) Target Page Url Blog Post Linkdin Post PDF Link Requirements BrowserAct Account:* Required for scraping. Template: *White Paper to Social Media Converter**. OpenRouter Account:** Required for GPT-4o processing. APITemplate.io Account:** Required for generating the visual PDF carousel. Google Sheets:** Used for input and output. Slack Account:** Used for completion notifications. How to customize the workflow Direct Publishing: Add a WordPress node to publish the Blog Post HTML directly to your CMS instead of saving it to the sheet. Design Variations: Create multiple templates in APITemplate.io (e.g., "Dark Mode", "Minimalist") and use a Random node to vary the visual style of your carousels. Tone Adjustment: Modify the System Message in the Convert whitepaper to carousel node to change the writing style (e.g., make it more academic or more casual). 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 Automated LinkedIn Carousels: Turn White Papers into Content with n8n
by Daniel Shashko
This workflow automates the creation of user-generated-content-style product videos by combining Gemini's image generation with OpenAI's SORA 2 video generation. It accepts webhook requests with product descriptions, generates images and videos, stores them in Google Drive, and logs all outputs to Google Sheets for easy tracking. Main Use Cases Automate product video creation for e-commerce catalogs and social media. Generate UGC-style content at scale without manual design work. Create engaging video content from simple text prompts for marketing campaigns. Build a centralized library of product videos with automated tracking and storage. How it works The workflow operates as a webhook-triggered process, organized into these stages: Webhook Trigger & Input Accepts POST requests to the /create-ugc-video endpoint. Required payload includes: product prompt, video prompt, Gemini API key, and OpenAI API key. Image Generation (Gemini) Sends the product prompt to Google's Gemini 2.5 Flash Image model. Generates a product image based on the description provided. Data Extraction Code node extracts the base64 image data from Gemini's response. Preserves all prompts and API keys for subsequent steps. Video Generation (SORA 2) Sends the video prompt to OpenAI's SORA 2 API. Initiates video generation with specifications: 720x1280 resolution, 8 seconds duration. Returns a video generation job ID for polling. Video Status Polling Continuously checks video generation status via OpenAI API. If status is "completed": proceeds to download. If status is still processing: waits 1 minute and retries (polling loop). Video Download & Storage Downloads the completed video file from OpenAI. Uploads the MP4 file to Google Drive (root folder). Generates a shareable Google Drive link. Logging to Google Sheets Records all generation details in a tracking spreadsheet: Product description Video URL (Google Drive link) Generation status Timestamp Summary Flow: Webhook Request → Generate Product Image (Gemini) → Extract Image Data → Generate Video (SORA 2) → Poll Status → If Complete: Download Video → Upload to Google Drive → Log to Google Sheets → Return Response If Not Complete: Wait 1 Minute → Poll Status Again Benefits: Fully automated video creation pipeline from text to finished product. Scalable solution for generating multiple product videos on demand. Combines cutting-edge AI models (Gemini + SORA 2) for high-quality output. Centralized storage in Google Drive with automatic logging in Google Sheets. Flexible webhook interface allows integration with any application or service. Retry mechanism ensures videos are captured even with longer processing times. Created by Daniel Shashko
by Cheng Siong Chin
How It Works This workflow provides automated Chinese text translation with high-quality audio synthesis for language learning platforms, content creators, and international communication teams. It addresses the challenge of converting Chinese text into accurate multilingual translations with natural-sounding voiceovers. The system receives Chinese text via webhook, validates input formatting, and processes it through an AI translation agent that generates multiple language versions. Each translation is converted to speech using ElevenLabs' neural voice models, then formatted into professional audio responses. A quality review agent evaluates translation accuracy, cultural appropriateness, and audio clarity against predefined criteria. High-scoring outputs are returned via webhook for immediate use, while low-quality results trigger review processes, ensuring consistent delivery of publication-ready multilingual audio content. Setup Steps Obtain OpenAI API key and configure in "Translation Agent" Set up ElevenLabs account, generate API key Configure webhook URL and update in source applications to trigger workflow Customize target languages and voice settings in translation and ElevenLabs nodes Adjust quality thresholds in "Check Quality Score" Update output webhook endpoint in "Return Audio Files" node Prerequisites Active accounts: OpenAI API access, ElevenLabs subscription. Use Cases Chinese language learning apps, international marketing content localization Customization Add additional target languages, modify voice characteristics and speaking rates Benefits Automates 95% of translation workflow, delivers publication-ready audio in minutes