Back to Integrations
integrationS3 node
integrationTelegram node

S3 and Telegram integration

Save yourself the work of writing custom integrations for S3 and Telegram and use n8n instead. Build adaptable and scalable Development, Data & Storage, Communication, and HITL workflows that work with your technology stack. All within a building experience you will love.

How to connect S3 and Telegram

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

S3 and Telegram integration: Create a new workflow and add the first step

Step 2: Add and configure S3 and Telegram nodes

You can find S3 and Telegram in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure S3 and Telegram nodes one by one: input data on the left, parameters in the middle, and output data on the right.

S3 and Telegram integration: Add and configure S3 and Telegram nodes

Step 3: Connect S3 and Telegram

A connection establishes a link between S3 and Telegram (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

S3 and Telegram integration: Connect S3 and Telegram

Step 4: Customize and extend your S3 and Telegram integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect S3 and Telegram with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

S3 and Telegram integration: Customize and extend your S3 and Telegram integration

Step 5: Test and activate your S3 and Telegram workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from S3 to Telegram or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

S3 and Telegram integration: Test and activate your S3 and Telegram workflow

Auto-cleanup of Cloudflare R2 files older than 2 weeks (+ Telegram notifications)

This workflow automatically connects to a Cloudflare R2 bucket (via S3-compatible API), filters out files older than 14 days, deletes them, and then sends a Telegram notification for each deletion. It runs on a daily schedule.

🕘 Schedule Trigger
Executes the workflow once a day at a specified hour (e.g., 9 AM).

📦 S3 Node – List Files
Retrieves all objects from a specific folder (prefix) in a Cloudflare R2 bucket using the S3 API.

🔎 Code Node – Filter Files Older Than 2 Weeks
Filters the retrieved files by comparing their LastModified timestamps to the current date. Files older than 14 days (2 weeks) are selected for deletion.

🗑️ S3 Node – Delete File
Deletes each filtered file from the R2 bucket.

📨 Telegram Node – Notify Deletion
Sends a Telegram message with the name of the deleted file to a specified chat ID. The message includes:

Nodes used in this workflow

Popular S3 and Telegram workflows

⚡ Text → Viral Shorts | AI Video Studio in Telegram /w Setup Video

🎬 AI Video Studio Bot - Telegram to YouTube Shorts, TikTok and Instagram Reels Automation Transform text into viral shorts — all from your phone 📱✨ 🎥 Watch It In Action 🔗 Full Demo: youtu.be/OI_oJ_2F1O0 🚀 What This Workflow Does Imagine having a full-stack AI video production studio in your pocket — no editing software, no dashboard hopping, no prompt engineering. Just pure creation magic through Telegram. This n8n workflow transforms Telegram into your personal AI video factory that: Your Message → AI Magic → Viral Short → Auto-Published ⏱️ 30 seconds 🎬 2-5 minutes 📤 Done! The Complete Pipeline: 📱 Message Telegram Bot - Send text, image, or voice memo 🤖 AI Prompt Generation - GPT-4 crafts perfect video prompts 🎬 Video Creation - Veo 3, Sora 2, or Seedance generates your short 📤 Auto-Upload - Instantly publishes to YouTube Shorts 🔁 Extend & Iterate - One-tap video extension (Veo only) No manual work. No technical skills. No limits. 💡 Why This Changes Everything | Traditional Way | This Workflow | |----------------|---------------| | ❌ Open 5+ platforms | ✅ One Telegram chat | | ❌ 30 min per video | ✅ 5 min per video | | ❌ Complex prompts needed | ✅ AI writes prompts for you | | ❌ Manual uploads | ✅ Auto-publishes everywhere | | ❌ Desktop only | ✅ Works from your phone | Result: Create 10+ YouTube Shorts during your lunch break 🚀 🎨 Video Styles - Choose Your Vibe Control everything with simple Telegram commands: | Command | Style | Perfect For | |---------|-------|------------| | /general | 🎭 Creative Shorts | Product demos, hooks, viral content | | /lost | 👻 Found Footage | Mystery, horror, urban exploration | | /3d | 🎮 3D Objects | Talking products, explainers, memes | | /story | 📖 Emotional Stories | Multi-scene narratives, brand stories | No command? AI intelligently picks the best style for your message. 🤖 AI Models - Pick Your Engine Choose your video generation model right from Telegram: Veo 3 / Veo 3 Fast ⚡ Best for: Quick iterations, realistic scenes Speed: 2-3 minutes Unique: Video extension support Sora 2 🎬 Best for: Cinematic quality, long sequences Speed: 4-5 minutes Unique: Best motion consistency Seedance 1.5 Pro 🌊 Best for: Artistic effects, fluid motion Speed: 3-4 minutes Unique: Stylized aesthetics Select directly in-chat with interactive buttons! ⚡ Power Features 🎯 Smart Video Generation AI analyzes your message intent Generates optimal prompts automatically Adapts to text, images, or voice input 📤 Auto-Publishing Pipeline Uploads to YouTube Shorts instantly AI-generated titles, descriptions, tags SEO-optimized for maximum reach 🔄 Extend & Refine One-tap video extension (Veo only) Keep the vibe, extend the story No re-generation needed 💳 Credit Management Real-time credit checking Prevents failed generations Session-based tracking with Redis 🔔 Status Monitoring Real-time generation updates Webhook polling for long jobs Graceful error handling & cancellation 🗂️ Session Storage Redis-powered state management Resume interrupted workflows Track generation history 🎪 Perfect For | Creator Type | Use Case | |-------------|----------| | 🎥 Faceless Channels | Generate endless Shorts without showing face | | 🏢 Agencies | Scale content production 10x for clients | | 📱 Solo Creators | Daily Shorts from your phone, no laptop needed | | 🤖 AI Farms | Automate content pipelines end-to-end | | 🧪 Experimenters | Rapid prototyping of video ideas | | 📊 Marketers | A/B test video concepts at scale | 🛠️ Tech Stack Telegram Bot API → User interface OpenAI GPT-4 → Prompt generation KIE.ai → Video generation (Veo/Sora/Seedance) YouTube Data API → Auto-publishing Redis → Session & state management S3-compatible → Video storage n8n → Orchestration layer Requirements: ✅ Telegram Bot Token ✅ OpenAI API Key ✅ KIE.ai Account (Veo/Sora/Seedance access) ✅ YouTube OAuth Credentials ✅ Redis Instance (recommended) ✅ S3-compatible Storage ✅ n8n Instance (cloud or self-hosted) 🎬 Real-World Workflow Example You: "A golden retriever puppy discovering snow for the first time" Bot: ✨ Generating your video... 📊 Credits: 50 remaining 🎬 Using: Veo 3 Fast ⏱️ ETA: 2 minutes 2 minutes later: ✅ Your video is ready! 📺 Uploaded to YouTube Shorts 🔗 Link: youtube.com/shorts/abc123 👁️ Views: 0 → 1.2K (24 hours) [Extend Video] [Generate New] Result: Viral short created from your phone while waiting for coffee ☕ 🔧 Customization Ideas 🎨 Extend the Platform Add TikTok publishing Include Instagram Reels Add Twitter video posts Support LinkedIn video 🎙️ Alternative Inputs Replace Telegram with WhatsApp Add Discord bot interface Support Slack commands Email-to-video pipeline 🎭 Creative Variations Swap OpenAI for Claude/Gemini Add custom style presets Include watermarking steps Generate captions automatically 📊 Analytics & Tracking Log all generations to Google Sheets Track video performance metrics A/B test title/thumbnail combinations Monitor credit usage trends 📊 Success Metrics After using this workflow for 30 days: | Metric | Before | After | Improvement | |--------|--------|-------|-------------| | ⏱️ Time per video | 45 min | 5 min | 9x faster | | 📹 Videos/week | 5 | 50+ | 10x volume | | 💰 Cost per video | $15 | $2 | 7.5x cheaper | | 📱 Creation location | Desktop only | Anywhere | ∞ flexibility | | 🧠 Prompt writing | Manual | Automated | No skill needed | 🚀 Quick Start Import workflow to n8n Add credentials (Telegram, OpenAI, KIE.ai, YouTube, Redis) Configure video storage (S3) Activate workflow Message your bot and watch the magic happen Setup time: ~20 minutes First video: ~5 minutes after setup 🏷️ Tags telegram ai-video youtube-shorts automation content-creation openai veo sora seedance text-to-video social-media creator-tools faceless-channel redis s3 n8n-workflow telegram-bot video-automation shorts-generator 📜 License MIT License - Use freely, modify, share, monetize! ⚡ Stop editing. Start generating. Scale your content empire. ⚡ Created by Joe Venner | Built with ❤️ and n8n

Generate AI images via Telegram with WaveSpeed, credit system, PIX and S3

🤖 Generate images via Telegram using an AI bot with a credit system and S3 storage A complete, production-ready Telegram bot for AI-powered image generation and editing, featuring a built-in credit system, payment integration, and cloud storage. ✨ Features 🎨 AI Image Generation Text-to-Image: Generate stunning images from text prompts using the **Nano Banana Pro Ultra model via WaveSpeed API Image-to-Image Editing**: Edit existing images by sending a photo with a caption describing the desired changes Multiple Resolutions: Support for both **4K and 8K output quality Flexible Aspect Ratios**: Choose from 10 different aspect ratios (1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9) 💳 Credit Management System Per-generation billing**: Different costs for 4K vs 8K resolution Balance tracking**: Real-time credit balance displayed to users Initial credits**: New users receive starter credits automatically Insufficient balance handling**: Graceful messages when credits run out Here's the adjusted payment section: 💰 Payment Integration (Mercado Pago PIX) > About PIX: PIX is Brazil's instant payment system, launched by the Central Bank of Brazil in 2020. It allows instant money transfers 24/7, 365 days a year, using QR codes or copy-paste codes. It has become the most popular payment method in Brazil due to its speed and zero fees for individuals. This workflow includes a fully integrated PIX payment flow as a reference implementation. You can adapt it to your local payment provider. Features: Multiple deposit options**: Pre-configured credit packages (R$ 3, R$ 6, R$ 10) QR Code generation**: Automatic PIX QR code sent directly to users via Telegram Copy-paste code**: PIX code provided for manual payment Webhook confirmation**: Real-time payment status updates via Mercado Pago webhooks Auto credit top-up**: Credits added automatically upon payment approval Payment status handling**: Supports approved, pending, and rejected states > 💡 Tip: To adapt this for other regions, replace the Mercado Pago nodes with your preferred payment gateway (Stripe, PayPal, etc.) while keeping the same credit update logic. ⚙️ User Configuration Resolution settings**: Users can set their preferred default resolution Aspect ratio preferences**: Save preferred aspect ratio for future generations Custom default prompts**: Set a default prompt that's automatically appended to all generations Persistent settings**: All preferences stored in n8n Data Tables 📦 Cloud Storage (S3/MinIO) Automatic upload**: Generated images are automatically uploaded to S3-compatible storage Persistent URLs**: Images remain accessible via permanent links Edit from storage**: Reference previously uploaded images for editing 🛠️ Tech Stack | Component | Technology | |-----------|------------| | Bot Platform | Telegram Bot API | | AI Generation | WaveSpeed API (Nano Banana Pro) | | Storage | S3-compatible (MinIO/AWS S3) | | Database | n8n Data Tables | | Payments | Mercado Pago PIX | | Automation | n8n | 📋 Prerequisites Before using this workflow, you'll need: Telegram Bot Token - Create a bot via @BotFather WaveSpeed API Key - Sign up at WaveSpeed S3-compatible Storage - MinIO, AWS S3, or any S3-compatible service Mercado Pago Account (optional) - For payment integration n8n Data Table - Create a table with the required schema 📊 Data Table Schema Create a Data Table with the following columns: | Column | Type | Description | |--------|------|-------------| | chat_id | String | Telegram chat ID (primary key) | | username | String | Telegram username | | status | String | Current user state in the flow | | credits | String | User's credit balance | | resolution | String | Preferred resolution (4k/8k) | | aspect_ratio | String | Preferred aspect ratio | | user_default_prompt | String | Custom default prompt | | number_images | Number | Total images generated | | number_videos | Number | Total videos generated | | demo_sended | Boolean | Welcome demo sent flag | ⚡ Quick Setup Import the workflow into your n8n instance Configure the Global Environment node with your settings: botName: Your bot's display name botToken: Your Telegram bot token dataTableId: Your n8n Data Table ID bucketName: Your S3 bucket name initialCredits: Credits given to new users generateImageCost4k: Cost per 4K image generateImageCost8k: Cost per 8K image Set up credentials: Telegram API credentials WaveSpeed API credentials S3 credentials Mercado Pago credentials (if using payments) Activate the workflow 🎮 Bot Commands | Command | Description | |---------|-------------| | /start | Initialize bot and receive welcome message | | menu | Return to main menu | | config | Open settings menu | | Any text | Generate image from prompt (when in generation mode) | | Photo + caption | Edit the photo based on the caption | 🔄 Workflow Flow User Message → Telegram Trigger → Route by Status ↓ ┌───────────────────┼───────────────────┐ ↓ ↓ ↓ New User Generate Image Edit Image ↓ ↓ ↓ Welcome Flow Check Credits Check Credits ↓ ↓ ↓ Create User Submit to WaveSpeed Upload to S3 ↓ ↓ ↓ Show Menu Poll for Result Submit Edit ↓ ↓ Download Image Poll for Result ↓ ↓ Send to User ←←←←←←←←←←←←←┘ 📝 Notes The workflow uses polling to check generation status - WaveSpeed processes may take up to 1 minute Credits are deducted when the task is submitted and refunded if generation fails All user states are managed through the Data Table for persistence across restarts 📄 License Free to use and modify. Attribution appreciated but not required.

Auto-Cleanup of Cloudflare R2 Files Older Than 2 Weeks (+ Telegram Notifications)

This workflow automatically connects to a Cloudflare R2 bucket (via S3-compatible API), filters out files older than 14 days, deletes them, and then sends a Telegram notification for each deletion. It runs on a daily schedule. 🕘 Schedule Trigger Executes the workflow once a day at a specified hour (e.g., 9 AM). 📦 S3 Node – List Files Retrieves all objects from a specific folder (prefix) in a Cloudflare R2 bucket using the S3 API. 🔎 Code Node – Filter Files Older Than 2 Weeks Filters the retrieved files by comparing their LastModified timestamps to the current date. Files older than 14 days (2 weeks) are selected for deletion. 🗑️ S3 Node – Delete File Deletes each filtered file from the R2 bucket. 📨 Telegram Node – Notify Deletion Sends a Telegram message with the name of the deleted file to a specified chat ID. The message includes:

🔄 Async Video Polling Engine - Background Job Handler for AI Video Generation

🔄 AI Video Polling Engine - Long-Running Job Handler for Veo, Sora & Seedance The async backbone that makes AI video generation production-ready ⚡🎬 🎥 See It In Action 🔗 Full Demo: youtu.be/OI_oJ_2F1O0 ⚠️ Must Read First This is a companion workflow for the main AI Shorts Generator: 🔗 Main Workflow: AI Shorts Reactor This workflow handles the "waiting game" so your main bot stays fast and responsive. Think of it as the backstage crew that handles the heavy lifting while your main workflow performs on stage. 🤔 The Problem This Solves Without This Workflow: User sends message ↓ Bot calls AI API ↓ ⏳ Bot waits 2-5 minutes... (BLOCKED) ↓ ❌ Timeout errors ❌ Execution limits exceeded ❌ Users think bot is broken ❌ Can't handle multiple requests With This Workflow: User sends message ↓ Bot calls AI API ↓ ✅ Bot responds instantly: "Video generating..." ↓ 🔄 This webhook polls in background ↓ ⚡ Main bot handles other users ↓ ✅ Video ready → Auto-sends to user Result: Your bot feels instant, scales infinitely, and never times out 🚀 🔁 What This Workflow Does This is a dedicated polling webhook that acts as the async job handler for AI video generation. It's the invisible worker that: 1️⃣ Receives the Job POST /webhook/poll-video { "sessionId": "user_123", "taskId": "veo_abc456", "model": "veo3", "attempt": 1 } 2️⃣ Responds Instantly 200 OK - "Polling started" (Main workflow never waits!) 3️⃣ Polls in Background Wait 60s → Check status → Repeat ⏱️ Waits 1 minute between checks (API-friendly) 🔄 Polls up to 15 times (~15 minutes max) 🎯 Supports Veo, Sora, and Seedance APIs 4️⃣ Detects Completion Handles multiple API response formats: // Veo format { status: "completed", videoUrl: "https://..." } // Market format (Sora/Seedance) { job: { status: "success", result: { url: "..." } } } // Legacy format { data: { video_url: "..." } } (No matter how the API responds, this workflow figures it out) 5️⃣ Delivers the Video Once ready: 📥 Downloads video from AI provider ☁️ Uploads to your S3 storage 💾 Restores user session from Redis 📱 Sends Telegram preview with buttons 🔄 Enables video extension (Veo only) 📊 Logs metadata for analytics ⚙️ Technical Architecture The Flow: Main Workflow Polling Webhook │ │ ├──[Trigger AI Job]──────────┤ │ "Task ID: abc123" │ │ │ ├──[Return Instantly] │ │ "Generating..." │ │ │ ├──[Handle New User] │ │ ├──[Wait 60s] │ │ │ ├──[Check Status] │ │ "Processing..." │ │ │ ├──[Wait 60s] │ │ │ ├──[Check Status] │ │ "Completed!" │ │ │ ├──[Download Video] │ │ │ ├──[Upload to S3] │ │ │ └──[Send to User] │ │ └──────────────────────────────────┘ "Your video is ready!" 🚀 Key Features ⚡ Non-Blocking Architecture Main workflow never waits Handle unlimited concurrent jobs Each user gets instant responses 🔄 Intelligent Polling Respects API rate limits (60s intervals) Auto-retries on transient failures Graceful timeout handling (15 attempts max) 🎯 Multi-Provider Support Handles different API formats: Veo** - record-info endpoint Sora** - Market job status Seedance** - Market job status 🛡️ Robust Error Handling ✅ Missing video URL → Retry with fallback parsers ✅ API timeout → Continue polling ✅ Invalid response → Parse alternative formats ✅ Max attempts reached → Notify user gracefully 💾 Session Management Stores state in Redis Restores full context when video is ready Supports video extension workflows Maintains user preferences 📊 Production Features Detailed logging at each step Metadata tracking (generation time, model used, etc.) S3 storage integration Telegram notifications Analytics-ready data structure 🧩 Integration Points Works Seamlessly With: | Use Case | How It Helps | |----------|--------------| | 🤖 Telegram Bots | Keeps bot responsive during 2-5 min video generation | | 📺 YouTube Automation | Polls video, then triggers auto-publish | | 🎬 Multi-Video Pipelines | Handles 10+ videos simultaneously | | 🏢 Content Agencies | Production-grade reliability for clients | | 🧪 A/B Testing | Generate multiple variations without blocking | Required Components: ✅ Main workflow that triggers video generation ✅ Redis for session storage ✅ S3-compatible storage for videos ✅ KIE.ai API credentials ✅ Telegram Bot (for notifications) 📋 How to Use Step 1: Set Up Main Workflow Import and configure the AI Shorts Reactor Step 2: Import This Webhook Add this workflow to your n8n instance Step 3: Configure Credentials KIE.ai API key Redis connection S3 storage credentials Telegram bot token Step 4: Link Workflows In your main workflow, call this webhook: // After triggering AI video generation const response = await httpRequest({ method: 'POST', url: 'YOUR_WEBHOOK_URL/poll-video', body: { sessionId: sessionId, taskId: taskId, model: 'veo3', attempt: 1 } }); Step 5: Activate & Test Activate this polling webhook Trigger a video generation from main workflow Watch it poll in background and deliver results 🎯 Real-World Example Scenario: User generates 3 videos simultaneously Without This Workflow: User A: "Generate video" → Bot: ⏳ Processing... (BLOCKED 5 min) User B: "Generate video" → Bot: ❌ Timeout (main workflow still processing User A) User C: "Generate video" → Bot: ❌ Never receives request With This Workflow: User A: "Generate video" → Bot: ✅ "Generating! Check back in 3 min" → Polling webhook handles in background User B: "Generate video" → Bot: ✅ "Generating! Check back in 3 min" → Second polling instance starts User C: "Generate video" → Bot: ✅ "Generating! Check back in 3 min" → Third polling instance starts 3 minutes later--- User A: 📹 "Your video is ready!" [Preview] [Publish] User B: 📹 "Your video is ready!" [Preview] [Publish] User C: 📹 "Your video is ready!" [Preview] [Publish] All three users served simultaneously with zero blocking! 🚀 🔧 Customization Options Adjust Polling Frequency // Default: 60 seconds // For faster testing (use credits faster): const waitTime = 30; // seconds // For more API-friendly (slower updates): const waitTime = 90; // seconds Change Timeout Limits // Default: 15 attempts (15 minutes) const maxAttempts = 20; // Increase for longer videos Add More Providers Extend to support other AI video APIs: switch(model) { case 'veo3': // Existing Veo logic case 'runway': // Add Runway ML polling case 'pika': // Add Pika Labs polling } Custom Notifications Replace Telegram with: Discord webhooks Slack messages Email notifications SMS via Twilio Push notifications 📊 Monitoring & Analytics What Gets Logged: { "sessionId": "user_123", "taskId": "veo_abc456", "model": "veo3", "status": "completed", "attempts": 7, "totalTime": "6m 32s", "videoUrl": "s3://bucket/videos/abc456.mp4", "metadata": { "duration": 5.2, "resolution": "1080x1920", "fileSize": "4.7MB" } } Track Key Metrics: ⏱️ Average generation time per model 🔄 Polling attempts before completion ❌ Failure rate by provider 💰 Cost per video (API usage) 📈 Concurrent job capacity 🚨 Troubleshooting "Video never completes" ✅ Check KIE.ai API status ✅ Verify task ID is valid ✅ Increase maxAttempts if needed ✅ Check API response format hasn't changed "Polling stops after 1 attempt" ✅ Ensure webhook URL is correct ✅ Check n8n execution limits ✅ Verify Redis connection is stable "Video downloads but doesn't send" ✅ Check Telegram bot credentials ✅ Verify S3 upload succeeded ✅ Ensure Redis session exists ✅ Check Telegram chat ID is valid "Multiple videos get mixed up" ✅ Confirm sessionId is unique per user ✅ Check Redis key collisions ✅ Verify taskId is properly passed 🏗️ Architecture Benefits Why Separate This Logic? | Aspect | Monolithic Workflow | Separated Webhook | |--------|--------------------|--------------------| | ⚡ Response Time | 2-5 minutes | <1 second | | 🔄 Concurrency | 1 job at a time | Unlimited | | 💰 Execution Costs | High (long-running) | Low (short bursts) | | 🐛 Debugging | Hard (mixed concerns) | Easy (isolated logic) | | 📈 Scalability | Poor | Excellent | | 🔧 Maintenance | Complex | Simple | 🛠️ Requirements Services Needed: ✅ n8n Instance (cloud or self-hosted) ✅ KIE.ai API (Veo, Sora, Seedance access) ✅ Redis (session storage) ✅ S3-compatible Storage (videos) ✅ Telegram Bot (optional, for notifications) Skills Required: Basic n8n knowledge Understanding of webhooks Redis basics (key-value storage) S3 upload concepts Setup Time: ~15 minutes Technical Level: Intermediate 🏷️ Tags webhook polling async-jobs long-running-tasks ai-video veo sora seedance production-ready redis s3 telegram youtube-automation content-pipeline scalability microservices n8n-webhook job-queue background-worker 💡 Best Practices Do's ✅ Keep polling interval at 60s minimum (respect API limits) Always handle timeout scenarios Log generation metadata for analytics Use unique session IDs per user Clean up Redis after job completion Don'ts ❌ Don't poll faster than 30s (risk API bans) Don't store videos in Redis (use S3) Don't skip error handling Don't use this for real-time updates (<10s) Don't forget to activate the webhook 🌟 Success Stories After Implementing This Webhook: | Metric | Before | After | |--------|--------|-------| | ⚡ Bot response time | 2-5 min | <1 sec | | 🎬 Concurrent videos | 1 | 50+ | | ❌ Timeout errors | 30% | 0% | | 😊 User satisfaction | 6/10 | 9.5/10 | | 💰 Execution costs | $50/mo | $12/mo | 🔗 Related Workflows 🎬 Main: AI Shorts Reactor - The full video generation bot 📤 YouTube Auto-Publisher - Publish completed videos 🎨 Video Style Presets - Custom prompt templates 📊 Analytics Dashboard - Track all generations 📜 License MIT License - Free to use, modify, and distribute! ⚡ Make your AI video workflows production-ready. Let the webhook handle the waiting. ⚡ Created by Joe Venner | Built with ❤️ and n8n | Part of the AI Shorts Reactor ecosystem

Generate SEO-Optimized Blog Content with Google Gemini, RSS Feeds and Telegram

Workflow Objective This n8n workflow automates the entire content creation process by monitoring specified RSS feeds for new articles. It then leverages Google Gemini AI to generate comprehensive, SEO-optimized blog posts inspired by these articles, creates unique cover images, and distributes the final content as a JSON file to stakeholders via Telegram. The primary goal is to automate the end-to-end content pipeline, saving significant time and ensuring a consistent output of high-quality content. Step-by-Step Breakdown Monitor News Sources (RSS Triggers): The workflow is triggered periodically (e.g., hourly, weekly) by multiple RSS Feed nodes that monitor sources like "Search Engine Journal" and "Tech Crunch" for new publications. Prevent Duplicate Content (Deduplication): For each new article fetched from the RSS feeds, the workflow checks an AWS DynamoDB database to see if the article's URL has been processed before. If the link already exists in the database, the process for that item is halted, and a debug notification is sent to Telegram via the "Telegram Debugger" node. This prevents the generation of duplicate content. AI-Powered Content Generation (Gemini Content Generation): If the article is new, its link is passed to a Google Gemini node. Using a highly detailed and structured prompt, Gemini generates a complete blog post in a specific JSON format. This output includes a title, meta description, SEO-friendly slug, a descriptive prompt for generating a cover image, and the full markdown body of the article (including an introduction, subheadings, conclusion, FAQ section, etc.). Data Cleaning and Parsing (JSON Parser): The raw text response from the AI is processed by a "Code" node. This custom script cleans the output—removing markdown code blocks, fixing potential syntax errors—and reliably parses it into a valid JSON object, ensuring the data is clean for subsequent steps. Image Generation and Cloud Storage: The image_generation_prompt from the parsed JSON is sent to another Google Gemini node configured for image generation, creating a 1200x630 cover image for the blog post. The newly created image is renamed using the slug. Finally, the image is uploaded to a cloud storage service like Cloudflare R2. If the upload fails, an error message is sent to Telegram. Final Data Assembly and Distribution: The generated text content is merged with the URL of the uploaded image to create the final, complete blog post data object. This entire data structure is converted into a JSON file, named using the format [slug].json. In the final step, this JSON file is sent as a document to designated recipients User via the Telegram nodes. Technologies and Services Used Trigger:** RSS Feed Reader Artificial Intelligence:** Google Gemini (for both text and image generation) Database:** AWS DynamoDB (for content deduplication) Cloud Storage:** Cloudflare R2 (S3-compatible) Notification & Distribution:** Telegram Data Processing:** n8n's native nodes (Merge, If, Set, Code)

Build your own S3 and Telegram integration

Create custom S3 and Telegram workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

S3 supported actions

Create
Create a bucket
Delete
Delete a bucket
Get Many
Get many buckets
Search
Search within a bucket
Copy
Copy a file
Delete
Delete a file
Download
Download a file
Get Many
Get many files
Upload
Upload a file
Create
Create a folder
Delete
Delete a folder
Get Many
Get many folders

Telegram supported actions

Get
Get up to date information about a chat
Get Administrators
Get the Administrators of a chat
Get Member
Get the member of a chat
Leave
Leave a group, supergroup or channel
Set Description
Set the description of a chat
Set Title
Set the title of a chat
Answer Query
Send answer to callback query sent from inline keyboard
Answer Inline Query
Send answer to callback query sent from inline bot
Get
Get a file
Delete Chat Message
Delete a chat message
Edit Message Text
Edit a text message
Pin Chat Message
Pin a chat message
Send Animation
Send an animated file
Send Audio
Send a audio file
Send Chat Action
Send a chat action
Send Document
Send a document
Send Location
Send a location
Send Media Group
Send group of photos or videos to album
Send Message
Send a text message
Send and Wait for Response
Send a message and wait for response
Send Photo
Send a photo
Send Sticker
Send a sticker
Send Video
Send a video
Unpin Chat Message
Unpin a chat message

FAQs

  • Can S3 connect with Telegram?

  • Can I use S3’s API with n8n?

  • Can I use Telegram’s API with n8n?

  • Is n8n secure for integrating S3 and Telegram?

  • How to get started with S3 and Telegram integration in n8n.io?

Need help setting up your S3 and Telegram integration?

Discover our latest community's recommendations and join the discussions about S3 and Telegram integration.
Trigi Digital

Looking to integrate S3 and Telegram in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate S3 with Telegram

Build complex workflows, really fast

Build complex workflows, really fast

Handle branching, merging and iteration easily.
Pause your workflow to wait for external events.

Code when you need it, UI when you don't

Simple debugging

Your data is displayed alongside your settings, making edge cases easy to track down.

Use templates to get started fast

Use 1000+ workflow templates available from our core team and our community.

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon