Alexa - Ask EasyDial to give DT a ring about my broadband...
Calling customer support is painful, you have to navigate a menu then wait on hold for 30mins... When all you want to do is go live your life without your phone to your ear!
What it does
We created an Alexa Skill that calls a company's customer service team on your behalf. It then chooses the correct menu option, waits on hold until finally you reach a human customer service agent and at that point forwards the call onto you.
How we built it
Alexa connects to a AWS Lambda function, this makes a request to a Flask server. This then uses Twillio to create a conference call, adding the company and our AI agent. The agent then selects the appropriate option for the users query with IBM Watson's Speech to Text and Alchemy Language tools. When a customer representative answers, the user is then connected!
The way we do it with Watson is to take Taxonomy, Sentiment and Keywords, which are then analysed and weighted to determine the best matching response.
Challenges we ran into
- Phone calls have a surprisingly low sampling rate, this meant Watson had a hard time with the classification
- Conference Calls with Twilio have a few nuances!
Accomplishments that we're proud of
- All of it coming together! Was awesome to use three great technologies, really feels like the future
What we learned
- The Twillio API is pretty good!
- IBM Watson struggles to classify sentences with the word 'query'!
- We know way more about the ins and outs of Alexa
- There is no company that will get you through to a person on a Sunday in less than 60 seconds!
- It is all to easy for someone to ask Alexa to buy you a PS4 for next day delivery...
What's next for EasyDial
- Expanding to cover any customer service number, ie by looking up the number for you