š Template Overview
This advanced n8n workflow creates an intelligent Telegram bot that transforms raw CSV flight data into stunning, interactive visualizations. Users can generate professional charts on-demand through a conversational interface, making data analytics accessible to anyone via messaging.
Key Innovation: Combines real-time data processing, Chart.js visualization engine, and Telegram’s messaging platform to deliver instant business intelligence insights.
Ā
šÆ What This Template Does
Transform your flight booking data into actionable insights with four powerful visualization types:
- š Bar Charts: Top 10 busiest airlines by flight volume
- š„§ Pie Charts: Flight duration distribution (Short/Medium/Long-haul)
- š© Doughnut Charts: Price range segmentation with average pricing
- š Line Charts: Price trend analysis across flight durations
Each chart includes auto-generated insights, percentages, and key business metrics delivered instantly to users’ phones.
Ā
šļø Technical Architecture
Core Components
- Telegram Webhook Trigger: Captures user interactions and button clicks
- Smart Routing Engine: Conditional logic for command detection and chart selection
- CSV Data Pipeline: File reading ā parsing ā JSON transformation
- Chart Generation Engine: JavaScript-powered data processing with Chart.js
- Image Rendering Service: QuickChart API for high-quality PNG generation
- Response Delivery: Binary image transmission back to Telegram
Ā
Data Flow Architecture
User Input ā Command Detection ā CSV Processing ā Data Aggregation ā
Chart Configuration ā Image Generation ā Telegram Delivery
Ā
š ļø Setup Requirements
Prerequisites
- n8n instanceĀ (self-hosted or cloud)
- Telegram Bot TokenĀ from @BotFather
- CSV datasetĀ with flight information
- Internet connectivityĀ for QuickChart API
Ā
Dataset Source
This template uses theĀ Airlines Flights DataĀ dataset from GitHub:
šĀ Dataset:Ā Airlines Flights Data by Rohit Grewal
Ā
Required Data Schema
Your CSV file should contain these columns:
airline,flight,source_city,departure_time,arrival_time,duration,price,class,destination_city,stops
Ā
File Structure
/data/
āāā flights.csv (download from GitHub dataset above)
Ā
āļø Configuration Steps
1. Telegram Bot Setup
- Create a new bot via @BotFather on Telegram
- Copy your bot token
- Configure the Telegram Trigger node with your token
- Set webhook URL in your n8n instance
2. Data Preparation
- Download the dataset fromĀ Airlines Flights Data
- Upload the CSV file toĀ
/data/flights.csv
Ā in your n8n instance
- Ensure UTF-8 encoding
- Verify column headers match the dataset schema
- Test file accessibility from n8n
3. Workflow Activation
- Import the workflow JSON
- Configure all Telegram nodes with your bot token
- Test theĀ
/start
Ā command
- Activate the workflow
Ā
š§ Technical Implementation Details
Chart Generation Process
Bar Chart Logic:
// Aggregate airline counts
const airlineCounts = {};
flights.forEach(flight => {
const airline = flight.airline || 'Unknown';
airlineCounts[airline] = (airlineCounts[airline] || 0) + 1;
});
// Generate Chart.js configuration
const chartConfig = {
type: 'bar',
data: { labels, datasets },
options: { responsive: true, plugins: {...} }
};
Dynamic Color Schemes:
- Bar Charts: Professional blue gradient palette
- Pie Charts: Duration-based color coding (lightādark blue)
- Doughnut Charts: Price-tier specific colors (greenāpurple)
- Line Charts: Trend-focused red gradient with smooth curves
Ā
Performance Optimizations
- Efficient Data Processing: Single-pass aggregations with O(n) complexity
- Smart Caching: QuickChart handles image caching automatically
- Minimal Memory Usage: Stream processing for large datasets
- Error Handling: Graceful fallbacks for missing data fields
Ā
Advanced Features
Auto-Generated Insights:
- Statistical calculations (percentages, averages, totals)
- Trend analysis and pattern detection
- Business intelligence summaries
- Contextual recommendations
User Experience Enhancements:
- Reply keyboards for easy navigation
- Visual progress indicators
- Error recovery mechanisms
- Mobile-optimized chart dimensions (800x600px)
Ā
š Use Cases & Business Applications
Airlines & Travel Companies
- Fleet Analysis: Monitor airline performance and market share
- Pricing Strategy: Analyze competitor pricing across routes
- Operational Insights: Track duration patterns and efficiency
Data Analytics Teams
- Self-Service BI: Enable non-technical users to generate reports
- Mobile Dashboards: Access insights anywhere via Telegram
- Rapid Prototyping: Quick data exploration without complex tools
Business Intelligence
- Executive Reporting: Instant charts for presentations
- Market Research: Compare industry trends and benchmarks
- Performance Monitoring: Track KPIs in real-time
Ā
šØ Customization Options
Adding New Chart Types
- Create new Switch condition
- Add corresponding data processing node
- Configure Chart.js options
- Update user interface menu
Data Source Extensions
- Replace CSV with database connections
- Add real-time API integrations
- Implement data refresh mechanisms
- Support multiple file formats
Ā
Visual Customizations
// Custom color palette
backgroundColor: ['#your-colors' __="#" __="#" __="#" __="#"],
// Advanced styling
borderRadius: 8,
borderSkipped: false,
// Animation effects
animation: { duration: 2000, easing: 'easeInOutQuart' }
Ā
š Security & Best Practices
Data Protection
- Validate CSV input format
- Sanitize user inputs
- Implement rate limiting
- Secure file access permissions
Error Handling
- Graceful degradation for API failures
- User-friendly error messages
- Automatic retry mechanisms
- Comprehensive logging
Ā
š Expected Outputs
Sample Generated Insights
- “āļø Vistara leads with 350+ flights, capturing 23.4% market share"
- “š Long-haul flights dominate at 61.1% of total bookings"
- “š° Budget category (ā¹0-10K) represents 47.5% of all bookings"
- “š Average prices peak at ā¹14K for 6-8 hour duration flights"
Performance Metrics
- Response Time: <3 seconds for chart generation
- Image Quality: 800x600px high-resolution PNG
- Data Capacity: Handles 10K+ records efficiently
- Concurrent Users: Scales with n8n instance capacity
Ā
š Getting Started
- DownloadĀ the workflow JSON
- ImportĀ into your n8n instance
- ConfigureĀ Telegram bot credentials
- UploadĀ your flight data CSV
- TestĀ withĀ
/start
Ā command
- DeployĀ and share with your team
Ā
š” Pro Tips
- Data Quality: Clean data produces better insights
- Mobile First: Charts are optimized for mobile viewing
- Batch Processing: Handles large datasets efficiently
- Extensible Design: Easy to add new visualization types