Search code examples
firebasealexa-skills-kitalexa-presentation-language

Is it possible to change contents dynamically which Alexa skill shows without any user actions?


I want to create a Photo Frame Skill for Echo Show. I want to change photos triggered by external server (such as Firebase and so on). Is it possible to change it dynamically without any user actions?

I saw Notification API and Proactive Events API. But, These show notifications to user. I don't want to show anythings to user. I want just trigger controlled from external server to change contents.


Solution

  • The answer depends a lot on the type of skill (for example if it is based on Alexa Conversations or not). But you can try exploring something along this line:

    1. Keep the token of last rendered APL document
    2. Send an APL ExecuteCommand directive from your skill server (https://developer.amazon.com/en-US/docs/alexa/alexa-presentation-language/apl-interface.html#executecommands-directive)
    3. You can use one of the standard APL commands, depending upon your use case. One option is SetValue command (https://developer.amazon.com/en-US/docs/alexa/alexa-presentation-language/apl-standard-commands.html#setvalue-command) to modify the background image.