by Amit Mehta
How it Works This workflow fetches top news headlines every 10 minutes from NewsAPI, summarizes them using OpenAI's GPT-4o model, and sends a concise email digest to a list of recipients defined in a Google Spreadsheet. It's ideal for anyone who wants to stay updated with the latest news in a short, digestible format. ๐ฏ Use Case Professionals who want summarized daily news Newsletters or internal communication updates Teams that require contextual summaries of the latest events Setup Instructions 1. Upload the Spreadsheet File name: Emails Column: Email with recipient addresses 2. Configure Google Sheets Nodes Connect your Google account to: Email List Send Email 3. Add API Credentials NewsAPI Key** โ for fetching top headlines OpenAI API Key** โ for summarizing headlines Gmail Account** โ for sending the email digest 4. Activate the Workflow Once active, the workflow runs every 10 minutes via a cron trigger Summarized news is sent to the list of emails in the spreadsheet ๐ Workflow Logic Trigger: Every 10 minutes via Cron Fetch News: HTTP request to NewsAPI for top headlines Summarize: Headlines are passed to OpenAI's GPT-4o for 5-bullet summary Read Recipients: Google Sheet is used to collect email recipients Send Email: Summary is formatted and sent via Gmail ๐งฉ Node Descriptions | Node Name | Description | |-----------|-------------| | Cron | Triggers the workflow every 10 minutes. | | HTTP Request - NewsAPI | Fetches top news headlines using NewsAPI. | | Set | Formats or structures raw news data before processing. | | AI Agent | Summarizes the news content using OpenAI into 5 bullet points. | | Email List | Reads recipient email addresses from the 'Emails' Google Spreadsheet. | | Send Email | Sends the email digest to all recipients using Gmail. | ๐ ๏ธ Customization Tips Modify the AI prompt for tone, length, or content type Send summaries to Slack, Telegram, or Notion instead of Gmail Adjust cron interval for more/less frequent updates Change email formatting (HTML vs plain text) ๐ Required Files | File Name | Purpose | |-----------|---------| | Emails spreadsheet | Google Sheet containing the list of email recipients | | daily_news.json | Main n8n workflow file to automate daily news digest | ๐งช Testing Tips Add 1โ2 test email addresses in your spreadsheet Temporarily change the Cron node to run every minute for testing Check email inbox for delivery and formatting Inspect the execution logs for API errors or formatting issues ๐ท Suggested Tags & Categories #News #OpenAI #Automation #Email #Digest #Marketing
by Alex Kim
Automate Video Creation with Luma AI Dream Machine and Airtable (Part 1) Description This workflow automates video creation using Luma AI Dream Machine and n8n. It generates dynamic videos based on custom prompts, random camera motion, and predefined settings, then stores the video and thumbnail URLs in Airtable for easy access and tracking. This automation makes it easy to create high-quality videos at scale with minimal effort. ๐ Airtable Base Template ๐ฅ Tutorial Video Setup 1. Luma AI Setup Create an account with Luma AI. Generate an API key from Luma AI for authentication. Ensure the API key has permission to create and manage video requests. 2. Airtable Setup Create an Airtable base with the following fields: Generation ID** โ To match incoming webhook data. Status** โ Workflow status (e.g., "Done"). Video URL** โ Stores the generated video URL. Thumbnail URL** โ Stores the thumbnail URL. Prompt** โ The video prompt used in the request. Aspect Ratio** โ Defines the video format (e.g., 9:16). Duration** โ Length of the video. ๐ Use the Airtable template linked above to simplify setup. 3. n8n Setup Install n8n (local or cloud). Set up Luma AI and Airtable credentials in n8n. Import the workflow and customize the settings based on your needs. How It Works 1. Global Settings Configuration The Set node defines key settings such as: Prompt** โ Example: "A crocheted parrot in a crocheted pirate outfit swinging on a crocheted perch." Aspect Ratio** โ Example: "9:16" Loop** โ Example: "true" Duration** โ Example: "5 seconds" Cluster ID** โ Used to group related videos for easy tracking. Callback URL** - Used for the Webhook workflow in Part 2 2. Random Camera Motion The Code node randomly selects a camera motion (e.g., Zoom In, Pan Left, Crane Up) to create dynamic and visually engaging videos. 3. API Request to Luma AI The HTTP Request node sends a POST request to Luma AIโs API with the following parameters: Prompt โ Uses the defined global settings. Aspect Ratio โ Matches the target platform (e.g., TikTok or YouTube). Duration โ Length of the video. Loop โ Determines if the video should loop. Callback URL โ Sends a POST response when the video is complete. 4. Capture API Response Luma AI sends a POST response to the callback URL once video generation is complete. The response includes: Video URL โ Direct link to the video. Thumbnail URL โ Link to the video thumbnail. Generation ID โ Used to match the record in Airtable. 5. Store in Airtable The Airtable node updates the record with the video and thumbnail URLs. Generation ID** is crucial for matching future webhook responses to the correct video record. Why This Workflow is Useful โ Automates high-quality video creation โ Reduces manual effort by handling prompt generation and API calls โ Random camera motion makes videos more dynamic โ Ensures organized tracking with Airtable โ Scalable โ Ideal for automating large-scale content creation Next Steps Part 2** โ Handling webhook responses and updating Airtable automatically. Future Enhancements** โ Adding more camera motions, multi-platform support, and automated video editing.
by Easy8.ai
This workflow sends an automatic daily summary of your Microsoft Outlook calendar events into a Microsoft Teams channel. Perfect for team visibility or personal reminders. This automation is ideal for team leads, project managers, and remote workers who need to keep stakeholders informed of scheduled events without manual effort. It saves time, ensures consistent communication, and reduces the chance of missing important meetings. How it works Scheduled Trigger The workflow runs automatically every midnight (00:00 UTC). Create filter for "TODAY" value (Code Node) The code node generates the date value for "today" Calculates UTC start and end of the current day Builds a Microsoft Graph-compatible filter string Microsoft Outlook Node: Get Todayโs Events Resource : Event Operation : Get Many Uses {{ $json.filter }}, which is generated from today's date, to retrieve only relevant entries Format Events as HTML (Code Node) Code node transforms each event into a formatted HTML message Meeting Time: 2025-07-08T10:00:00Z Subject: Weekly Sync Summary: Discuss project milestones and blockers. Microsoft Teams Node: Send Summary Message Chat Message | Create | Selected Channel | HTML content Uses the htmlMessage field from the previous node as the message body How to Use Import the Workflow Load the .json file into your n8n instance via โImport from Fileโ or directly via the workflow UI. Set Up Credentials Go to Credentials in n8n. Add or configure your Microsoft Outlook OAuth2 API credential. Add or configure your Microsoft Teams OAuth2 API credential. Assign these credentials to the corresponding nodes in the workflow. Adjust Timezone and Schedule Edit the Schedule Trigger node to reflect your local timezone or preferred time. Configure the Microsoft Outlook Node Ensure the correct Outlook calendar is targeted. Confirm the Get Many node includes this expression in the filter field: {{ $json.filter }} Customize the HTML Output (Optional) Open the โFormat Eventsโ Code node to: Add new fields like Location, Organizer, or Attendees. Adjust date formatting to local time if needed. Target the Correct Teams Channel Open the Microsoft Teams node, select the team and channel where messages should be posted. Message type must be set to HTML if sending formatted content. Test the Workflow Run it manually to verify: Events are fetched correctly. The message is well-formatted and appears in the correct Teams channel. If you see no events, double-check the date filter logic or ensure events exist for today. Example Use Cases Team Syncs**: Automatically notify your project channel every morning with today's meetings. Remote Work**: Help remote teams stay aligned on shared calendars. Personal Assistant**: Keep track of your own dayโs agenda with an automatic Teams message. Requirements Microsoft Outlook** Account must have permission to access calendar events via Graph API. OAuth2 credential must be configured in n8n Credential Manager. Microsoft Teams** Requires permission to post messages to specific channels. OAuth2 credential must be configured and authorized.
by Yaron Been
Automated workflow that transforms BuiltWith technology data into actionable sales leads in Trello, creating a visual sales pipeline. ๐ What It Does Converts tech stack data into Trello cards Organizes leads by technology stack Tracks sales pipeline stages Enables team collaboration Updates automatically ๐ฏ Perfect For Sales teams Business development Account executives Tech startups Digital agencies โ๏ธ Key Benefits โ Visual sales pipeline โ Easy lead qualification โ Team collaboration โ Technology-based filtering โ Automated data entry ๐ง What You Need BuiltWith API access Trello account n8n instance Google account (for authentication) ๐ Data Mapped to Trello Company details Technology stack Contact information Website metrics Custom labels ๐ ๏ธ Setup & Support Quick Setup Start in 20 minutes with our step-by-step guide ๐บ Watch Tutorial ๐ผ Get Expert Support ๐ง Direct Help Turn technology intelligence into sales opportunities with automated lead management.
by Yar Malik (Asfandyar)
How it works Trigger: Listens for an incoming chat message Copy Assistant: Feeds the message (plus memory) into an OpenAI Chat Model and exposes two โtoolsโ Cold Email Writer Tool Sales Letter Toolโข Tool execution: Depending on the userโs intent, the appropriate tool generates the copy โข Save output: Writes the generated email or sales letter into your target document via the Update a document node Set up steps โข Configure your OpenAI Chat Model credentials in n8n (no hard-coded keys!) โข Add and authenticate the Simple Memory credential (to keep context across messages) โข Create Google Docs (or MS Word) credentials for the Update a document node โข Ensure your Chat trigger is pointing at your incoming-message endpoint โข Mandatory: Drop sticky-note annotations on each tool node explaining where to enter API keys and how to tweak prompts Once everythingโs wired up, send a test chat message like โWrite me a cold email for a fintech startupโ and watch the workflow spin up a polished draft in your document. How to use Import the workflow JSON into n8n. Configure your Chat trigger (webhook or form) to receive incoming messages. Send a chat prompt like: โWrite me a cold email for a B2B SaaS offering.โ The โCopy Assistantโ custom GPT picks the right tool (Cold Email or Sales Letter). Generated copy is written directly into your linked Google Doc or Word document. Requirements OpenAI API Key (with Chat Completions & Custom GPTs enabled) Custom Assistant created in your ChatGPT dashboard (Assistant ID pasted into the Chat Model node) n8n instance (Cloud or self-hosted) with credentials set up for: Simple Memory (to persist context) Google Docs or Microsoft Word (for document output) Customising this workflow Tweak system and user prompts inside the Copy Assistant node to fit your brand voice. Swap in Slack, Teams or email nodes instead of a document writer to deliver copy where you need it. Add or remove tools (e.g., โFollow-up Email Writerโ) by duplicating the existing tool pattern. Use sticky-note annotations on every node to explain where to enter API keys, Assistant IDs, or prompt tweaks.
by Halfbit ๐
Jura Coffee Counter: Webhook API & Google Sheets Logger โ๏ธ Track how many coffees your Jura E8 espresso machine makes โ fully automated via webhook and Google Sheets. This workflow exposes a custom API endpoint that can be called by smart devices, such as an ESP8266 or ESP32 reading data from a Jura E8 coffee machine via Bluetooth Low Energy (BLE). The incoming data (including total coffee count) is timestamped and appended to a Google Sheet, making it easy to visualize or analyze your machine usage. โ Originally built for a Jura E8, based on AlexxIT/Jura reverse-engineering project. > ๐ This workflow uses Google Sheets as a logging backend. You can easily switch it to Airtable, Notion, or a database of your choice. Live example available at: https://halfbitstudio.com/o-nas/ > ๐ฅ๏ธ In our setup, this workflow is used to provide real-time coffee consumption stats displayed directly on our website. > ๐ Some Jura machines require an accessory Bluetooth transmitter to enable connectivity. Communication is based on the Bluetooth Low Energy (BLE) protocol. Use Case Tracking usage of a Jura coffee machine Logging IoT sensor data into Google Sheets Creating dashboards for daily consumption Smart office setups with coffee stats! Features โ๏ธ Two Webhook endpoints: POST /{{WEBHOOK_POST_PATH}} โ receives JSON from ESP (coffee machine reader) GET /{{WEBHOOK_GET_PATH}} โ returns latest records as JSON ๐ Timestamping via Date & Time node ๐น Coffee counter extraction from incoming JSON ๐งพ Appends structured rows to Google Sheets ๐ค Webhook response for external status or dashboards Setup Instructions Jura Coffee Machine Integration (Hardware) Use an ESP device (e.g. ESP8266 or ESP32) to connect to the Jura E8 via Bluetooth Low Energy (BLE). Send POST requests with JSON payload: { "total_coffees": 123 } Reverse-engineered protocol reference: AlexxIT/Jura Google Sheets Configuration Create a new Google Sheet with column headers like: date | time | coffee counter Connect your Google account in n8n and authorize access to this sheet. Replace the documentId and sheetName fields in the Google Sheets nodes: Use full URL to your spreadsheet Use the actual sheet name (e.g. Sheet1) Environment Variables & Placeholders | Placeholder | Description | | ------------------------ | ----------------------------------------------- | | {{WEBHOOK_POST_PATH}} | Endpoint to receive coffee counter data | | {{WEBHOOK_GET_PATH}} | Endpoint to return latest data (for dashboards) | | {{SHEET_ID}} | Google Spreadsheet ID | | {{GOOGLE_CREDENTIALS}} | OAuth2 credentials for Google Sheets | | {{DATA_COLUMNS}} | Column names in the target sheet | Testing the Workflow Send test request: Use Postman or ESP to send a POST request to /{{WEBHOOK_POST_PATH}} Body should include total_coffees value Check Google Sheet: Open your sheet and verify that a new row was appended Test GET endpoint: Access the second webhook URL (e.g. /{{WEBHOOK_GET_PATH}}) in browser or fetch via API Optional: Use Respond to Webhook output in a dashboard or frontend Customization Tips Sheet format**: Add more columns if you want to track additional data (e.g. machine temperature, errors) Output format**: Replace Google Sheets with any other storage (e.g. MySQL, Notion) Auth layer**: Add basic auth or token verification if needed for public exposure Notifications**: Send alerts to Discord/Slack when reaching thresholds (e.g. 200 coffees brewed) Tags: google-sheets, iot, webhook, jura, coffee, api, automation
by Yang
๐งพ What this workflow does This workflow turns YouTube video links into ready-to-edit newsletter drafts using Dumpling AI and GPT-4o. It reads new video URLs from a Google Sheet, extracts their transcripts, summarizes them into email-friendly content, and logs the finished draft back into the same sheet. An email notification is also sent to alert the user once each draft is created. ๐ค Who is this for Newsletter writers or marketers repurposing video content YouTube creators building email follow-ups from videos Agencies or VAs batching social โ email content Automation users streamlining content workflows โ๏ธ How to set up โ Requirements Google Sheet** with the following columns: link โ YouTube video URL blog post โ for saving the generated newsletter draft Active accounts for: Dumpling AI (API for YouTube transcripts) OpenAI GPT-4 or GPT-4o Google Sheets Gmail (OAuth2 credential) ๐ง Setup steps Connect all credentials using n8n's Credential Manager: Google Sheets (OAuth2) Dumpling AI (via HTTP Header Auth) OpenAI Gmail Update the sheet ID and tab name in both Google Sheets nodes. Customize the GPT-4o prompt (optional): Located in the โGPT-4o: Write Newsletter Draft from Transcriptโ node You can edit tone, structure, and audience targeting in the system message Verify email recipient in the Gmail node and update if needed. ๐ง How it works The workflow is triggered manually or on schedule. It pulls YouTube links without drafts from the sheet. Each videoโs transcript is fetched using Dumpling AI. GPT-4o summarizes the transcript into a clean, friendly newsletter format. The draft is written back to the same row in Google Sheets. An email is sent to notify the user that the draft is ready. ๐ ๏ธ Customization ideas Send finished drafts to Notion or Airtable instead of Sheets Generate social media posts from the same transcript Add automatic review steps using GPT scoring or editing Trigger this on new form submissions or YouTube uploads instead This is a fast, AI-powered way to turn long-form video content into clean, polished newsletters โ ready to share or schedule with minimal editing.
by Abhishek Patoliya
This powerful n8n automation sends you daily weather updates directly to your Telegram chat using live data from OpenWeatherMap. It supports automatic daily updates and manual lookups via form input. โ Prerequisites Before you begin, make sure you have: A working n8n instance (v1.0 or later recommended). An account with OpenWeatherMap (free plan is sufficient). A Telegram Bot created via @BotFather. Your Telegram user ID or chat ID. ๐ API & Bot Setup ๐งฉ OpenWeatherMap API Go to https://openweathermap.org/api Sign up and verify your account. Navigate to API Keys in your account dashboard. Copy your API key (used later in the HTTP Request node). ๐ค Telegram Bot Open @BotFather in Telegram. Run /newbot and follow the prompts: Choose a name and username for your bot. Youโll get a bot token (copy this). Start a chat with your new bot to activate it. To get your Telegram User ID, use @userinfobot or an n8n Telegram Trigger node. ๐ Trigger Options โฐ Schedule Trigger (Automatic) Runs daily at 8:00 AM IST. Ideal for consistent, passive updates. ๐ Form Trigger (Manual) Input ๐ City and ๐ Country manually. Instantly receive weather info in Telegram. ๐ง How the Flow Works Trigger Activated (Scheduled or Form) City & Country fetched (default or from form) HTTP Request sent to OpenWeatherMap with API key Weather Data Parsed & Formatted: ๐ Current Date ๐ City & Country ๐ค๏ธ Weather Description ๐ก๏ธ Temperature (ยฐC) ๐ง Humidity (%) ๐ฌ๏ธ Wind Speed (m/s) ๐ผ Atmospheric Pressure ๐ Sunrise Time (IST) ๐ Sunset Time (IST) Message Sent to Telegram ๐งฐ Nodes Used Schedule Trigger** โ Runs every day at 8:00 AM IST Form Trigger** โ Accepts user input Set Node** โ Default city/country values and date formatting HTTP Request** โ Calls OpenWeatherMap API Function Node** โ Converts timestamps to IST Telegram Node** โ Sends formatted weather message ๐ฆ Example Telegram Output ๐ Wednesday, 10 July 2025 ๐ค Weather in Mumbai, IN: Condition: Clear sky Temperature: 30ยฐC ๐ง Humidity: 70% ๐ฌ Wind Speed: 3 m/s ๐ผ Pressure: 1013 hPa ๐ Sunrise: 5:57:12 AM ๐ Sunset: 6:53:45 PM ๐ ๏ธ Customization Tips ๐๏ธ Change Default City/Country Locate the Set Node (used before the API call). Replace "Mumbai" and "IN" with your preferred location. Or connect the Form Trigger input to allow dynamic values. ๐ Change Schedule Time Open the Schedule Trigger node. Adjust to your preferred time zone and daily timing (e.g., 7 AM IST). ๐งช Add Extra Data OpenWeatherMap returns more fields like visibility, UV index, etc. You can include these in your Telegram message via the Function Node and Set Node.
by Yaron Been
Automated monitoring system that sends instant alerts when target companies make technology changes, delivered directly to your inbox or Slack. ๐ What It Does Monitors technology stack changes Sends real-time email alerts Posts updates to Slack Tracks historical changes Filters by technology type ๐ฏ Perfect For Sales teams IT departments Competitive intelligence Technology vendors Market researchers โ๏ธ Key Benefits โ Instant technology change alerts โ Multiple notification channels โ Historical tracking โ Customizable filters โ Team collaboration ๐ง What You Need BuiltWith API access Email service (SMTP/SendGrid) Slack workspace (optional) n8n instance ๐ Alerts Include Company name Technology changes Timestamp Impact assessment Direct links ๐ ๏ธ Setup & Support Quick Setup Get alerts in 15 minutes with our step-by-step guide ๐บ Watch Tutorial ๐ผ Get Expert Support ๐ง Direct Help Stay informed about technology changes that matter to your business with automated monitoring alerts and notifications.
by Dariusz Koryto
FTP to Google Drive Transfer Template What This Template Does This workflow automatically transfers files from an FTP server to Google Drive. It's perfect for: Backing up files from remote servers Migrating data from FTP to cloud storage Automating file synchronization tasks Creating scheduled backups of server content How It Works The workflow follows these steps: Manual Trigger - You start the process by clicking "Execute" Lists FTP Directory - Scans the specified FTP folder for all items Filters Files Only - Separates actual files from directories (folders) Downloads Files - Retrieves each file as binary data from the FTP server Uploads to Google Drive - Stores all downloaded files in your specified Google Drive folder Requirements Before using this template, you'll need: FTP Server Access**: Server address, username, and password Google Drive Account**: With OAuth2 authentication set up in n8n n8n Instance**: Self-hosted or cloud version Setup Instructions Step 1: Configure FTP Credentials In n8n, go to Settings โ Credentials Create a new FTP credential Enter your FTP server details: Host: Your FTP server address Port: Usually 21 for FTP Username: Your FTP username Password: Your FTP password Test the connection and save Step 2: Set Up Google Drive Authentication Create a new Google Drive OAuth2 credential Follow n8n's Google Drive setup guide: Create a Google Cloud project Enable Google Drive API Create OAuth2 credentials Add your n8n callback URL Authorize the connection in n8n Step 3: Configure the Workflow Update FTP Path: Open the "List FTP Directory" node Change the path parameter from /_instalki to your desired FTP folder Set Google Drive Folder: Open the "Upload to Google Drive" node Replace the folderId with your target Google Drive folder ID To find folder ID: Open the folder in Google Drive and copy the ID from the URL Assign Credentials: Ensure both FTP nodes use your FTP credential Assign your Google Drive credential to the upload node How to Use Test First: Run the workflow manually with a few test files Monitor Execution: Check the execution log for any errors Verify Upload: Confirm files appear in your Google Drive folder Schedule (Optional): Add a schedule trigger if you want automatic runs Customization Options Filter Specific File Types Add a condition after "Filter Files Only" to process only certain file extensions: {{ $json.name.endsWith('.pdf') || $json.name.endsWith('.jpg') }} Add Error Handling Insert error-handling nodes to manage failed downloads or uploads gracefully. Organize by Date Modify the Google Drive upload to create date-based folders automatically. File Size Limits Add checks for file size before attempting upload (Google Drive has limits). Troubleshooting Common Issues: FTP Connection Failed**: Check server address, port, and credentials Google Drive Upload Error**: Verify OAuth2 setup and folder permissions Files Not Found**: Ensure the FTP path exists and contains files Large Files**: Consider Google Drive's file size limitations (15GB for free accounts) Tips: Test with small files first Check n8n execution logs for detailed error messages Ensure your Google Drive has sufficient storage space Verify FTP server allows multiple concurrent connections Security Notes Never hardcode credentials in the workflow Use n8n's credential system for all authentication Consider using SFTP instead of FTP for better security Regularly rotate your FTP passwords Review Google Drive sharing permissions Next Steps Once you have this basic transfer working, you might want to: Add email notifications for successful/failed transfers Implement file deduplication checks Create logs of transferred files Set up automatic cleanup of old files Add file compression before upload
by Roshan Ramani
Overview An intelligent automation workflow that monitors your Gmail inbox and sends AI-powered summaries of important emails directly to your Telegram chat. Perfect for staying updated on critical communications without constantly checking your email. ๐ Key Features Real-time Email Monitoring**: Checks Gmail every minute for new emails Smart Content Filtering**: Only processes emails containing important keywords AI-Powered Summarization**: Uses GPT-4o-mini to create concise, human-readable summaries Instant Telegram Notifications**: Delivers summaries directly to your preferred Telegram chat Customizable Keywords**: Easily modify filters to match your specific needs ๐ง How It Works Workflow Steps: Email Trigger: Continuously monitors your Gmail inbox for new messages Smart Filter: Analyzes email subject and body for important keywords (sales, jobs, etc.) AI Processing: Sends relevant emails to OpenAI for intelligent summarization Telegram Delivery: Sends formatted summary to your Telegram chat Sample Output: ๐ฆ Your Flipkart order "Bluetooth Speaker" was delivered today. Enjoy! ๐ฐ Invoice from AWS for $23.50 is due by July 20. Check billing portal. โ HR shared your July payslip. No action needed unless there's an error. ๐ Setup Requirements Gmail account with OAuth2 credentials OpenAI API key Telegram bot token and chat ID N8N instance (cloud or self-hosted) ๐ Use Cases Business Alerts**: Payment due notices, invoice reminders E-commerce**: Order confirmations, delivery updates HR Communications**: Payslips, policy updates, announcements Security**: Login alerts, security notifications Job Hunting**: Application responses, interview invitations โ๏ธ Customization Options Keyword Filters**: Add/remove keywords in the filter node (invoice, payment, security, delivery, etc.) AI Prompt**: Modify the summarization style and format Polling Frequency**: Adjust email checking interval Multiple Chats**: Send to different Telegram chats based on email type ๐ Privacy & Security Processes emails locally through n8n No email content stored permanently Uses secure OAuth2 authentication Respects Gmail API rate limits ๐ Performance Lightweight and efficient Minimal resource usage Fast AI processing with GPT-4o-mini Reliable Telegram delivery ๐ก Pro Tips Start with broad keywords and refine based on results Use multiple condition branches for different email types Set up different Telegram chats for work vs personal emails Monitor your OpenAI usage to avoid unexpected costs
by Adrian Bent
This workflow takes two inputs, YouTube video URL (required) and a description of what information to extract from the video. If the description/"what you want" field is left empty, the default prompt will generate a detailed summary and description of the video's contents. However, you can ask for something more specific using this field/input. ++ Don't forget to make the workflow Active and use the production URL from the form node. Benefits Instant Summary Generation - Convert hours of watching YouTube videos to familiar, structured paragraphs and sentences in less than a minute Live Integration - Generate a summary or extract information on the contents of a YouTube video whenever, wherever Virtually Complete Automation - All that needs to be done is to add the video URL and describe what you want to know from the video Presentation - You can ask for a specific structure or tone to better help you understand or study the contents of the video How It Works Smart Form Interface: Simple N8N form captures video URL and description of what's to be extracted Designed for rapid and repeated completion anywhere and anytime Description Check: Uses JavaScript to determine if the description was filled in or left empty If the description field was left empty, the default prompt is, "Please be as descriptive as possible about the contents being spoken of in this video after giving a detailed summary." If the description field is filled, then the filled input will be used to describe what information to extract from the video HTTP Request: We're using Gemini API, specifically the video understanding endpoint We make a post HTTP request passing the video URL and the description of what information to extract Setup Instructions: HTTP Request Setup: Sign up for a Google Cloud account, join the Developer Program and get your Gemini API key Get curl for Gemini Video Understanding API The video understanding relies on the inputs from the form, code and HTTP request node, so correct mapping is essential for the workflow to function correctly. Feel free to reach out for additional help or clarification at my Gmail: terflix45@gmail.com, and I'll get back to you as soon as I can. Setup Steps: Code Node Setup: The code node is used as a filter to ensure a description prompt is always passed on. Use the JavaScript code below for that effect: // Loop over input items and add a new field called 'myNewField' to the JSON of each one for (const item of $input.all()) { item.json.myNewField = 1; if ($input.first().json['What u want?'].trim() == "") { $input.first().json['What do you want?'] = "Please be as descriptive as possible about the contents being spoken of this video after giving a detailed summary"; } } return $input.all(); // End of Code HTTP Request: To use Gemini Video Understanding, you'll need your Gemini API key Go to https://ai.google.dev/gemini-api/docs/video-understanding#youtube. This link will take you directly to the snippet. Just select REST programming language, copy that curl command, then paste it into the HTTP Request node Replace "Please summarize the video in 3 sentences." with the code node's output, which should either be the default description or the one entered by the user (second output field variable) Replace "https://www.youtube.com/watch?v=9hE5-98ZeCg" with the n8n form node's first output field, which should be the YouTube video URL variable Replace $GEMINI_API_KEY with your API key Redirect: Use n8n form node, page type "Final Ending" to redirect user to the initial n8n form for another analysis or preferred destination