⚡ Real-time Dashboard

Live collaboration with real-time updates, presence tracking, and instant notifications powered by WebSockets.

Overview

Real-time Dashboard provides:

📦 Plan Requirement

Real-time features are available in Scale plan only.

Features

Presence Tracking

See who's online and what they're working on:

// User presence states { "status": "online", // online, offline, idle "user_id": 123, "workspace": "queries", "last_seen": "2024-01-10T15:30:00Z", "current_page": "/queries/456" }

Live Query Updates

Query results update automatically:

Real-time Notifications

Instant alerts for important events:

Chat Message Badges

Live chat support indicators:

WebSocket Connection

Establishing Connection

// Frontend connects automatically const ws = new WebSocket('ws://localhost:8000/ws'); ws.onopen = () => { console.log('Real-time connection established'); }; ws.onmessage = (event) => { const data = JSON.parse(event.data); handleRealtimeUpdate(data); };

Connection States

Real-time Events

Presence Events

// User comes online { "type": "presence_update", "user_id": 123, "status": "online", "workspace": "queries" } // User goes offline { "type": "presence_update", "user_id": 123, "status": "offline", "last_seen": "2024-01-10T15:30:00Z" }

Query Events

// Query started { "type": "query_started", "query_id": 456, "started_by": 123 } // Query completed { "type": "query_completed", "query_id": 456, "result_count": 100, "execution_time": 2.5 }

Agent Events

// Agent execution { "type": "agent_executed", "agent_id": 789, "status": "completed", "insights_found": 3, "needs_approval": false }

Chat Events

// New chat message { "type": "new_chat_message", "session_id": 999, "message": "Hello, I need help", "sender": "visitor" } // New chat session { "type": "new_chat_session", "session_id": 1000, "visitor_location": "New York, US" }

Collaborative Features

Concurrent Editing Protection

When multiple users edit the same resource:

Live Cursors

See where teammates are working (premium feature):

Performance Optimization

Throttling

Prevent overwhelming clients:

Selective Subscriptions

Only receive relevant updates:

// Subscribe to specific channels { "action": "subscribe", "channels": [ "presence", "queries", "chat_sessions" ] }

Fallback Mechanisms

Connection Failures

When WebSocket unavailable:

Browser Compatibility

Dashboard Widgets

Online Users Widget

Shows team activity:

Live Activity Feed

Recent team actions:

Best Practices

⚠️ Firewall Configuration

WebSocket connections require port 8000. Ensure your firewall allows WebSocket traffic for full real-time functionality.

Monitoring

Connection Health

System admins can monitor:

Performance Metrics

Permissions

Required for real-time features: