Search code examples
actions-on-google

Compare app actions with conversational actions


I'm a developer trying to learn to interact apps with Google Assistant.

I noticed that as a developer we can use app actions (action.xml or shortcut.xml) to define how we want the google assistant to communicate with the app. Besides, there are conversational actions that can also do a similar job.

I wonder which one is preferred by Google and what are the differences in between. Are the apps developed by Google using conversational actions or app actions? and finally how can I tell if an app is using either of them or both?


Solution

  • Broadly speaking, app actions are a way to launch an Android app (possibly into a specific Android Intent and with specific information) from the Google Assistant running on Android, while conversational actions are a way to interact with a webhook-based app through the Google Assistant, typically over multiple turns.

    While the two are similar, in that they both work through the Assistant, they are rather different.

    App Actions

    • Only work on Android devices, not everywhere that the Assistant runs.
    • Are generally used to launch an already installed app, possibly providing specific information to a deep link in that app.
    • Can also be used (in some cases, with features that are coming soon) to provide widgets from the app into the Assistant.
    • Once the app is launched, you are (usually) no longer interacting with the Assistant - you're in the app, and have the UI from that app, which is generally not voice driven

    Conversational Actions

    • Work across all platforms where the Assistant runs - from Smart Speakers to Android devices
    • Do not require an app to be "installed" - you can invoke it by name just like you open a web page
    • Primarily uses voice interaction for all of the work - there does not need to be a visual component.
    • Code runs "in the cloud", not on the device, which acts more like a web browser.

    Google doesn't "prefer" either, and they develop both types. (For example, anything that works with a smart speaker is a conversational action, while apps like Google Maps include app action support). It depends on your use case and what you already have available:

    • If you have an existing Android app, then app actions may be a reasonable approach.
    • If you are starting from scratch, then you may want to look at conversational actions.