InteractionModel Interface

The InteractionModel interface allows a client to support complex interactions initiated by Alexa. This interface must be enabled using the Capabilities API to support Alexa Routines. Once enabled, Routines are configurable using the Amazon Alexa App.

Version Changes

  1. Declaring the InteractionModel interface via the Capabilities API will enable Alexa Routines for your product.
  2. The InteractionModel includes the new NewDialogRequest directive and modifications to the AVS interaction model voice request lifecycle.
  3. Declaring the InteractionModel interface via the Capabilities API includes the ability to designate which product will respond to your Routine by selecting it as the product that "Alexa will respond from" using the Amazon Alexa app. This also allows you to trigger a Routine from one product, and target a different product to respond.

Capabilities API

To use version 1.0 of the InteractionModel interface, it must be declared in your call to the Capabilities API. For additional details, see Capabilities API.

Sample Object

    "type": "AlexaInterface",
    "interface": "InteractionModel",
    "version": "1.0"

NewDialogRequest Directive

When an interaction is initiated by Alexa, a NewDialogRequest directive with a unique dialogRequestId is sent to a client. The dialogRequestId in the payload of InteractionModel.NewDialogRequest directives must be set to active and executed immediately. Directives with a dialogRequestId in the header that equal the dialogRequestId from NewDialogRequest directives must be processed in sequence. For more information about interactions, see the Alexa Voice Service Interaction Model.

Sample Message

    "directive": {
        "header": {
            "namespace": "InteractionModel",
            "name": "NewDialogRequest",
            "messageId": "{{STRING}}"
        "payload": {
            "dialogRequestId": "{{STRING}}"

Payload Parameters

Parameter Description Type
dialogRequestId A dialogRequestId provided by Alexa that replaces the current dialogRequestId set on your client. Subsequent directives from Alexa will use this dialogRequestId and conform the rules defined in the Alexa Voice Service Interaction Model. string