This project is under active development and you should check GitHub for the most recent information. Invocation has been changed from trigger to maker connect as Alexa was getting confused with official IFTTT.
Deployment StatusPublished on Skill Store
IFTTT Maker Connect Unofficial
UsageInstall the Skill from above.
Link your IFTTT account using your Maker Key and account linking.
Create a new IFTTT applet using the "Maker" for "this" with your desired trigger word, and your desired action for "that".
To activate the IFTTT rule "Alexa ask maker connect {trigger word}.
Keep triggers to one word, you can supply 4 words to Alexa and they will be passed in the form of {trigger} {data} {data} {data} to IFTTT as described below.
Trigger words "stop" and "cancel" cannot be used as they are cancel the Skill.
Process Overview
Since the Amazon Echo is not working with the IFTTT in the UK I made a hack to get around it by creating my own Echo Skill and AWS Service to interface with the Maker Channel of IFTTT.
IFTTT Maker accepts POST in the form
Here's an example of it working, I said "Alexa, tell maker connect test this is data" to trigger an email to me in IFTTT with the data values as the body.
https://developer.amazon.com/alexa-skills-kit
- intents: IntentsSchema.js
- custom slot type: DATA, TRIGGERS
- values: {your data and trigger options}
- sample utterances: sample-utterances.txt
Create a new skill with the following parameters, you will need to come back and input your AWS ID into in the configuration section.
This skill now uses an account linking hack described here to store the IFTTT Maker Key in the access token. The site is provided in GitHub package and can be hosted for free on AWS CloudFront. You can ignore this and set account linking to no and set your maker key directly in lambda.py, the details are described in the AWS CloudFront section.
https://aws.amazon.com/lambda/
- runtime: python 2.7
- handler: lambda.lambda_handler
- role: choose existing role
- existing role: lambda_basic_execution
- trigger: alexa skills kit
Edit keys.py with your Amazon Skills Kit App ID and deploy to Lambda.
Upload the contents of AWS Lambda Deployment Package as .zip in the code section.
AWS CloudFronthttps://aws.amazon.com/cloudfront/
I'm going to suggest if you are building this for personal use you edit lambda.py and replace session['user']['accessToken'] on line 99 with "your maker key" and skip the rest of this section.
You will need to set your vendor ID in index.html then upload the contents of the GitHub "site" folder" as a .zip to CloudFront or your preferred host. You will need the URL for the Skills Kit account linking section. Your vendor ID can be found on the Alexa Skills Kit configuration page at the end of the redirect URL.
This my first project that has used any web service, before this I had only written a small personal app in python (also on GitHub). So this is essentially my first real programming project where I have had to consult any documentation, my first time using JSON, and JS too.
Every Day's a School Day
Updates10/11/16 Added site for account linking to provide maker key
Comments