It was a cold October morning. It was 7am. I really did not want to get out of bed. But I had to pop out my laptop and set my out of the office email. I wish I could have just told Alexa to set my automatic reply for me while I laid there warm and comfortably.
To my knowledge, no one has integrated Alexa as an advanced fast email management assistant beyond basic reading and writing email (that's slower than just popping out your phone!) so I wanted to give it a shot - I believe it's possible to unlock the power of Alexa as a time saving helper; you just have to find the right use case.
What it does
The mail toolbox integrates with email clients to provide automated email functions beyond basic email reading. It's key use case is for setting and unsetting your automated reply email from a range of professional templates when you're sick or out of the office. User's can choose from a range of email templates and options. Instead of popping out their laptop or phone, they can let Alexa handle this mundane task where you really just want it to be done. People can also set their emails at night for the next day. There's also a premium option that allows user's to choose from a wider selection of pre-written template emails and have more control over the settings.
Templates include: Sick, OOTO(Out of the office) doctors appointment dentist appointment optometrist appointment family is visiting relatives are visiting friends are visiting
Set your emails for: today, tomorrow, for any time range
In Skill Purchasing + Free options
The best premium offerings should complement an excellent free experience. The mail toolbox provides a the most common functions out of the box for free aka setting your sick and out of the office emails today or tomorrow. However, it also provides a mail toolbox plus option for users who want more control over the toolbox. User's can ask for the purchase options to start but they can also be shown the upsell when they try to engage in a premium feature. This way, the premium features never interrupt the freemium users and we only target those who are actually interested in the advanced functions of the mail toolbox.
How I built it
I leveraged AWS Lambda, the serverless architecture model (SAM), the Alexa developer console, some automated testing tools, the microsoft graph API, S3 to build out the functionality. The implementation is currently only available with outlook but is easily extensible into gmail and other mail clients (gmail has some annoying authentication requirements so I chose outlook integration for speed)
Challenges I ran into
The Alexa documentation is definitely a challenge to decipher because it's very inconsistent. It's in a disparate number of locations including the alexa developer website, some Alexa employed bloggers, a code documentation pdf, github, and readthedocs.io formats. Also, alot of implementation details are hidden inside the Alexa service itself so you just have to be extra careful you're calling services correctly.
Accomplishments that I'm proud of
There are alot of touch points in developing an Alexa skill that are not apparent at first glance. Setting up a facts skill is trivial, but what happens when you need storage? or when you need to add in-skill-purchasing? oauth2? There are alot of components working together and I'm proud that It worked when all put together.
What I learned
Voice user interfaces are very specific in what they're useful for. Automation and productivity is one of them - conversations is not. This was one of my key reasons for omitting dialogs completely - if it's slower than whipping out your phone than you bet your shirt that people will go for the phone. I also learned that voice is very powerful because it lets people multitask and provides for very natural flows if done correctly.
What's next for The Alexa Mail Toolbox
I have a host of ideas about automating, managing & controlling your email via voice. I also am going to integrate with gmail and other popular mail clients