What's New in APL 2022.1

Alexa Presentation Language (APL) 2022.1 introduces new features and capabilities for APL.

Alexa Live 2022 updates (July 20, 2022)

The Alexa Live 2022 launch includes new tooling and documentation features for APL.

Multimodal Response Builder

The Multimodal Response Builder provides a guided experience to create a visual response with no previous APL knowledge. You can select from a set of templates designed to look good across a broad range of devices, then customize the response by specifying the content to display within the template. Then, you preview the response both in the developer console and on a device.

After you finish customizing the response, the Multimodal Response Builder generates a code example you can copy into a request handler in your skill to display the response.

The Multimodal Response Builder doesn't replace the existing APL authoring tool. Use the authoring tool to build custom documents. You can also use the Multimodal Response Builder to get started, and then edit the document in the full authoring tool if you want to do more complex customizations.

For more about using the Multimodal Response Builder, see Use the Multimodal Response Builder.

Code sandbox

The code sandbox displays APL examples in a code editor alongside a live APL preview pane. You can experiment with changing the code and see your changes render in the preview pane.


Most interactive features work in the sandbox. For example, you can test interactive components that run APL commands. The sandbox does have some limitations:

  • The sandbox doesn't support the Video component.
  • The sandbox doesn't connect to a skill, so you can't test the SendEvent command.
  • The sandbox doesn't support testing APL transformers, such as the textToHint or ssmlToSpeech transformer.
  • The code editor doesn't save your changes. When you refresh the page or click the Reset all button, the code shown in the editor reverts to its original state. The Reset all button resets the APL Document and Data Sources tabs.

For topics that include the code sandbox, see the following:

New best practices guide

Use the new APL Best Practices for Developers guide to learn how to streamline your APL skill development process and improve the quality of the interactive voice and visual experiences in your Alexa skills. The guide covers the technical aspects of implementing APL, with less focus on visual design and user experience (UX).

To read the new guide, see APL Best Practices for Developers.

New accessibility guide

Use the new APL Accessibility Guide to learn how to build APL visuals that are accessible to users with limitations and disabilities. APL supports screen readers for users with impaired vision. This guide explains how APL supports accessibility and provides best practices for building more accessible experiences.

To read the new guide, see APL Accessibility Guide.

APL for audio templates

When you create a new APL for audio document in the authoring tool, you can select from a set of templates that show how to achieve common tasks.

For details, see APL for audio templates.

APL version

The current APL version number hasn't changed and remains at version 2022.1.

APL 2022.1 release features (June 7, 2022)

Revised APL version number format

With the latest APL release, APL version numbers now use a year-based format: <YEAR>.<RELEASE>. Therefore, the latest version of APL is 2022.1. Set the version property of your APL documents to 2022.1 and use 2022.1 in conditional statements in your documents.

Authoring tool updates

The Lottie converter now supports additional Lottie format features:

  • Bezier Interpolation
  • Linear Interpolation
  • Alpha Matte / Mask
  • Spacial Bezier Interpolation
  • Line Cap
  • Trim Paths Individually
  • Radial Gradient
  • Stroke Gradient

For a detailed list of supported Lottie features, see Import a Lottie Animation

Mute and unmute the video audio during runtime

The Video component now includes a dynamic muted property. Set this property to true to mute the audioTrack for the video. Because muted is dynamic, you can mute and unmute the audio at runtime. Use the SetValue command to change this property during runtime.

As part of this update, when the Video component is the source or target of an event, the event.source or event.target event includes a muted property to report the current muted state of the video.

Work with APL versions

In your APL document, set the version to "2022.1".

A user can invoke your skill on older devices that do not support the latest version of APL. When working with features introduced in a specific version of APL, provide an alternative experience for devices running earlier versions of APL. The environment.aplVersion property in the data-binding context returns the version of APL on the device. This property returns null for APL 1.0 and the actual version for 1.1 or later. Use this property in when statements to create conditional blocks based on version.

For example, this renders a VectorGraphic on a device with APL 1.1 or later, and an image for APL 1.0:

[
  {
    "type": "Image",
    "when": "${environment.aplVersion == null}",
    "width": 100,
    "height": 100,
    "source": "https://example.com/alternate/image/for/older/versions.jpg"
  },
  {
    "type": "VectorGraphic",
    "when": "${environment.aplVersion != null}",
    "source": "lightbulb",
    "width": 100,
    "height": 100,
    "scale": "best-fit"
  }
]

The APL version is also available in requests sent to your skill, in:

context.System.device.supportedInterfaces.['Alexa.Presentation.APL'].runtime.maxVersion

This example shows a request from a device with 2022.1. Note that the session, request, and viewport properties are omitted for brevity.

{
  "version": "1.0",
  "session": {},
  "context": {
    "System": {
      "application": {
        "applicationId": "amzn1.ask.skill.1"
      },
      "user": {
        "userId": "amzn1.ask.account.1"
      },
      "device": {
        "deviceId": "amzn1.ask.device.1",
        "supportedInterfaces": {
          "Alexa.Presentation.APL": {
            "runtime": {
              "maxVersion": "2022.1"
            }
          }
        }
      },
      "apiEndpoint": "https://api.amazonalexa.com",
      "apiAccessToken": "eyJ..."
    },
    "Viewport": {}
  },
  "request": {}
}

Last updated on 2022-07-20