Project
Call Center
Greenfield application for managing member interactions and data. Automated many time consuming tasks, including automated dialing sequences and management-led call lists. Provided customized UI for both sales and services teams. Included management reporting and admin areas.
Context
A predictive dialer and call center management system developed to manage outbound call schedules for internal sales and member services agents.
Architectural Decisions
- .NET Framework 3.5 MVC web application. (upgraded in steps to .NET Framework 4.8)
- Data storage handled by Microsoft SQL Server.
- Integrated data with existing Association Management System (AMS) for member information.
- TAPI interface for telephony integration.
- Hosted on-premises within the organization's data center.
- Developed alongside the Internal Framework for data access and services.
Challenges
- Changing team processes to adapt to new management driven workflows.
- Providing reliable telephony integration with legacy systems.
- Ensuring data consistency between the dialer and AMS.
- Providing real-time reporting and analytics for outreach campaign effectiveness.
- Scaling the application to handle peak call volumes during major campaigns.
- Allowing for flexible call scripts and workflows to accommodate different outreach strategies.
- Allowing for compliance with telemarketing regulations and do-not-call lists.
- Providing managment with tools to handle data importing and reporting.
- Training staff on the new system and ensuring user adoption.
Outcomes
- Achieved company desire to allow management to drive outbound call campaigns.
- Provided tools for real-time monitoring and reporting of call center performance.
- Agent call counts increased from 39-75 calls per day to 150-225 calls per day per agent.
- Saved hundreds of labor hours previously spent on manual data loading and reporting.
- Provided a scalable solution that became the hub for further expansion of tooling for the sales, member service and other teams.
My Role
- Sole Architect, Developer, Trainer and maintainer for the application and its attached infrastructure throughout the entire 17 year lifetime of the project.
- Met with stakeholders to gather requirements and define project scope.
- Developed the application from inception to deployment.
- Maintained contact with management and end-users to gather feedback and implement improvements.
Notes
The Director of Sales was frustrated with the current tooling that the sales and member services teams were using to manage outbound call campaigns. The existing process was manual, time-consuming, and inefficient, leading to low call volumes and missed opportunities. The goal was to create a system that would allow management to define and drive outbound call campaigns while providing agents with the tools they needed to be more productive.
The team was using a combination of spreadsheets and our Association Management System (AMS) to manage call lists and track progress. Call campaign information was provided on paper to let the team know what messaging and specials were needed for each campaign. This process was cumbersome and prone to errors, leading to frustration among both management and agents. The new system needed to streamline this process, allowing for easy data import, call scheduling, and real-time reporting.
The application started by allowing management to build campaigns, import call lists, and define call scripts. Agents would then log into the system to receive their call assignments, make calls using the integrated predictive dialer, and log outcomes. The system provided real-time reporting dashboards for management to monitor campaign performance and agent productivity. This allowed for the main goal of allowing management to drive outbound calls as opposed to agents working off of static call lists. This ensured campaigns were executed as intended and saved agent time by not having them manage their own call lists.
The application provided a specialized UI for agents to handle calls efficiently. The AMS was not purpose-built for call center operations, so the new system needed to provide a streamlined interface that minimized distractions and maximized call handling efficiency. This included features like click-to-dial, pre-defined call scripts, and easy logging of call outcomes.
The dialer integration was a significant technical challenge. During the lifetime of the project, the telephony provider changed three times, each requiring significant changes to the integration layer. The initial solution utilized a TAPI interface to communicate with the telephony hardware and that was replaced by VOIP telephony requiring rewriting the dialer integration to communicate over SIP protocol. As this was early in the adoption of VOIP telephony, documentation and support were limited, requiring extensive research and experimentation to achieve reliable integration.
The integration with the AMS was a critical component of the project. The dialer needed to pull member information from the AMS to ensure that agents had the most up-to-date data when making calls. This required building robust data synchronization processes to keep both systems in sync. Additionally, the system needed to handle compliance with telemarketing regulations, including managing do-not-call lists and time-of-day calling restrictions. The integration also allowed other departments access to call outcomes to see what outreach had been done to company and individual records and those outcomes.
The system evolved over time to include membership application processing, event registration servicing, event telemarketing, and other tools that leveraged the call center infrastructure. This expansion allowed the organization to centralize various outreach and engagement efforts, further improving efficiency and effectiveness by providing a single tool for the team to reduce context switching.