Work

Case study

Telesero Admin Suite

Watches live dialer metrics and makes the balancing changes a person used to make by hand

PythonSeleniumFastAPIFlaskscikit-learnMCP

Result: The daily manual dialer-balancing routine is automated; the suite runs continuously with 619 passing tests.

Context

The contact center I work in runs campaigns on Telesero, a web-based dialer. Keeping lists and dialer settings balanced through the day decides how many good conversations the floor gets.

The manual problem

Someone watched the dialer’s performance screens and made configuration changes by hand, every day: checking list health, resetting or rotating lists, and adjusting settings as numbers moved. It was constant, easy to fall behind on during a busy shift, and dependent on one person noticing the right number at the right time.

What I built

A Python automation suite that does that watching and acting:

  • Portal adapter — Selenium drives the Telesero web portal and parses its dashboards, because the platform exposes no API for this.
  • Decision engine — threshold gates and priority rules decide when a list needs attention; an ML advisor built with scikit-learn adds recommendations, but the business rules make the final call.
  • Orchestrator loop — adaptive timing: it checks more often when it has just acted and backs off when the floor is healthy, with grace periods before resets and detailed logging when something fails.
  • Interfaces — FastAPI REST endpoints and an MCP server for other tools, plus a Flask dashboard for people.

Result

The daily balancing routine no longer needs a person watching screens. The suite runs continuously and has 619 passing tests covering the adapter, the decision rules and the orchestrator.

Tech notes

Python, Selenium WebDriver, FastAPI, Flask, scikit-learn and MCP, in a three-tier design with pure functions for the business logic so the rules can be tested without a browser. The code and data are internal to the contact center.

Related writing

How to Automate List Management in Telesero (Vicidial)
The Pipeline That Runs While I Sleep