What's New in APL 2022.2

Alexa Presentation Language (APL) 2022.2 introduces new features and capabilities for APL. APL 2022.2 was released on October 18, 2022.

Resume commands during configuration changes

You run the Reinflate command to re-display a document after a configuration change, such as the user flipping a device between portrait and landscape. This command previously stopped any running commands, which interrupted actions like reading out audio or paging through a pager.

The Reinflate command has a new property, preservedSequencers. You can specify an array of command sequencers to continue to run after the document reinflates.

For details, see the Reinflate command.

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.

Work with APL versions

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

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:


This example shows a request from a device with 2022.2. 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.2"
      "apiEndpoint": "https://api.amazonalexa.com",
      "apiAccessToken": "eyJ..."
    "Viewport": {}
  "request": {}

Last updated on 2022-10-18