Flight Data Visualization with Chart.js, QuickChart API & Telegram Bot

Go to Workflow
0 views
Built by DataMinex DataMinex
Created on June 08, 2026

Description

πŸ“Š Real-Time Flight Data Analytics Bot with Dynamic Chart Generation via Telegram

πŸš€ 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

Ready to transform your data into actionable insights? Import this template and start generating professional charts in minutes! πŸš€

Nodes Used (3)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
Telegram
n8n-nodes-base.telegram