Implement built-in intents for App Actions

Built-in intents allow your app to express its fulfillment capabilities to Google. By registering for the intent in your actions.xml file and mapping intent parameters to the fulfillment, Google is able to deep link into your app in response to queries by the user.

The information on this page summarizes the built-in intents that users can trigger to launch your Android app using the App Actions functionality. The built-in intents are grouped according to app categories; each category represents some collection of common tasks that users frequently want to perform on their apps.

The following intents may include additional deployment requirements and recommendations. These requirements and recommendations help us to ensure that your app is delivering the best possible experience to your users.

Figure 1. Invoking START_EXERCISE.
Figure 2. Deep linking into the app.
Figure 3. Launching a Slice in the Assistant.

For the full list of built-in intents, their parameters, and example queries you can use for testing, see the built-in intent reference. Unless otherwise specified, parameters are optional for App Actions.

Your app should not directly perform an action that modifies a user's real-world state (for example, transferring money, placing an order, or sending a message) without first confirming with the user.

Food ordering

Order food

actions.intent.ORDER_MENU_ITEM

Initiate an order for the specified menu item. Disambiguate the menu item, if applicable. Disambiguate the restaurant first before disambiguating the menu item, if applicable.

Your app must confirm with the user before placing the order.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • menuItem.name
  • restaurant.name

Supported entities

We recommend that you specify entities for the menuItem parameter if you are developing single-restaurant apps (for example, an app for ordering from a national chain with a common menu), or apps that don't support menu search.

If your menu items have add-ons, sizes, or other customizations, you currently need to provide a single entity for each unique combination. If this does not support your food ordering use case, please file a feature request on the public issues tracker.

Check an order

actions.intent.GET_ORDER

Present a summary of an in-progress or previously completed order. Disambiguate the order before presenting the summary, if applicable.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Fitness - exercise

Start an exercise

actions.intent.START_EXERCISE

Initiate the user's fitness-related physical activity in real-time (for example, live tracking of a run). Disambiguate the physical activity to be initiated first if required.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • exercise.name

Supported entities

We recommend that you specify entities for exercise.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Stop an exercise

actions.intent.STOP_EXERCISE

Complete a user's in-progress fitness-related physical activity.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Pause or resume an exercise

actions.intent.PAUSE_EXERCISE

actions.intent.RESUME_EXERCISE

Pause or resume a user's in-progress fitness-related physical activity.

Log an exercise

actions.intent.RECORD_EXERCISE

Record a user's already completed fitness-related physical activity.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • exercise.name

Supported entities

We recommend that you specify entities for exercise.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Answer exercise queries

actions.intent.GET_EXERCISE_OBSERVATION

Present the calculated or observed value for a given property of a given physical activity the user has performed (for example, the number of steps taken or the number of miles ran, biked, or hiked).

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Parameters your app must handle

  • exerciseObservation.aboutActivity.name

Supported entities

We recommend that you specify entities for exerciseObservation.aboutExercise.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Find an exercise plan

actions.intent.GET_EXERCISE_PLAN

Present a requested exercise plan to the user. Disambiguate exercise plans, if applicable.

Parameters your app must handle

  • exercisePlan.name
  • exercisePlan.forExercise.name

Supported entities

We recommend that you specify entities for exercisePlan.forExercise.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Fitness - nutrition

Log food or drink

actions.intent.RECORD_FOOD_OBSERVATION

Record a user's action of consuming food, beverage, or nutrients (such as protein).

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • foodObservation.aboutFood.name
  • foodObservation.aboutNutrient.name

Supported entities

We recommend that you specify entities for foodObservation.aboutNutrient.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Answer nutrition queries

actions.intent.GET_FOOD_OBSERVATION

Present the calculated or observed value for a given property of a given nutrient the user has consumed.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Parameters your app must handle

  • foodObservation.aboutNutrient.name

Supported entities

We recommend that you specify entities for foodObservation.aboutNutrient.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Fitness - health

Log health statistics

actions.intent.RECORD_HEALTH_OBSERVATION

Record information about a user's personal health.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • healthObservation.measuredProperty.name

Supported entities

We recommend that you specify entities for healthObservation.measuredProperty.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Answer health queries

actions.intent.GET_HEALTH_OBSERVATION

Present the calculated or observed value for a given property of the user's personal health information.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Parameters your app must handle

  • healthObservation.measuredProperty.name

Supported entities

We recommend that you specify entities for healthObservation.measuredProperty.name. Refer to the ‘Supported text field values’ section in the built-in intent reference.

Finance - accounts and payments

Transfer or send money

actions.intent.CREATE_MONEY_TRANSFER

Construct a new request to transfer money. This built-in intent can be used for transfer requests between people, accounts, and organizations.

Your app must confirm with the user before submitting the transfer.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • moneyTransfer.amount.value
  • moneyTransfer.moneyTransferDestination.name
  • moneyTransfer.moneyTransferOrigin.name

Supported entities

We recommend that you specify entities for moneyTransferDestination.name and moneyTransferOrigin.name.

Show account overview

actions.intent.GET_ACCOUNT

Present a summary of the user's account. If applicable, disambiguate or present multiple accounts at once.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Supported entities

We recommend that you specify entities for account.name.

Show an upcoming bill

actions.intent.GET_INVOICE

Present a user's bill. Disambiguate or present multiple bills, if applicable.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Supported entities

We recommend that you specify entities for invoice.forService.name.

Pay a bill

actions.intent.PAY_INVOICE

Initiate payment of a user's bill. Disambiguate bills, if applicable. Your app must confirm with the user before submitting the payment.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • invoice.forService.name

Supported entities

We recommend that you specify entities for invoice.forService.name.

Finance - brokerages

Show a financial position

actions.intent.GET_FINANCIAL_POSITION

Present a particular financial position held by the user. Disambiguate the financial position, if applicable.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • financialPosition.hasAsset.assetIssuedBy.name

Supported entities

We recommend that you specify entities for financialPosition.heldInAccount.name.

Trade securities

actions.intent.CREATE_TRADE_ORDER

Construct a new order to purchase or sell a security. Your app must confirm with the user before placing the order.

Parameters your app must handle

  • tradeOrder.assetOrdered.assetIssuedBy.name
  • tradeOrder.numberOfUnits.value
  • tradeOrder.typeOfTrade

Supported entities

We recommend that you specify entities for tradeOrder.assetOrdered.assetIssuedBy.name.

Ride sharing

Book a ride

actions.intent.CREATE_TAXI_RESERVATION

Construct a new request to reserve a taxi or ride. When possible, your app must prefill the origin and destination based on the received parameters. Your app must confirm with the user before booking the reservation.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Parameters your app must handle

  • taxiReservation.dropoffLocation.name

Supported entities

We recommend that you specify entities for taxiReservation.category. The category field represents your name for the different types of ride sharing service you provide (for example, "carpool", "vanpool", or "peer-to-peer").

Check ride status or contact driver

actions.intent.GET_TAXI_RESERVATION

Present a summary of an in-progress reservation or ride, including status, estimated time of arrival, and contact information, if applicable.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality. Slice recommended.

Cancel ride

actions.intent.CANCEL_TAXI_RESERVATION

Initiate cancellation of an in-progress reservation or ride. Your app must confirm with the user before finalizing the cancellation.

Deployment requirements/recommendations

Intent must be implemented as an App Action if your app supports this functionality.

Open app feature

actions.intent.OPEN_APP_FEATURE

Generic fallback intent to launch a given feature of the app. This intent is especially useful to help users navigate to features within your app which may be otherwise be difficult to find, or require multiple taps to get to.

Supported entities

You must specify entities for feature.