Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dasevilla/asana-alexa-skill
Alexa Skill for Asana
https://github.com/dasevilla/asana-alexa-skill
Last synced: about 2 months ago
JSON representation
Alexa Skill for Asana
- Host: GitHub
- URL: https://github.com/dasevilla/asana-alexa-skill
- Owner: dasevilla
- Created: 2015-12-14T18:50:20.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-12-14T18:57:51.000Z (about 9 years ago)
- Last Synced: 2024-08-04T00:04:23.365Z (5 months ago)
- Language: JavaScript
- Size: 9.77 KB
- Stars: 12
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Asana Alexa Skill
**This is not an official Asana project**.
Alexa Skill that lets you easily add tasks to Asana. You can optionally add a task to a project.
Example phrases:
- Alexa, tell Asana to add buy milk
- Alexa, tell Asana to add bacon to marketCheckout the `SampleUtterances.txt` file for more examples.
## Limitations
## Authentication
Right now you have to hard-code your Asana access token. While Alexa does support the OAuth 2.0 implicit grant, there's two issues:
- Asana requires the redirect URI, but Amazon doesn't included it when creating the authorization URL
- Asana access tokens are limited to twelve hours, so you'll need to re-authorize the application oftenYou can workaround the first issue by manually specifying the `redirect_uri` parameter in the Alexa Skill authorization URL setting.
### Default workspace
Ideally you could tell Alexa which workspace you want to use as the default. That would need to be stored somewhere and I didn't want to implement that since we're already hard-coding settings due to the authorization limitation.
You can specify the default workspace be setting the `ASANA_DEFAULT_WORKSPACE_ID` in `sample.env`. Finding your workspace identifiers is an exercises left to the reader.
## Configure a new Alexa Skill
Everything you need can be found in the `speech-assets` directory. When setting up the custom slots, the file name should be the name of the custom slot.
## Develop
This project assumes you'll be deploying to Amazon Lambda. Copy `sample.env` to `.env` and fill in the values. Then install the packages:
npm install
To test the event defined in `event.json`, invoke:
grunt lambda_invoke
To create a package in `dist`:
grunt lambda_package
To deploy:
export AWS_ACCESS_KEY_ID=KEY
export AWS_SECRET_ACCESS_KEY=SECRET
grunt lambda_deploy