Friday, May 22, 2015

Super Nerdy Amazon Alexa To Google Calendar Hack and My Wish-list For Amazon

I like my Amazon Echo. Note the use of the word LIKE not LOVE. I feel it was worth the "$99 Prime" price I paid for it but certainly not the $199 "Rest of You Heathens" price. The truth is, I can imagine the potential for greatness and that gets the nerd in me all kinds of jazzed.

I had a big geeky "O" the moment they announced integration with IFTTT. If you aren't familiar, IFTTT is a super cool logic connecter for many of the web apps you love. Stands for "IF This Then That". I use it to do loads of neat things like back up iOS photos to a Google Drive folder, add Foursquare check-ins to my calendar, etc.

Imagine my excitement when I thought I could use it to get some more out of little Alexa here!

Alas, the integration is lackluster, so far. It can send a notification to my iPhone when an item is added to my To-Do list, which is not all that useful as I am primarily the person adding items and I know I added an item and, therefore, don't need a notification to tell me that. It can push To-Do's and Shopping List items to other To-Do applications like TodoistWunderlist or Remember The Milk which can be nice, especially if you are already in love with those other list apps.

But I was really longing for to have Alexa add items to my calendar with DATE, TIME and LOCATION set.

I have successfully accomplished this with a complex daisy-chain of tools working together. I'm happy to share my hack with you but, be fore-warned, it ain't pretty!

You will need:
  1. Amazon Echo (Duh!)
  2. IFTTT account
  3. Zapier account
  4. Google account (Seriously, it's GOOGLE. I'm not linking to it for you!)
  5. Patience
  6. Some level of technical expertise
  7. A good sense of humor
Step 1:
Login to your IFTTT account and create the following recipe. You will need to be sure your Amazon Alexa and Google Drive channels are connected already, but I'm not going to tell you how to do that. Figure it out! This is that technical expertise I said you needed earlier.

Basically, you want IFTT to add a row to a spreadsheet of your choosing when you create a TO DO. At this point you might be wondering if you're going to end up with random calendar items that read things like "Buy Socks" and "Clean Toilet".  The answer is "No". That will be handled by a combination of Zapier and the way you phrase your request.

Step 2:
Create a spreadsheet in Google Drive in the exact same location with the exact same name as you told IFTTT to use. If it's not exact, wackiness will ensue and you'll need loads of that patience I mentioned earlier.

Step 3:
Login to your Zapier account and create the following zap. You will need to be sure your Google Sheets and Google Calendar Accounts are connected already. Again, this is your problem.

Create a Zap that triggers when a new spreadsheet row is added. The action will be to Quick Add a calendar event. Why Quick Add and not Detailed? Quick Add will parse the text and pick out the DATE, TIME and LOCATION, assuming you said it right and Alexa heard you right, which is, frankly, assuming a lot.



You are going to want to filter the Zaps so you don't end up with calendar events that say "Buy Socks" and "Clean Toilet". The filter should look for the text to contain the word "o'clock". Which mean you're going to have to remember to format your speech to Alexa. More on that later.

Here's what the filter looks like.

Important Note: If you skipped Step 2 and didn't create the spreadsheet already, shame on you. Zapier can't find it and you're going to have to start over creating your Zap. That's what you get for not following instructions.

Step 4:
Once your IFTTT recipe and your Zap are completed, you're ready to test drive your formulas. This is where you will require the patience and the sense of humor I spoke about.

You need to speak very carefully to Alexa to get this right. If you don't say exactly the right words, slowly and carefully, but not too slowly or she will think you are done before you are done, you will end up with a lot of non-sense like you see below. Remember that sense of humor I mentioned earlier? You'll need that now.
I guess MOVIES sounds a lot like BOOBIES
You must say your event in this format:
"Alexa, Add [event][full time format] at [location] to my To Do List"

RIGHT WAY:
  • "Alexa, Add MOVIES SEVEN O'CLOCK PM at OVERLOOK DRIVE-IN to my To Do List."

WRONG WAY:
  • "Alexa, Add MOVIES at SEVEN O'CLOCK PM at OVERLOOK DRIVE-IN to my To Do List."
    Your location will be seven o'clock PM and the event start time will be the time it was added to the calendar. 
WRONG WAY:
  • "Alexa, Add MOVIES at SEVEN PM at OVERLOOK DRIVE-IN to my To Do List."
    Your zap won't trigger because it's looking for the word "o'clock". I tried to make it work with a. m. OR p. m. as the filter word but it just wasn't happening. Let me know if you make it work.
___________________________
An Open Letter To Amazon:
Seriously!?! That was a sh*t-ton of work to get something as basic as scheduling a calendar event to work with something that is meant to be a digital assistant. If a dork like me could rig this up, it should take about the same time as a Starbucks run for the crack team you've got to work it. So, while there at it, here's my the rest of my wish-list. Can I have this stuff?! PLEEEEAAASE! Pretty Please! I really LIKE (like not LOVE) Alexa and I want to LOVE her. I really, really do. You can do it! I believe it you.
My Wish-list for Amazon Echo: 
  1. More than one timer.  Like FOR REALZ?!?!
  2. More than one alarm. See above.
    1. If she's not going to have more than one timer or alarm, she should at least tell me if she's canceling my previous one. Right now if one of my kids says,  "Alexa, set a timer for 20 minutes." because they're timing reading homework and my husband is comes in and says,"Alexa, set a timer for 10 minutes." because he needs to time what's on the grill, that digital slut just dumps the previous timer and sets the new one with no warning or concern for the previous person's needs.
  3. Calendar Events so I don't have to do stuff like this anymore. 
  4. Reminders that actually remind me to do stuff. I know I can set an alarm but then I have remember what Alexa is beeping about. And I know I can put it on my To Do list but then I have to remember to check my To Do list. I want to say "Alexa, remind me to take out the trash on Sunday at 8 PM" and then on Sunday, at 8 PM, I want her to say "JT, it's time to take out trash." not "Beep, Beep, Beep". Even the "Beep, Beep, Beep" assumes nobody else set an alarm between when I asked and Sunday at 8 PM (see above).
  5.  iTunes Library Connection. I've spent a long time building this library and I want to use it and not just as a Bluetooth speaker.
  6. Phone Calls. If my Kia can connect to my contacts, dial a number and act as a bluetooth mic and speaker, I'm sure Alexa could do it.
  7. Alerts. Why can't she tell me if I get a text? One of the main reasons I wanted this is because once I'm home my phone is secondary. It's in my purse or on silent or in another room. It shouldn't be too difficult to say "JT, you have a text from your brother. It reads..."
  8. Post To Facebook. How can I possibly survive the hour I'm cooking and eating dinner without telling the world that I'm having some nachos that are seriously Amaze-balls?! Okay, this is less important.
See Amazon. It's a tiny list of demands desires. Your guys and gals can bang this out over lunch, right? Just please don't make me purchase new hardware to do it. I mean, I'll probably do it, but I'll be pissed.

5 comments:

  1. Alerts for events too... I was all set to buy an Echo because I always get busy at home and forget to leave for appts, etc. My phone isn't loud enough but Alexa telling me it's time to go would be SUPER helpful!

    ReplyDelete
  2. Alerts for events too... I was all set to buy an Echo because I always get busy at home and forget to leave for appts, etc. My phone isn't loud enough but Alexa telling me it's time to go would be SUPER helpful!

    ReplyDelete
  3. @JT I think I love you! Thank you for a well written blog that also shows a lot of personality. I "like" my echo to (not love). Now that Google has a separate "Reminder" capability on both their IOS app and their webpage I'd love to find a way to tell Alexa "Alexa, add ", at and have that show up in my Google calendar under a Reminder for the day I set it for.

    If you hear how to do this I'd love to connect and learn it. My email is "scottstephens84@gmail.com" Thanks again for a great post.

    Scott

    ReplyDelete
  4. part of my previous comment somehow got deleted. I guess this blog site doesn't like "<". Anway, I want to be able to say "Alexa, add pick up bagels on Monday All Day" and have it add a Reminder to my Google Calendar under Reminders.

    ReplyDelete
  5. You also know how to make people rally behind it, obviously from the responses.
    see here

    ReplyDelete