Skip to main content


Internal Hackathon for COVID19 Response – Team Quarantitans

Call Center Relief architectural diagram

Our Customer Engagement Solutions group at Perficient is focused on helping our customers improve communication and interactions with their customers. Through our partnerships with industry-leading communications frameworks, we enhance and implement various ways companies interact across multiple channels.

In light of these issues, our team at Perficient spent the week of March 23rd on an internal hackathon. The goal was to generate various proof-of-concept projects to address some of these needs. We’ll highlight some of this work, both to provide ideas to the community and to show ways we can quickly scale up solutions to help your company in this time of crisis.

These blog posts will take the form of an interview with one of our internal hackathon teams.

Team Concept – What is the use case or problem you are attempting to address?

Team Quarantitans (Rob Zaffino, Orson Bradford, Aidan Nerman) focused on ways to alleviate sudden spikes in contact center traffic for small to medium sized businesses and enable agents to work from home more readily.

As soon as COVID-19 became serious in North America, customer communication spiked suddenly for key businesses and organizations – from health care to schools, unemployment offices, travel industries, and beyond. Many of these systems were overloaded and ground to a near halt. Our approach is to provide a scalable solution which

  • takes the pressure off the failing systems
  • allows the existing agents to manage the influx of communication
  • utilizes agents working remotely

This is intended to be a temporary triage situation to get through the current crisis. It could benefit the organization to invest in this further to have a robust cloud contact center for a normal business environment.

Goals for the project: keep it easy to administer and require minimal technical knowledge. For simplicity, the proof-of-concept targets voice channel support only. The solution must be easy and relatively quick to deploy, as well as be economical. We hope it would be possible that the cloud infrastructure could be offered at a reduced cost or even as a donation by generous larger companies and institutions in this time of need. Twilio is stepping out to help out in this regard with discounts, grants and free user hours for public benefit use cases. You can find out more at

Who is the target company or organization for this solution?

Our solution is intended to support small to medium sized businesses who are facing this onslaught and do not have an enterprise level call center. For the purposes of our demo, we imagined a hypothetical community health center. This organization is overwhelmed by calls with medical inquiries and requests. In-house resources or technical expertise to set up their own solution are lacking. This is the perfect use case for our “Call Center Relief” application.

Describe the services or components used in your solution at a high level?

Call Center Relief architectural diagram

This solution requires a hosted Twilio account/project, which includes:

  • As many dedicated phone numbers as needed for each incoming primary business number.
  • One IVR Flow, which is based on a reusable template built with the Twilio Studio editor. It is intended to have some customization as part of the setup, such as how many service department options to provide for routing calls, and the ability to customize options and messages accordingly.
  • Two Twilio SyncMaps: one to manage the agents’ identities and one for the customer queue.

The Contact Center Relief application starts with an existing business phone number. This number is forwarded to a Twilio hosted phone line created as part of setup. The incoming call routes to a dedicated IVR created in Twilio Studio, which does double duty as it handles both incoming customer calls as well as agent calls.

Studio Flow IVR detail

A customer is routed according to the service area options decided at setup: “Press 1 to speak to a healthcare professional; press 2 for general COVID-19 information, …”, and so on. The customer starts in a holding state which means that Twilio initiates a conference call with them as the sole participant. We used TwiML in combination with the Twilio Conference API to make conferences and register the ids into a Twilio SyncMap to represent this queue of callers. These conferences persist until the customer is joined by an agent.

From the agent perspective, they call in and are verified via a whitelist of phone numbers. Once verified against the whitelist, they enter a short PIN. This is verified against a list of authorized agent data held in a Twilio SyncMap. Ultimately, we plan for more secure verification, but a SyncMap is a quick and flexible option to stand up a quick proof of concept.

After the Agent is verified, they are matched with waiting customers. This logic is done via NodeJS in a Twilio Serverless Function, which bridges the two calls in the conference. The system is flexible and scalable to multiple agents and customers.

We went one step further to allow the system to initiate outbound calls to agents designated as on call. This way, customers can get connected as quickly as possible while allowing either an active or passive agent participation to handle fluctuating conditions.

Conference Logs

What challenges did you face in approaching this problem?

Since we focused on simplicity, we have omitted some of the power features provided by Twilio Flex. A specific example is TaskRouter, which would allow the smart routing of tasks based on worker skills and provide the metrics essential to a long term solution. We had to balance our solution for a quick, easy, and inexpensive implementation, which means giving up some of the full functionality. Instead, custom code bridges together customers and agents, handling the logic of availability in very basic ways.

Tell me about some enhancements or additional features you might add to your prototype

We would like to enhance our prototype with a better customer experience by reporting the queue size and allowing them to sign up for an agent callback, rather than wait on hold.

To allow for self service administration, we foresee some ways we can allow the agents to set their on call state and allow super admins to change overall settings like recording and replacing audio files for various messages.

Our Team

Customer engagement goes beyond customer service. Our team takes pride in our personal approach to the customer journey. We typically help enterprise clients transform and modernize their contact center with Twilio Flex, a programmable cloud contact center platform.

We have over 10 years of experience in delivering customer care solutions, including building, supporting, and deploying contact center solutions, and we consider it our personal responsibility to apply our expertise to helping our global community through the pandemic in any way we can.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Curtis Swartzentruber, Director, Customer Engagement Solutions

Director of Customer Engagement Solutions, currently focusing on the Twilio Flex contact center platform and other Twilio services. My background spans 25 years including Microsoft and front-end application development, unified communications, enterprise architecture and services, Azure, AWS, database design and a little bit of everything else.

More from this Author

Follow Us