This project provides an Alexa Skill for the Monzo card/bank - It allows users to query their bank balance and spending history simply and easily with just their voice.
- Clone the repository
- Run
npm install
- Zip everything in the folder (including the
node_modules
folder!) - Set up a AWS Lambda function, and choose to upload the code as a ZIP.
- Go to the Alexa Developer Site and create a new Alexa Skills Kit skill.
- Use whatever you like for the application name and invocation name
- Set up the Interaction model using the schema defined in the
alexa_schema
folder - On the configuration page
- Set the service endpoint to use the ARN from the Lambda function you set up above
- Enable Account Linking
- Set the
Authorization URL
tohttps://auth.getmondo.co.uk/
- Set the client ID to the ID given by Monzo's OAuth client registration
- Copy one of the
Redirect URLs
into theRedirect URI
of your Monzo OAuth Client - Set
Authorization Grant Type
toAuth Code
- Set
Access Token URI
tohttps://api.monzo.com/oauth2/token
- Set Client Secret to the secret given by Monzo's OAuth client registration
- Enable the skill for testing on your own Alexa
- Develop!
If you're having difficulty linking your account to Alexa using the Alexa app on iPhone, try instead using https://alexa.amazon.co.uk/ through a desktop or mobile browser (Avoiding any built-in WebViews if possible).
If you recieve Unable to import module 'module'
in your CloudWatch logs after uploading the zip to AWS Lambda, then the structure of your zip might be in a format that Lambda doesn't expect. Your zip must not contain just a folder at its top level, it must contain index.js on the top-level.