0
votes

New to Alexa skills in general. Developing an application where the state of an Alexa skill is determined by other means than voice interaction. So let's say for instance it is a weather skill. I understand I could access a weather service from the skill intent handler to retrieve the "weather state", but I wonder if there is a way for - in this example - the weather station, to POST the state of the weather to the skill and have the skill store it as a (global, user independent) state variable. This would save me having to build a second webservice where i would maintain state information.

I have seen the Messaging ability of skills, but I'm not sure if that is the right thing to use for what i want.

2

2 Answers

0
votes

I think you need this Proactive Events API

You can use the Proactive Events API to send events to Alexa. The events represent factual data that might interest a customer. Upon receiving an event, Alexa proactively delivers the information to customers who have chosen to receive these events ...

Because customers can choose to be notified of events from your skill, they are never surprised to receive proactive messages from Alexa. With this API, you can send a personal customer-specific event, which results in a notification for a single customer. Alternatively, you can send a broadcast event, which triggers notifications to all customers who have chosen to receive notifications from your skill. For example, a weather skill can send a single weather alert, which Alexa then delivers to all interested customers.

There is a demo in Javascript

0
votes

After I figured out how easy it is to set up an EB webservice and build a simple API using Node for the ASK lambda function to fetch data from, I guess this is a better approach. I might even replace the ASK lambda function with an EB Node service that does both the skill backend and the persistent storage in one.