6

I'm trying to create an Alexa skill which has a fairly wide-open possible number of phrases it could use. Too many to write by hand.

I can probably generate the list programmatically, but it changes frequently, so I'd want it updated frequently.

Is there an Amazon API I can call to update the possible values for a custom slot type, without having to manually log in and copy and paste it all the time?

John Rotenstein
  • 241,921
  • 22
  • 380
  • 470
samanime
  • 25,408
  • 15
  • 90
  • 139

4 Answers4

6

YES! See Update Interaction Model section at their docs.

https://developer.amazon.com/docs/smapi/interaction-model-operations.html#update-interaction-model

Teoman shipahi
  • 47,454
  • 15
  • 134
  • 158
3

No - Amazon does not provide an API for updating your skill. I believe that API.AI provides this and they have an integration with Alexa ASK but I've heard that it's not very good and I don't really expect it to get better now that Google has bought them.

In your first paragraph it sounds like you are talking about supporting a lot of different utterances (ways of saying the same thing), but after that it sounds like you are talking about a large number of 'slot values': the relevant user input extracted from the utterances. Either way, the answer is still no - no API.

I believe there are popular features requests for both a general API for updating the skills, and support for dynamic slot lists, here.

And here's Amazon's defence of the custom slot and how it can replace the (deprecated) literal slot.

Tom
  • 17,103
  • 8
  • 67
  • 75
  • Basically, I'm aiming for one (or a few) utterances with lots of possible values to fill in the blank. Previously, I would have used an literal and parsed it from there, but that'll soon no longer be an option. – samanime Jan 10 '17 at 03:20
  • @samanime ok, that's what I figured. That is a common concern - lots of people were complaining about them removing the literal, so they publshed a blog post in response. I'll add it to my answer. – Tom Jan 10 '17 at 15:14
  • Some dynamic slot functionality is now available. See blog post this week: https://developer.amazon.com/blogs/alexa/post/db4c0ed5-5a05-4037-a3a7-3fe5c29dcb65/use-dynamic-entities-to-create-personalized-voice-experiences . Note the current limitations toward the bottom of the post though. – Adam Knights Apr 01 '19 at 08:54
1

No, but there is now a beta editor which lets you drag a single JSON file containing all utterances, intents and slots. Log into the developer portal and click "Interaction Model Builder Beta".

Tomh
  • 332
  • 3
  • 7
0

In case you're late to the party like I am, check out https://developer.amazon.com/docs/smapi/ask-cli-intro.html for a full CLI/API which allows total model editing via JSON.

keithl8041
  • 2,383
  • 20
  • 27