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.