About Alexa for Apps

Alexa for Apps lets customers use voice to access content and functionality in your apps and websites. Customers also can access content and functionality on mobile devices such as Alexa Mobile Accessories, Alexa Built-in phones, or directly from the Alexa app. A single Alexa skill can deep-link to both iOS and Android apps, and if you already have existing deep links, there's no need for you to modify your app.

For a detailed overview of use cases, interaction models, and customer experiences, see the Alexa for Apps Design Guide.

Alexa for Apps capabilities and limitations

Alexa for Apps introduces Alexa app links, which you can use to help customers connect to content or functionality in your iOS app, Android app, or website. As an Alexa skill developer, you can use the Alexa App Link interface in your custom skill to launch mobile device customers into your apps and websites.

Alexa for Apps works even if your customer doesn't have your app installed yet. In that case, you can redirect them to the iOS App Store, the Google Play Store, or your website.

Alexa for Apps is available in all locales.

Amazon only supports Alexa for Apps for Alexa custom skills. You can't use Alexa for Apps with skills that use pre-built interaction models, such as Smart Home, music, or video skills.

With Alexa for Apps, your Alexa custom skill can use a managed skill connection request to send a deep link to your app or website. The request contains the following pieces of information:

  • The deep link
  • An optional voice response that plays before the deep link is sent
  • The app identifier for your app
  • Optional information about how to handle fallback cases, such as when your app isn't installed

Alexa for Apps supports the following types of deep links:

  • Universal link – for example: https://www.cityguide.com/search?topic=coffee
  • Custom scheme – for example: ctgd://search?topic=coffee
  • Android intent – for example: intent:#Intent;action=com.cityguide.android.ctgdmobile.actions.SEARCH_ACTION;package=com.cityguide.android.ctgdmobile;S.query=coffee;end;
  • Android Package Manager app launch – for example: com.cityguide.android.ctgdmobile

Your website can seamlessly handle a universal link when the user hasn't installed your app on their device. Fallbacks for universal links default to your app's website. You can't specify a fallback to the Apple App Store or Google Play Store for this type of deep link.

Custom scheme

A custom scheme is a link to functionality within your app. Typically, you provide a fallback URI to the Apple App Store or Google Play Store. However, you can instead provide a website fallback URI, if you want to fulfill the user's request even when the user hasn't installed your app.

Android intent

Alexa for Apps supports both common intents and app-specific Android intents. An app other than the one you intended might pick up the common intents, based on user preference. To handle that case, you can specify a fallback to the Google Play Store or to a website.

Android Package Manager app launch

Sometimes you might want to simply launch an app, for example, to open a game or a news feed. In that case, just include the catalogIdentifier for an Android app launch using the Package Manager. You can specify a fallback to the Google Play Store, or to a website. (For iOS, you can use a custom scheme or universal link to open a specific page in your app.)

How Alexa for Apps works

The following diagram shows how Alexa for Apps works in a typical use case of a mobile app that's a guide to attractions and points of interest for cities.

How Alexa for Apps works
How Alexa for Apps works
  1. An Alexa mobile user says, "Alexa, ask City Guide to search for coffee."
  2. The mobile device sends the request to the City Guide skill. The City Guide skill checks the request payload and sees that the user's device supports Alexa for Apps (indicated by the AppLink field), and that it comes from an iOS device.
  3. If the City Guide skill decides to send the customer to the City Guide app, it uses a managed skill connection request to send an iOS deep link to the Alexa for Apps skill. (For example, the City Guide skill might translate the user request to a Universal Link of: https://www.cityguide.com/search?search_terms=coffee.)
  4. The Alexa for Apps provider skill passes the deep link request to the Alexa app.
  5. The Alexa app uses the universal link to open the City Guide app, and then takes the user to the search results for coffee.
  6. The City Guide app displays the search results.
  7. The Alexa for Apps provider skill tells the City Guide skill whether the deep link request is successful. If the request isn't successful, Alexa simply transfers control back to the City Guide skill.

If you already have deep links enabled in your mobile app, you can use Alexa for Apps to call those existing deep links. If you're new to deep links and want to add them to your mobile application, see the following resources.