# Component 5: Realtime Watcher **Type:** Standalone Service **Priority:** P3 **Status:** Deferred ## Goal Real-time GA4 monitoring with periodic snapshots to Slack. ## Status **Deferred** — Complete components 1-4 first. ## Original Concept - Screenshot GA4 real-time dashboard every 5 minutes - Send screenshots to Slack channel - Trigger via Slack command or user request ## Challenges | Challenge | Issue | |-----------|-------| | Browser auth | GA4 requires Google login | | Maintenance | Screenshots break when UI changes | | Complexity | Headless browser + auth + scheduling | | Value | Screenshots may not be best UX | ## Simplified Approach (Recommended) Instead of screenshots, use the GA4 Real-time API: 1. Fetch real-time data via API 2. Generate chart image with Plotly 3. Send image to Slack ### Benefits - No browser automation - More reliable - Cleaner output - Programmatic data access ## Structure (Future) ``` 05-realtime-watcher/ ├── README.md ├── realtime_api.py # GA4 Real-time API client ├── chart_generator.py # Generate chart images ├── slack_sender.py # Upload to Slack ├── watcher.py # Main service ├── config.yaml └── requirements.txt ``` ## GA4 Real-time API ```python from google.analytics.data_v1beta import BetaAnalyticsDataClient from google.analytics.data_v1beta.types import RunRealtimeReportRequest def get_realtime_users(property_id: str): client = BetaAnalyticsDataClient() request = RunRealtimeReportRequest( property=f"properties/{property_id}", dimensions=[{"name": "unifiedScreenName"}], metrics=[{"name": "activeUsers"}] ) response = client.run_realtime_report(request) return response ``` ## Trigger Options 1. **Slack Command:** `/ga-realtime start` 2. **Scheduled:** During campaign launches 3. **API Endpoint:** Webhook trigger ## Implementation (When Ready) 1. Build real-time API client 2. Create chart generator 3. Add Slack integration 4. Implement start/stop controls 5. Add session timeout (1 hour default) ## Checklist (Future) - [ ] Real-time API client - [ ] Chart generation - [ ] Slack integration - [ ] Trigger mechanism - [ ] Session management - [ ] Deployment