Convoso Insight Lens
Real-time analytics and performance insights for Convoso dialing platform
The Problem
Call center managers using Convoso have access to raw data but lack actionable real-time insights. Performance metrics are scattered across different pages, requiring manual navigation and calculation. The challenge was creating a unified analytics layer that extracts, aggregates, and visualizes Convoso's hidden metrics without disrupting the core dialing workflow.
My Approach
- → Content script intercepting Convoso API calls to extract call/campaign data
- → Background worker aggregating metrics (answer rate, hold time, conversion)
- → IndexedDB caching for fast metric queries without API spam
- → Sidebar panel showing real-time dashboards alongside Convoso
- → Custom analytics endpoints computing metrics Convoso doesn't expose
Key Highlights
- 600+ active users across call centers
- Real-time metrics: answer rate, average handle time, cost per lead
- Campaign performance comparison (which campaigns convert best?)
- Agent performance tracking (top performers, coaching opportunities)
- 4.8-star rating on Chrome Web Store
How It Works
Convoso Insight Lens gives managers the analytics they need to make real-time decisions. Instead of hunting through reports, metrics appear alongside the work—contextualized, actionable, current.
The Problem
Convoso is a powerful dialing platform, but its analytics are backward-looking. Managers see:
- Last night’s performance data (in reports)
- Campaign summary on the main dashboard (limited view)
- Agent stats scattered across different pages
But they don’t see:
- Real-time answer rate (is quality dropping right now?)
- Which campaigns are converting today (not yesterday)
- Team performance vs individual agent performance
- Cost per lead by campaign (rough business-level metric)
This forces managers into reactive mode: spot a problem, dig through reports, then act. By then, damage is done.
Solution: Real-Time Insight Dashboard
Convoso Insight Lens injects a sidebar that shows:
Agent Metrics (Real-Time):
- Per-agent answer rate, talk time, holds
- Color-coded performance (green = good, red = needs coaching)
- Efficiency score (productivity vs quality ratio)
Campaign Metrics (Updated Every 30 Seconds):
- Calls attempted, answers, conversions
- Answer rate trend (are numbers going up or down?)
- Cost per lead (revenue impact calculation)
- Quality indicators (hold times, abandonment)
Team Aggregate:
- Combined team answer rate vs target
- Total calls completed this shift
- Team efficiency score
- Individual vs team performance comparison
Architecture
Content Script:
- Monitors Convoso’s network requests (XMLHttpRequest/Fetch intercepts)
- Extracts call records, campaign updates, agent activity
- Posts messages to background worker with extracted data
Background Worker:
- Aggregates raw call data into metrics
- Runs calculation engines (answer rate = answered calls / total calls)
- Stores aggregates in IndexedDB (for trending)
- Broadcasts metrics to sidebar panel every 30 seconds
Sidebar Panel (React):
- Real-time visualization of metrics
- Color-coded performance indicators
- Drill-down capability (click campaign → see detailed call list)
- Export metrics to CSV for coaching/reporting
Key Features
Real-Time Metrics:
Answer Rate = Answered Calls / Total Calls (%)
Handle Time = Total Talk Time / Answered Calls
Cost Per Lead = Campaign Cost / Leads Generated
Quality Score = (Talk Time / Standard) × (Answer Rate / Target) × (Hold Rate / Benchmark)
Comparisons:
- Agent vs team average (how is Sarah performing relative to the team?)
- Campaign performance ranking (which campaigns are working?)
- Shift-over-shift trends (is today better than yesterday at this time?)
Actionable Alerts:
- Answer rate drops below threshold: “⚠️ Answer rate 72% (target 85%)”
- Agent efficiency changes: “📈 Marcus is on pace for 20% more leads today”
- Campaign flagged: “❌ Campaign 5 has 3x abandonment rate”
Why This Matters
Real-time insights drive faster decisions. When a manager sees answer rate dropping in real-time, they can:
- Pause low-performing campaigns
- Coach agents before quality degrades
- Reallocate resources to high-performing campaigns
- Make business decisions with current data, not yesterday’s
Technical Challenges Solved
Challenge 1: Data Extraction Without API Access
Solution: Intercept Convoso’s internal network calls. Convoso’s UI fetches from /api/campaigns and /api/agents. We listen to those requests and extract data from the responses.
Challenge 2: Metric Calculation Without Database Access Solution: IndexedDB caching. Store call records locally, aggregate on-demand. Don’t spam Convoso with API calls.
Challenge 3: Sidebar Integration Without Breaking Convoso Solution: Isolated React component in injected frame. No DOM mutation of core Convoso UI. Sidebar communicates via message passing (one-way data flow from background worker).
Lessons Learned
This project taught me that managers aren’t drowning in data—they’re drowning in inaccessible data. Convoso has all the information, but it’s scattered across reports, summaries, and API calls. Bringing it to one place, in real-time, changes how managers work.
Also learned: Real-time can be expensive. Early versions updated every 5 seconds and killed CPU. Throttling to 30-second intervals and batching calculations kept performance reasonable.
Download & Install
Chrome Web Store: Convoso Insight Lens
Current Stats:
- 600+ active users across call centers
- 4.8-star rating
- Used by managers at 100+ different companies
Actively maintained with regular feature releases based on manager feedback.