Dev Dutta
Data and Product Analytics| Business Intelligence| Data Governance| Tech. Strategy| Driving Digital Transformation Programs| Process Automation | Agentic AI
Templates by Dev Dutta
Convert PDF articles to audio podcasts with Google TTS & Cloudflare R2
Convert PDF Articles to Podcast Workflow Name: Convert PDF Articles to Podcast Author: Devjothi Dutta Category: Productivity, Content Creation, Automation Complexity: Medium Setup Time: 45-60 minutes --- --- 📖 Description Transform any PDF article, research paper, or document into a high-quality audio podcast automatically. This workflow extracts text from PDFs, converts it to natural-sounding speech using Google Cloud Text-to-Speech, stores the audio files in cloud storage, and generates an RSS feed compatible with all major podcast apps (Apple Podcasts, Spotify, Pocket Casts, etc.). Perfect for consuming long-form content while commuting, exercising, or multitasking. Turn your reading list into a personal podcast feed. 👥 Who's it for For Professionals: Convert industry reports and whitepapers to audio Listen to research papers during commutes Stay updated with long-form articles hands-free For Students: Turn textbooks and study materials into audio Create audio versions of lecture notes Study while exercising or commuting For Content Creators: Repurpose written content into audio format Create podcast episodes from blog posts Reach audio-focused audiences For Busy Readers: Convert saved articles to a personal podcast Listen to newsletters and essays on the go Build a private audio library ✨ Key Features 📄 PDF Text Extraction - Automatically extracts text from any PDF file 🎙️ Natural Voice Synthesis - High-quality WaveNet voices from Google Cloud TTS ☁️ Cloud Storage - Files hosted on Cloudflare R2 (S3-compatible) with public URLs 📻 RSS Feed Generation - Full iTunes-compatible podcast feed with metadata 📧 Email Notifications - Instant alerts when new episodes are ready 🎨 Custom Branding - Configurable podcast name, artwork, and descriptions ⚙️ Modular Configuration - Easy-to-update centralized config node 🔄 Automated Workflow - Set it and forget it - fully automated pipeline 🛠️ Requirements Required Services: n8n (self-hosted or cloud) - Workflow automation platform Google Cloud Platform - Text-to-Speech API access Free tier: 1 million characters/month (WaveNet voices) Paid: $16 per 1 million characters Cloudflare R2 - Object storage for audio files and RSS feed Free tier: 10GB storage, unlimited egress Email Service - SMTP or email service for notifications Required Community Nodes: Cloudflare R2 Storage (n8n-nodes-cloudflare-r2-storage) Install via: Settings → Community Nodes → Install Search for: n8n-nodes-cloudflare-r2-storage Important: Install this BEFORE importing the workflow Optional: Custom domain for podcast feed URLs Podcast artwork (3000x3000px recommended) 📦 What's Included This workflow package includes: Complete n8n workflow JSON (ready to import) Comprehensive setup guide Architecture documentation Configuration templates Credentials setup instructions Testing and validation checklist RSS feed customization guide Troubleshooting documentation 🚀 Quick Start Install community node (required): Go to Settings → Community Nodes → Install Search for: n8n-nodes-cloudflare-r2-storage Click Install and wait for completion Import workflow into your n8n instance Configure credentials: Google Cloud TTS API key Cloudflare R2 credentials (Access Key ID + Secret) SMTP email credentials Update Workflow Config node with your settings: R2 bucket name and public URL Podcast name and description Artwork URL Email recipient Test with a sample PDF to verify setup Add RSS feed URL to your podcast app 📊 Workflow Stats Nodes: 10 Complexity: Medium Execution Time: ~2-5 minutes per PDF (depends on length) Monthly Cost: $0-20 (depending on usage and free tiers) Maintenance: Minimal (set and forget) 🎨 Customization Options Change TTS voice (20+ English voices available) Adjust speech speed and pitch Customize RSS feed metadata Add custom intro/outro audio Configure file retention policies Set up webhook triggers for remote submission 🔧 How it Works User uploads PDF to n8n Text is extracted from PDF Text is sent to Google TTS API Audio file (.mp3) is generated Files uploaded to R2 storage: Original PDF Generated MP3 audio RSS feed is generated/updated with: Episode title (from PDF filename) Audio URL Duration and file size Publication date Rich HTML description RSS feed uploaded to R2 Email notification sent with episode details 💡 Pro Tips Voice Selection: Test different WaveNet voices to find your preferred style Batch Processing: Process multiple PDFs by running workflow multiple times Quality vs Cost: WaveNet voices sound better but cost more than Standard voices Storage Management: Set up R2 lifecycle rules to auto-delete old episodes Custom Domains: Use Cloudflare for custom podcast feed URLs 🔗 Related Workflows PDF to Email Summary Document Translation to Audio Blog RSS to Podcast Multi-language Audio Generation 📧 Support & Feedback For questions, issues, or feature requests: GitHub: PDF-to-Podcast---N8N Repository n8n Community Forum: Tag @devdutta Email: devjothi@gmail.com 📄 License MIT License - Free to use, modify, and distribute --- ⭐ If you find this workflow useful, please share your feedback and star the workflow! ---
Filter breaking geopolitical news with AI scoring & Telegram alerts
Geopolitics Breaking News Alert System Workflow Name: Geopolitics Breaking News Alert System Author: Devjothi Dutta Category: Productivity, News & Media, AI/Machine Learning Complexity: Medium Setup Time: 45-60 minutes --- --- 📖 Description An intelligent geopolitical monitoring system that filters 200+ daily news articles down to only the critical breaking news that matters to you. This workflow uses smart keyword filtering and AI-powered scoring to eliminate noise, reduce AI costs, and deliver only high-priority geopolitical alerts to Telegram. The Problem: Traditional news monitoring is overwhelming - hundreds of articles per hour, 95% irrelevant to your region of interest, no urgency prioritization, and critical breaking news gets buried in noise. The Solution: This workflow combines dual-layer filtering (primary + secondary keywords) with AI scoring to distinguish actual breaking news from general news coverage. By filtering first and scoring second, you reduce AI API costs by 80-90% while ensuring you never miss critical geopolitical developments. Switch between monitoring India, China, Middle East, Russia-Ukraine, or any region by simply changing a configuration file. Perfect for government analysts, corporate security teams, investment research firms, news organizations, or anyone who needs to stay informed about geopolitical developments without information overload. 👥 Who's it for For Government & Defense Analysts: Monitor specific regions for military actions, diplomatic developments, and security threats Filter by mission-critical keywords to eliminate irrelevant news AI scoring identifies genuine breaking news vs routine coverage Reduce analyst workload by 90% through intelligent automation For Corporate Security & Risk Teams: Track geopolitical risks affecting global supply chains and operations Custom keyword filters for industry-specific concerns (e.g., "semiconductor", "tariff", "sanctions") Real-time alerts for events impacting business continuity Cost-efficient monitoring with minimal AI API usage For Investment Research Firms: Monitor emerging market geopolitical risks affecting portfolio companies AI scoring differentiates market-moving events from background noise Configurable alert thresholds based on investment strategy (conservative vs aggressive) Track multiple regions simultaneously with different configs For News Organizations & Journalists: Monitor breaking geopolitical developments for editorial coverage Filter by urgency to prioritize assignment desk resources Aggregate multiple international news sources in one place Extend alerts to newsroom Slack channels or email ✨ Key Features 🎯 Smart Dual-Layer Filtering - Primary keywords ensure regional relevance, secondary keywords filter by event type (military, diplomatic, economic) 🤖 AI-Powered Urgency Scoring - GPT-4o-mini scores articles 1-10 based on geopolitical urgency, distinguishing breaking news from routine coverage 💰 Cost-Efficient Design - Filter first, score second approach reduces AI API calls by 80-90% (only ~5 articles analyzed out of 200) 🌍 Multi-Region Support - Monitor India, China, Middle East, Russia-Ukraine, or any region by switching config files 📰 Multi-Source RSS Aggregation - Combines 6 international news sources (NYT, BBC, Al Jazeera, SCMP, regional feeds) 🔄 Duplicate Detection - Persistent storage prevents re-analyzing same articles across multiple executions 📊 Consolidated Alerts - Single Telegram message with all breaking news, grouped by urgency score ⏰ Flexible Scheduling - Configure trigger interval per your needs (15min for active conflicts, 3hr for routine monitoring) 💾 Config-Driven Architecture - All filters, keywords, and scoring rules in Google Drive JSON file 🔒 Production Ready - Tested end-to-end with real-world India and China configurations 📈 Scalable Design - Run multiple regional configs in parallel, extend to Slack/WhatsApp/Email delivery 🛠️ Requirements Required Services: n8n (version 1.0+) - Workflow automation platform Free tier: n8n cloud or self-hosted Docker Required feature: Data Tables (for duplicate tracking) OpenAI API (GPT-4o-mini) - AI scoring engine Cost: ~$0.10/day for 30min intervals Free tier: $5 credit for new accounts Telegram Bot - Alert delivery Free: Create via @BotFather on Telegram Get chat ID via @userinfobot Google Drive - Config file storage Free: Any Google account Used for publicly shared JSON config files Required Credentials: OpenAI API Key - Get from platform.openai.com (GPT-4o-mini access) Telegram Bot Token - Create bot via @BotFather, get token n8n Data Table - Built-in n8n feature (no external credential) Optional: Slack Webhook URL (for extending alerts to Slack) SMTP credentials (for email alerts) Twilio account (for WhatsApp/SMS alerts) 📦 What's Included This workflow package includes: Complete n8n workflow JSON (ready to import) Complete setup guide - Detailed configuration with Data Table setup, troubleshooting Technical architecture documentation Use cases and customization guide 4 pre-built regional configs (India, China, Middle East, Russia-Ukraine) 🚀 Quick Start Full setup takes 45-60 minutes. For detailed step-by-step instructions, see SETUP_GUIDE.md Overview Create n8n Data Table (analyzed_articles with 2 columns) Upload config to Google Drive (choose region, share publicly, get file ID) Import workflow (22 nodes ready to configure) Configure nodes: Update Google Drive config URL with your file ID Update 6 RSS Feed URLs for your region Link 3 Data Table nodes to analyzed_articles table Add credentials (OpenAI API, Telegram Bot) Set schedule (15min-daily based on monitoring needs) Test workflow (verify filtering, scoring, alerts work) Activate (workflow runs automatically on schedule) Quick Start Result: ✅ 200+ articles processed → 5-7 filtered → 3-5 scored → 1-3 alerts sent ✅ Telegram receives consolidated breaking news message ✅ Workflow runs every 30min (or your chosen interval) ✅ Total monthly cost: $3-5 (OpenAI API only) Need help? See detailed SETUP_GUIDE.md for complete instructions with screenshots and troubleshooting. 📊 Workflow Stats Nodes: 22 Complexity: Medium Execution Time: ~30-60 seconds per run Monthly Cost: $3-5 (OpenAI API usage only) Maintenance: Minimal (update RSS feeds if sources change) Scalability: Handles 200+ articles per execution, easily scales to 10+ RSS feeds 🎨 Customization Options Add more regions: Create new config JSON files for North Korea, Taiwan, Africa, Latin America, etc. Multi-channel alerts: Extend to Slack, WhatsApp, Email, Discord, Microsoft Teams, SMS Severity-based routing: Send critical alerts (score 9-10) via SMS, others to Telegram Custom scoring models: Switch between GPT-4o-mini, GPT-4o, Claude based on config Exclude keywords: Add "exclude_keywords" array to filter out sports, entertainment, weather Alert digest mode: Aggregate alerts into daily/weekly summary emails instead of real-time Dashboard integration: Connect to Grafana or Metabase for visual trend analysis Webhook triggers: Use workflow output to trigger other n8n workflows or external systems Custom RSS feeds: Add industry-specific or regional news sources Adjust alert threshold: Change from score >= 6 to higher/lower based on notification preferences 🔧 How it Works Schedule Trigger (Configurable): Workflow runs at your configured interval (15min, 30min, 1hr, 3hr, daily, etc.) Trigger frequency depends on use case: active conflicts need more frequent monitoring Config Loading: HTTP Request node fetches JSON config from Google Drive Config contains: keywords, scoring rules, AI role, alert threshold, Telegram chat ID RSS Aggregation: 6 RSS Feed nodes fetch articles from international news sources Merge node combines all feeds (~200 articles per execution) RSS Cleanup node strips HTML and normalizes to 5 fields (60-75% size reduction) Smart Filtering (Cost Optimization Layer 1): Dynamic Filter checks PRIMARY keywords (geographic/entity: "india", "modi", "delhi") Also checks SECONDARY keywords (event type: "military", "conflict", "trade deal") Both conditions required: Article must mention at least one primary AND one secondary Result: 200 articles reduced to ~5-7 relevant articles (95% reduction) Why this matters: Eliminates noise BEFORE expensive AI scoring Duplicate Detection (Cost Optimization Layer 2): Queries Data Table for previously analyzed article links Filters out articles already scored in last 7 days Result: ~5-7 filtered articles reduced to ~3-5 new articles Why this matters: Prevents redundant AI API calls (saves 80% on repeat articles) Dynamic AI Prompt Generation: Code node builds system prompt from config.airole and config.scoringcriteria Instructs AI: "You are a geopolitical analyst for [REGION]. Score articles 1-10..." Includes scoring rubric: 9-10 = Military Action, 7-8 = Trade/Economic, etc. AI Urgency Scoring (Breaking News Detection): Breaking News Analyzer (GPT-4o-mini) evaluates geopolitical urgency Scores 1-10: Distinguishes genuine breaking news from routine coverage Returns: score, category, reasoning, should_alert (true/false based on threshold) Cost: ~$0.002 per article (only ~3-5 articles scored per execution) Alert Decision: IF node checks: shouldalert === true (score >= config.alertthreshold) Only high-priority alerts proceed to Telegram Articles below threshold are logged but not sent Alert Aggregation: Consolidates multiple breaking news alerts into single Telegram message Groups by urgency score with color-coded emojis (🔴 9-10, 🟠 7-8, 🟡 6-7) Includes: score, category, title, link for each alert Telegram Delivery: Sends consolidated alert to configured Telegram chat Uses HTML formatting for bold text and clickable links Chat ID dynamically loaded from config (different regions → different chats) 💡 Pro Tips Start with Higher Threshold: Begin with alert_threshold = 7 to avoid alert fatigue, lower to 6 after tuning keywords Regional RSS Matters: Use region-specific news sources for better coverage (e.g., Times of India for India, not just BBC/NYT) Test Keywords First: Run workflow manually with "Test Workflow" to verify keyword filtering before activating schedule Monitor AI Costs: Check OpenAI usage dashboard after first week to confirm ~$0.10/day cost estimate Tune Secondary Keywords: Add domain-specific terms to secondary keywords (e.g., "semiconductor" for tech supply chain monitoring) Use Separate Configs for Critical Regions: Clone workflow for high-priority regions instead of switching configs manually Schedule Based on Time Zones: Align execution intervals with business hours in monitored region (e.g., 9AM-6PM IST for India) Clear Duplicates for Testing: Manually clear analyzed_articles Data Table when testing new configs for fresh results Backup Working Configs: Export and version control config files before making major keyword changes Consider Alert Fatigue: Score 9-10 events are rare (0-1 per day), score 6-8 events are common (2-5 per day) - set threshold accordingly 🔗 Related Workflows Multi-Region Geopolitics Dashboard - Combine multiple regional configs into single monitoring dashboard Geopolitical Risk Scoring for Portfolios - Integrate with stock portfolio data to assess investment risk Automated Geopolitical Intelligence Reports - Generate daily/weekly PDF reports from breaking news data Conflict Escalation Tracker - Track score trends over time to detect escalating tensions Supply Chain Risk Alerting - Focus on trade/sanctions news affecting global supply chains 📧 Support & Feedback For questions, issues, or feature requests: GitHub: n8n-geopolitics-breaking-news-alert Repository n8n Community Forum: Tag @devdutta Email: devjothi@gmail.com 📄 License MIT License - Free to use, modify, and distribute --- ⭐ If you find this workflow useful, please share your feedback and star the workflow! ---