by Madame AI
Translate and dub YouTube videos using BrowserAct, Telegrma & Gemini This workflow transforms any YouTube video into a localized audio experience. It scrapes the video content, translates the transcript into your target language using AI, generates high-quality dubbed audio using ElevenLabs, and delivers the audio files and a summary directly to your Telegram chat. Target Audience Content creators, language learners, and educators looking to make video content accessible in multiple languages. How it works Receive Link: You send a YouTube video link to your Telegram bot. Extract URL: An AI Agent extracts the clean YouTube URL from your message. Scrape Content: BrowserAct executes a background task to fetch the video's transcript, description, and metadata. Translate & Script: A specialized AI Agent (using Google Gemini) translates the transcript into your chosen target language (e.g., Spanish). It also segments the text into logical parts for dubbing. Generate Audio: ElevenLabs synthesizes the translated text segments into natural-sounding speech. Deliver: The workflow sends the dubbed audio files and a translated summary post to your Telegram chat. How to set up Configure Credentials: Connect your Telegram, BrowserAct, ElevenLabs, and Google Gemini accounts in n8n. Prepare BrowserAct: Ensure the YouTube Translator & Auto Dubber template is saved in your BrowserAct account. Configure Telegram: Ensure your bot is created via BotFather and the API token is added to the Telegram credentials. Set Language: Open the Define Language node to set your desired target language (default is "Spanish"). Activate: Turn on the workflow. Test: Send a YouTube link to your bot to start the dubbing process. Requirements BrowserAct* account with the *YouTube Translator & Auto Dubber** template. ElevenLabs** account. Telegram** account (Bot Token). Google Gemini** account. How to customize the workflow Change Voice: Open the Convert text to speech node and select a different ElevenLabs voice model. Add More Languages: Add logic to the Define Language node to let the user select a language via a Telegram menu. Change Output: Replace the Telegram output with a Google Drive node to save the audio files for later use. 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 One-Click YouTube Translator: Auto-Dub Your YouTube Videos with n8n & ElevenLabs đ
by Diego Alejandro ParrĂĄs
Bulk certificate generator from Google Sheets and Slides Categories: Productivity, Education, Google, Automation Automate the creation of personalized certificates, diplomas, or event invitations at scale. This workflow takes a list of recipients from Google Sheets, generates customized PDFs from a Google Slides template, and tracks completionâperfect for course completions, event attendance, or team recognition programs. Benefits Save 95% of manual time** - Generate hundreds of certificates in minutes instead of hours of copy-paste work Zero design skills needed** - Create your template once in Google Slides (or download from Canva and import), then let automation handle the rest Built-in tracking** - Automatically marks processed recipients and stores Drive links in your spreadsheet Rate-limit safe** - Includes intelligent delays to respect Google API quotas Clean workspace** - Automatically deletes temporary files after PDF generation How It Works The workflow processes recipients one at a time in a loop: Read recipients - Fetches unprocessed rows from your Google Sheet (filtered by "Processed = FALSE") Copy template - Creates a temporary copy of your Google Slides template for each recipient Personalize content - Replaces placeholders ({{name}}, {{date}}, {{certificateid}}) with actual recipient data Export to PDF - Converts the personalized slide to a high-quality PDF Save to Drive - Stores the final PDF in your designated Google Drive folder Update tracker - Marks the row as processed and adds the Drive link to your sheet Cleanup - Deletes the temporary slide copy to avoid clutter Rate limiting - Waits 2 seconds before processing the next recipient (prevents API quota issues) The loop continues until all unprocessed recipients are handled. Required Setup Google Sheet Structure Your spreadsheet needs these columns (exact names): | Column Name | Description | Example | |------------|-------------|---------| | CertificateID | Unique identifier (used for filename) | CERT-001 | | Name | Recipient's full name | John Smith | | Date | Date to display on certificate | January 15, 2026 | | Processed | Track status (FALSE/TRUE) | FALSE | | DriveLink | Auto-filled with PDF link | (empty initially) | You can add other columns (email, course name, etc.) for your recordsâthe workflow only uses the ones above. Google Slides Template Create a slide in Google Slides with these placeholders: {{name}} - Will be replaced with recipient's name {{date}} - Will be replaced with the date {{certificateid}} - Will be replaced with the unique ID Design tip: You can design your certificate in Canva, export as PPTX, then upload to Google Slides. This gives you access to Canva's beautiful templates while keeping Google's automation power. Business Use Cases Online course creators** - Issue completion certificates to students automatically after they finish a course Event organizers** - Generate personalized attendance certificates for conference or workshop participants HR departments** - Create employee recognition awards, training completion docs, or onboarding materials at scale Educational institutions** - Batch-produce diplomas, achievement awards, or participation certificates Nonprofits** - Generate donor recognition certificates or volunteer appreciation documents Corporate training** - Issue compliance training certificates with unique tracking IDs Set Up Steps 1. Prepare Your Google Sheet Create a new Google Sheet with the required columns (see structure above) Fill in recipient data (CertificateID, Name, Date) Set all "Processed" values to FALSE Leave "DriveLink" column empty 2. Create Your Slides Template Design a certificate/diploma/invitation in Google Slides Use text placeholders: {{name}}, {{date}}, {{certificateid}} Note the template's file ID from the URL (the long string after /presentation/d/) Optional Canva workflow: Design in Canva using their certificate templates Download as PPTX Upload to Google Slides Add the placeholder text 3. Configure the Workflow Replace placeholder IDs in these nodes: "Read Unprocessed Recipients" node: Set your Google Sheet ID "Copy Slides Template" node: Replace YOUR_TEMPLATE_SLIDES_ID with your template's file ID "Save PDF to Drive" node: Set the destination folder ID where PDFs should be saved "Mark as Processed" node: Confirm it points to the same Google Sheet 4. Set Up Credentials Add your Google account credentials for: Google Sheets (OAuth2) Google Drive (OAuth2) Google Slides (OAuth2) (All three can use the same Google account) 5. Test Run Click "Test workflow" with 2-3 test recipients Verify PDFs are generated correctly Check that your Sheet updates with "Processed = TRUE" and Drive links 6. Scale to Production Add all your recipients to the Sheet Execute the workflow Monitor progress in the Sheet's "Processed" column Troubleshooting "Rate limit exceeded" errors: Increase the wait time in "Wait 2s (Rate Limit)" node to 3-5 seconds Process in smaller batches (50-100 at a time) Placeholders not replacing: Ensure exact match: {{name}} not {{ name }} (no spaces) Check placeholder text is plain text, not inside text boxes or grouped objects PDFs not saving: Verify the destination folder ID is correct Ensure your Google account has write permissions to that folder Sheet not updating: Confirm "CertificateID" column exists and has unique values Check that the "Processed" column is formatted as plain text (not checkbox) Important Notes API quotas:** Google Slides API has daily limits. For >500 certificates, consider splitting across multiple days or upgrading to Google Workspace File cleanup:** The workflow deletes temporary slide copiesâdo NOT delete this node or you'll fill your Drive with copies Unique IDs:** CertificateID must be unique for each recipient (used for matching and filename) Template preservation:** Your original Slides template is never modifiedâonly copies are created Difficulty Level: Intermediate Estimated Build Time: 30-45 minutes (including template design) Monthly Operating Cost: $0 (uses Google's free tier APIs for reasonable volumes) Customization Ideas Add more placeholder fields (course name, instructor signature, expiration date) Send certificates via email using the Gmail node after PDF generation Generate QR codes with the certificate ID for verification Create a public verification page using the certificate IDs Use AI to auto-generate personalized messages for each recipient Built with â¤ď¸ for educators, event organizers, and anyone who needs to issue bulk certificates without the manual tedium.
by Zaid
How it works Receives form submissions via a webhook endpoint. Extracts the name, email, and message from each submission. Logs every submission to a Google Sheets spreadsheet with a timestamp. Sends a confirmation email to the submitter via Gmail. Returns a JSON success response to your frontend. A simple way to handle contact forms without building a backend. Setup steps Estimated setup time:** 5 minutes Set your webhook path in the trigger node. Connect your Google Sheets account and set the spreadsheet ID. Create a "Submissions" sheet with columns: name, email, message, submitted_at. Connect your Gmail account for sending confirmation emails. Point your form's action URL to the webhook and activate.
by Milan Vasarhelyi - SmoothWork
"## Video Introduction Want to automate your inbox or need a custom workflow? đ Book a Call | đŹ DM me on Linkedin Workflow Overview This automation sends you a daily email summary of all new contacts added to your Airtable base. Every evening, it searches for contacts created that day, formats them into a clean HTML table, and delivers them directly to your inboxâkeeping you updated without any manual effort. This workflow is perfect for sales teams, recruiters, community managers, or anyone who needs to stay on top of new contacts without manually checking Airtable. Instead of logging into Airtable each day, you'll receive a nicely formatted email with all the essential information about your new contacts, including their name, company, and email address. First Setup Airtable Connection: Create a Personal Access Token at airtable.com/create/tokens Add these scopes: data.records:read, data.records:write, and schema.bases:read Grant access to your bases and paste the token into n8n credentials Gmail Connection: Connect your Gmail account through n8n's OAuth2 authentication Configuration Schedule**: The trigger is set to run daily at 11 PM. Adjust the time in the Schedule Trigger node to match your preference Airtable Base & Table**: Update the Search records node to point to your own Airtable base and contacts table Email Recipient**: Change the recipient email address in the Gmail node to your own Data Fields**: Customize which contact fields appear in the report by modifying the Output Fields in the Airtable node"
by Wolfgang Renner
Automated Trade Report from Interactive Brokers This workflow is aimed at traders who use Interactive Brokers. It automatically retrieves the trades made in IBKR on a daily basis and writes them to a Google Sheet, so that anyone can easily perform further analyses and statistics using the on-board tools. This creates an automatic, continuous trade journal. Typical Usecaes Monitoring your trades in one journal Analyze your Profit & Losses Basis for any kind of statistics ⢠Log trades (entry, exit, setup, reason) ⢠Analyze performance (win rate, R/R, expectancy) ⢠Evaluate strategies & setups ⢠Detect mistakes & patterns ⢠Track emotions & discipline ⢠Support coaching, reviews & improvement How it works A daily schedule triggers a FlexStatement request to Interactive Brokers to start generating a trade report. The workflow extracts the reference code from IBKR's response, waits for the report to be ready, then downloads the Flex report XML. The XML is parsed and split into individual Trade records. Key fields (tradeDate, symbol, quantity, buySell, tradeID, price, money, currency, fxRateToBase) are normalized.\n5. Each trade is appended or updated in the configured Google Sheet, matching on tradeID to avoid duplicates and keep the journal current. Prerequisites Trading Account on IBKR Google Sheets OAuth2 A Google Sheet containing your trading journal Setup [ ] Set schedule to run at your desired time (default: 08:00) [ ] Add or verify IBKR request token/reference parameters. 1. Create Flex Query Token: Go to IBKR Account Management Reports â Flex Queries â Flex Web Service â Generate Current Token â Make a note of the token (e.g.: 123456789012345678901234) 2. Enter Flex Token: In node '1. Request Flex Report' and in node '2. Extract Reference Code' Replace YOUR_FLEX_TOKEN with your token ID 3. Create Flex Query in IBKR (if not already done): Go to IBKR Account Management Reports â Flex Queries â Activity Flex Query â Create Select: Trade Confirmation â Period: Last 365 Days Format: XML Save and note down the query ID 4. Enter Flex Query ID: In node '1. Request Flex Report' Replace YOUR_QUERY_ID with your query ID [ ] Adjust wait time if IBKR needs longer to generate reports [ ] Select the Google Sheet and target sheet/tab [ ] Connect Google Sheets OAuth2 account [ ] Confirm column mapping and that tradeID is the matching column [ ] Run a manual test to validate parsing and row updates
by Alexandru Burca
Automated multilingual article publishing from RSS feeds to WordPress using ACF Instalations Instructions Youtube Instalation Instructions # Whoâs it for This workflow is built for news publishers, media organizations, and content aggregators who need to automatically: pull articles from RSS feeds rewrite them into original text translate them into multiple languages generate a featured image publish everything directly to WordPress. It is ideal for multilingual news portals, editorial teams with limited resources, and businesses that want to automate high-volume content production. How it works The workflow monitors a selected RSS feed at regular intervals and retrieves new article links. It scrapes each articleâs HTML and uses AI to extract structured text: title full content and a short summary. The text is then rewritten into an original article tailored to your target audienceâs language and country context. Next, the workflow translates the rewritten article into any number of additional languages while preserving the formatting. It also generates a unique AI-based featured image, uploads it to WordPress, assembles multilingual ACF fields, and publishes the final post with the correct metadata. How to set up Insert your RSS feed URL, add your OpenAI and Replicate API keys, configure your WordPress API credential, and ensure the ACF fields on your site match the workflowâs naming structure. Requirements WordPress with REST API enabled ACF WP Plugin installed OpenAI API key Replicate API key Firebase API Key How to customize the workflow Adjust the RSS source, modify the default language and list of translated languages, change the rewriting style or country context, refine the image generation prompt, or remap ACF fields to match your WordPress layout.
by Flavio Paesano
This workflow automatically monitors a set of subreddits on a daily schedule, fetches the top trending posts via RSS, and uses a Google Gemini AI model to identify the most discussion-worthy post. It then generates a full, SEO-optimized guide in Markdown â complete with step-by-step walkthroughs, data tables, and pro tips â and publishes the result to a web app endpoint. How it works: A Schedule Trigger fires once per day A configurable list of subreddits is looped over one by one Each subreddit's hot posts are fetched via Reddit's public RSS feed Raw XML is parsed and cleaned into structured post data Gemini AI picks the best post and writes a complete guide The guide is sent via HTTP POST to your publishing endpoint What you'll need to configure: Your subreddit list (in the Code node) A Google Gemini (PaLM) API credential Your publishing endpoint URL + any required auth headers Use cases: Gaming blogs, niche community newsletters, auto-publishing pipelines for any topic-focused subreddit.
by Andri Darnius
Automatically extract stock transactions from Indonesian broker trade confirmation documents sent via Telegram using AI vision. How it works: Send a PDF or image of your broker trade confirmation to the bot. The workflow downloads the file, encodes it, and sends it to OpenRouter (Gemini) for AI extraction. All detected transactions are displayed in a single confirmation message with â Save All / â Cancel buttons. The extracted data is stored temporarily using workflow static data, ready to be forwarded to any destination on confirm. Features: Supports PDF and image (JPG, PNG, screenshot) Handles multi-transaction documents â all shown in one batch confirmation Indonesian market aware â quantity in lots (1 lot = 100 shares) Extracts: ticker, company name, type, quantity, price, fee, total, date, broker, confidence score Low-confidence extractions handled gracefully Modular â connect the confirm output to any node (HTTP Request, Google Sheets, Airtable, Notion, database, etc.) Required credentials: Telegram account â your bot token from BotFather OpenRouter API â Header Auth credential (Authorization: Bearer sk-or-v1-...) Setup: Import workflow Add credentials Expose n8n via HTTPS (Cloudflare Tunnel, ngrok, or public server) Activate workflow â webhook registers automatically Send a broker PDF to your bot Default model: google/gemini-2.5-flash-lite via OpenRouter (free tier available)
by BHSoft
đWho is this for? This workflow is designed for engineering teams, project managers, and IT operations who need consistent visibility into team availability across multiple projects. Itâs perfect for organizations that use Odoo for leave management and Redmine for project collaboration, and want to ensure that everyone involved gets timely, automated Slack notifications whenever a team member will be absent the next day. đThe problem When team members go dark, everything grinds to a halt. You're stuck with: Last-minute meeting reschedules (and frustrated stakeholders) Tasks assigned to people who aren't there No time to redistribute workload Bottlenecks affecting multiple projects đHow it works Runs daily at 17:15 - Set it and forget it. Executes every afternoon, giving teams time to prepare. Fetches Tomorrow's Approved Leaves from Odoo - Pulls all leave records with tomorrow's start date and "approved" status. Maps Employee & Project Data - Grabs the employee's details and identifies every Redmine project they're assigned to. Finds All Teammates on the Same Projects - Deduplicates across overlapping projects to avoid notification spam. Sends Targeted Slack Notifications - Only notifies people who actually work with the absent member, plus optional manager alerts. đQuick setup Before you start, youâll need: Odoo API key Redmine API key Slack Bot Token (or Incoming Webhook URL) Subflows need to be created within a new flow; the main flow will call these subflows. đResults What changes immediately: Zero surprises - teams know absences 24 hours ahead Workload rebalancing happens before the person goes off Managers make proactive decisions, not reactive ones No more wasted Slack messages to irrelevant people This creates a more predictable and transparent workflow across your engineering and project teams. đTake it further Ready to supercharge it? Add: Auto-assign backup owners for critical tasks Sync absences to Google Calendar/Outlook Log notifications to a database for auditing Conditional alerts (key roles, high-priority projects only) Daily summary digest of all upcoming absences đNeed help customizing? Contact me for consulting and support: Linkedin / Website
by Jitesh Dugar
Title Hackathon Participant Badge Generator with QR Code & Email Delivery Description A fast, reliable, and fully automated workflow that generates professional participant badges for hackathons, tech events, and workshops â complete with unique Badge ID, QR verification, PDF output, and email delivery. This workflow takes any simple registration input and transforms it into a verified, branded participant badge in under 10 seconds. What this workflow does Accepts event registrations via a POST Webhook (name, email, event, team, role). Performs input validation and disposable/fake email detection using VerifiEmail. Creates a unique Badge ID (e.g., HACK-2025-1763560499-AB3XYF). Generates a public verification URL and QR code for check-in. Builds a high-resolution badge (1056Ă816px) with event branding, logo, gradient background, and QR code. Converts the HTML badge design into a print-ready PDF using PDFMunk (htmlcsstopdf). Sends a beautiful HTML email via Gmail that includes: Inline badge preview (visible immediately) Attached PDF badge Verification URL + Badge ID Logs all badge metadata to Google Sheets for audit and check-in tracking. Returns a clean JSON success response to the caller. Use Cases Ideal for: Hackathons & tech conferences Engineering fests & competitions Workshops, meetups, bootcamps Any event requiring verified digital badges with QR check-in Key Features Real-time email verification** blocks fake/disposable registrations. QR code check-in** powered by a reliable public QR API. Fully customizable badge design** â swap logos, colors, fonts easily. Inline email preview** means participants see their badge instantly. Complete event log** stored in Google Sheets with timestamps, PDF links, and verification URLs. Extendable** (add Slack alerts, Drive uploads, role-based templates, etc.) Setup Instructions (5 Minutes) Add your credentials: VerifiEmail PDFMunk (HTML â PDF) Gmail Google Sheets Update your: Logo URL Verification domain Activate the workflow and start sending POST requests to the Webhook. Badges will be generated and emailed automatically â no manual work needed. Why this workflow is special Itâs built for speed, reliability, visual quality, and zero manual overhead. Participants receive a sleek, branded badge instantly, organizers get automated logs, and your event gets a professional identity. Perfect for teams who want enterprise-grade badge automation without writing a single line of code. Tags hackathon, badge, qr-code, pdf, email, gmail, automation, participant, event, check-in, google-sheets
by as311
This workflow generates a data driven Ideal Customer Profile (ICP) and retrieves lookalike companies in Germany from the official data source (Handelsregister). It starts by ingesting a set of base company IDs, serializes them, and sends a recommendation request to the Implisense API to fetch similar companies. When explanation mode is enabled, the workflow extracts and processes term features to create a structured keyword digest and uses an LLM to generate an ICP narrative. The pipeline outputs both a clean list of lookalike companies, enriched with CRM-ready fields, and a detailed ICP report derived from Implisense feature statistics. How it works Input â Serialization â Lookalikes â Lists/Report Setup steps 1. Data Source â Replace "Mock ICP Companies" with matched companies from the Implisense database â Ensure output has: id 2. Configure Credentials: Set up RapidAPI API credentials Get your API key here: https://implisense.com/de/contact Insert your API Token in get_lookalikes (Basic auth) 3. Configure ICP Filters â Edit "Build Recommendation Request" node â Set locationsFilter (e.g., de-be, de-by, de-nw) â Set industriesFilter (NACE codes, e.g., J62 for IT) â Set sizesFilter (MICRO, SMALL, MEDIUM, LARGE) 4. Tune Results â Adjust THRESHOLD in "Filter & Normalize Results" (default: 0.5) â Adjust MIN_BASE_COMPANIES in "Collect Base Companies" (default: 3) â Adjust size parameter in "Configuration" URL (default: 100) 5. CRM Integration â Map fields in "list_of_companies" to match your CRM schema â Add CRM upsert node after "list_of_companies" â Use implisense-ID or domain as unique identifier Additional advice Strengthen Base Company Quality Use only highly representative base companies located in Germany that strongly match the intended ICP segment. Templates with dozens of mixed or heterogeneous IDs dilute the statistical signal in the /recommend endpoint and reduce relevance. Refine Filters Aggressively Limit recommendations by state, region, NACE code, or size class. Implisense returns cleaner results when the recommendation space is constrained. Removing unnecessary geography broadens noise. Increase the Size Parameter Raise the size parameter when building the request to give the ranking model more candidates. This materially improves downstream sorting and selection.
by Christine
Whoâs it for This workflow is designed for creators, researchers, and operators who need to transcribe large volumes of video content stored in Google Drive. It is especially useful for users working with TikTok archives, interview recordings, or social media datasets where manual transcription would be time-consuming and expensive. How it works / What it does This workflow automatically processes videos from a designated Google Drive folder, transcribes each file using Google Gemini, and saves the results as individual text files. Each video is handled independently: Videos are pulled from an âIncomingâ folder The file is downloaded and sent to Gemini for transcription A .txt transcript file is created in a separate folder The original video is moved to a âProcessedâ folder after success This structure ensures progress is saved continuously, allowing the workflow to resume where it left off if interrupted. How to set up Create three Google Drive folders: Incoming (source videos) Processed (completed videos) Transcripts (output files) Add your folder IDs to the Config node Connect your Google Drive and Gemini credentials Run the workflow using the Manual Trigger (or Schedule Trigger for automation) Requirements n8n instance (cloud or self-hosted) Google Drive API credentials Google Gemini API access Video files stored in Google Drive How to customize the workflow Adjust the transcription prompt in the Config node for different output styles Modify the Wait node to control processing speed and avoid rate limits Change file naming conventions in the formatting node Add logging or notifications for failed transcriptions Extend the workflow to combine transcripts into a single master document