Capabilities in`shortcuts.xml`let you declare the types of actions users can take to launch your app and directly perform a specific task.

For example, Google Assistant App Actions use capabilities to let developers extend in-app features to[built-in intents](https://developers.google.com/assistant/app/intents)(BIIs), letting users activate and control those features using spoken commands. A capability consists of the name of the action and an`intent`targeting the destination in your app that resolves the user intent.

## Define capabilities in shortcuts.xml

You define`capability`elements in a`shortcuts.xml`resource file in your Android app development project. To define a`capability`element, do the following:

1. Create a`shortcuts.xml`resource by following the instructions in[Create static shortcuts](https://develop/ui/views/launch/shortcuts/creating-shortcuts#static).
2. Include the following required information in your capability:

   - **Capability name:** the action you want your app to support. Refer to the component documentation for the feature that requires capability definitions. App Actions voice-enabled commands use the BII`Action ID`for capability names, which you can find in[BII reference](https://developers.google.com/assistant/app/reference/built-in-intents). For example, the[`GET_THING`](https://developers.google.com/assistant/app/reference/built-in-intents/common/get-thing)BII lists its`Action ID`as`actions.intent.GET_THING`.

   - **App destination:** the destination in your app the action launches to fulfill the user request. Define app destinations using`intent`elements nested within the`capability`.

   - **Parameter mappings:** each`intent`might contain parameters to be passed as`extra`data of the intent. For example, each App Actions BII includes fields representing information users often provide in queries that trigger the BII.

The following example demonstrates a capability definition in`shortcuts.xml`for[`actions.intent.START_EXERCISE`](https://developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise), a BII that lets users use spoken commands with Assistant to begin a workout in a fitness app:  

    <shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
      <capability android:name="actions.intent.START_EXERCISE">
        <intent
          android:action="android.intent.action.VIEW"
          android:targetPackage="com.example.sampleApp"
          android:targetClass="com.example.sampleApp.ExerciseActivity">
          <parameter
            android:name="exercise.name"
            android:key="exerciseType"/>
        </intent>
      </capability>
    </shortcuts>

In the preceding example, the`<capability>``android:name`attribute refers to the`START_EXERCISE`BII. If a user invokes this BII by asking Assistant,*"Hey Google, start a run in ExampleApp,"* Assistant fulfills the user request using information provided in the nested`intent`element. The`intent`in this sample defines the following details:

- The`android:targetPackage`sets the target application package for this intent.
- The`android:targetClass`field specifies the destination activity:`com.example.sampleApp.ExerciseActivity`.
- The intent`parameter`declares support for a BII parameter[`exercise.name`](https://developers.google.com/assistant/app/reference/built-in-intents/health-and-fitness/start-exercise#recommended-fields)and how to pass the parameter value---collected from the user---as extra data in the`intent`.

## Associate shortcuts with a capability

Once you define a capability, you can extend its functionality by associating static or dynamic shortcuts with it. How shortcuts are linked to a`capability`depends on the feature being implemented and the actual words included in a user's request. For example, when a user begins a run in your fitness tracking app by asking Assistant,*"Hey Google, start a run in ExampleApp."* Assistant can use a shortcut to launch an instance of a`capability`that defines a valid exercise entity of "run" for the`exercise.name`parameter.

For more information about associating shortcuts to App Actions, see[App Actions overview](https://developers.google.com/assistant/app).