Convoso Insight Lens

Real-time analytics and performance insights for Convoso dialing platform

JavaScript Chrome API Convoso API React IndexedDB

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.

Explore