Code Monkey home page Code Monkey logo

alexa-mint-skill's Introduction

alexa-mint-skill v0.1

Simple Alexa skill to collect and speak balances from Mint (http://mint.com)

Dustin Runnells ([email protected]) - 3/9/17

Status

It seems to be working for me. I can get a balance on my checking accounts, credit cards and mortgage through different banks by speaking things like:

  • Alexa, ask Mint for my bank balance.
  • Alexa, ask Mint for my balances.
  • Alexa, ask Mint for my credit card balance.

Someday I'd like to add budgets to this script as well.

Notes

  • This skill is intended to be used for personal/private use. It cannot be installed from the Alexa Skills Market. Installation of this skill requires you to follow the steps that a Skill developer would need to take to create a skill for development purposes. After completing these steps you will be able to ask Alexa for bank balance information obtained from your Mint account.
  • This skill is based on the Alexa PHP Helo World example by Mell L Rosandich

Dependancies

  • Linux/Unix web server capable of SSL/HTTPS with PHP installed to host the PHP Alexa skill
  • MintAPI CLI tool by Mike Rooney

Installation

  1. Install MintAPI and verify that it works on the command line.
  2. Obtain an SSL certificate (https://letsencrypt.org/ is free). This is required for all Alexa skills.
  3. Configure your web server to host an https website and copy/host all project files at that URL (eg. https://example.com/alexa-mint-skill)
  4. Edit the config.php file to include your Mint email address, password and the ius_session and thx_guid required for MintAPI. See MintAPI for more info.
  5. Login to the Alexa section of the Amazon development portal: https://developer.amazon.com/edw/home.html#/
  6. Click "Get Started" in the Alexa Skills Kit box.
  7. Click the "Add New Skill" button on the top Right.
  8. Set Skill Type to "Custom".
  9. Set Name to "Mint".
  10. Set Invocation Name to "mint".
  11. Set Audio Player to "No".
  12. Click Next to move to the Interaction Model tab.
  13. Paste the following into the Intention Schema box:
{
  "intents": [
    {
      "slots": [
        {
          "name": "bankType",
          "type": "BANK_OBJECT"
        },
        {
          "name": "budgetType",
          "type": "BUDGET_OBJECT"
        },
        {
          "name": "actionType",
          "type": "ACTION_OBJECT"
        }
      ],
      "intent": "Mint"
    }
  ]
}
  1. Add a Custom Slot Type for "BANK_OBJECT" wth the values:
  • bank
  • loan
  • investment
  • credit
  • credit card
  1. Add a Custom Slot Type for "BUDGET_OBJECT" with the values:
  • food
  • shopping
  • bills
  • entertainment
  • gas
  • auto
  1. Add a Custom Slot Type for "ACTION_OBJECT" with the values:
  • budgets
  • balances
  1. Paste the below into the Sample Utterances box:
Mint get {bankType} balance
Mint get {actionType}
Mint get {budgetType} budget
Mint get my {bankType} balance
Mint get my {actionType}
Mint get my {budgetType} budget
Mint for my {bankType} balance
Mint for my {actionType}
Mint for my {budgetType} budget
Mint for the {bankType} balance
Mint for the {actionType}
Mint for the {budgetType} budget
  1. Click the Next button to move on to the Configuration tab.
  2. Set Service Endpoint Type to HTTPS.
  3. In the text box under the region enter the HTTPS URL where you are hosting the alexa.php file from this project (eg. https://example.com/alexa-mint-skill/alexa.php ).
  4. Click the Next button to move to the SSL Certificate tab.
  5. Select "My development endpoint has a certificate from a trusted certificate authority".
  6. Click Next to move to the Test tab.
  7. Type "Mint get my bank balance" in the simulator and confirm that no obvious errors appear in the returned JSON.
  8. Try on your Amazon Echo. If all went well, you should now be able to ask Alexa to retrieve your bank balances.

Development

Want to contribute? Let me know! This is my first GitHub project, I'd love to hear how to make it better.

License

MIT

alexa-mint-skill's People

Contributors

drunnells avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.