Smart displays
Stay organized with collections
Save and categorize content based on your preferences.
Smart Displays bring visual-forward devices into users' home environments. Be a
part of your users' daily routine, by creating an Action that helps with in-home
productivity or entertainment, accompanied by rich visuals.
Build rich responses for Smart Displays
Actions on Google provides rich responses that are optimized for Smart Displays. You can build visual interactions for your Actions using components such as:
In addition, you can also create custom themes to more deeply customize your
Action’s look and feel.
Modalities
Even if the device has a display, remember that the primary modality for users
is voice-first. Make sure to design your rich responses specifically to support
voice invocation.
To detect the availability of a screen and the input modality on a Smart
Display, you can use the following code:
- Has screen:
if (conv.screen)
- Uses voice modality:
if (conv.input.type === 'VOICE')
- Uses touch modality:
if (conv.input.type === 'TOUCH')
- Uses keyboard modality:
if (conv.input.type === 'KEYBOARD')
Tips & best practices
- Use rich responses and theme customization to make the most out of the
screen.
If you're playing media, consider using media responses.
Think about the user's environment and how your Action can add to their home
productivity.
Linking out to the web from smart displays is currently not supported.

Try these Actions
Try this sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-18 UTC.
[null,null,["Last updated 2024-09-18 UTC."],[[["\u003cp\u003eSmart Displays are visual-forward devices used in homes, and developers can create Actions for in-home productivity or entertainment with rich visuals.\u003c/p\u003e\n"],["\u003cp\u003eActions on Google offers rich responses such as basic cards, lists, carousels, and more, that are optimized for Smart Displays, allowing for visual interactions.\u003c/p\u003e\n"],["\u003cp\u003eWhile Smart Displays have screens, the primary user modality is voice, so rich responses should be designed with voice invocation in mind.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should leverage rich responses and theme customization to enhance the visual experience and consider the user's home environment when designing their Action.\u003c/p\u003e\n"],["\u003cp\u003eMedia responses are ideal for Actions involving media playback, but developers should ensure their Action requires media playback support and remember that web linking from Smart Displays is currently not supported.\u003c/p\u003e\n"]]],[],null,["# Smart displays\n\nSmart Displays bring visual-forward devices into users' home environments. Be a\npart of your users' daily routine, by creating an Action that helps with in-home\nproductivity or entertainment, accompanied by rich visuals.\n\nBuild rich responses for Smart Displays\n---------------------------------------\n\nActions on Google provides [rich responses](/assistant/conversational/df-asdk/rich-responses) that are optimized for Smart Displays. You can build visual interactions for your Actions using components such as:\n\n- [basic cards](/assistant/conversational/df-asdk/rich-responses#basic_card)\n- [lists](/assistant/conversational/df-asdk/responses#list)\n- [table cards](/assistant/conversational/df-asdk/rich-responses#table_cards)\n- [carousels](/assistant/conversational/df-asdk/selection-responses#carousel)\n- [suggestion chips](/assistant/conversational/df-asdk/rich-responses#suggestion_chips)\n\nIn addition, you can also create [custom themes](/assistant/conversational/df-asdk/rich-responses#customizing_your_responses) to more deeply customize your\nAction's look and feel.\n\nModalities\n----------\n\nEven if the device has a display, remember that the primary modality for users\nis voice-first. Make sure to design your rich responses specifically to support\nvoice invocation.\n\nTo detect the availability of a screen and the [input modality](/assistant/conversational/webhook/reference/rest/Shared.Types/InputType) on a Smart\nDisplay, you can use the following code:\n\n- **Has screen** : `if (conv.screen)`\n- **Uses voice modality** : `if (conv.input.type === 'VOICE')`\n- **Uses touch modality** : `if (conv.input.type === 'TOUCH')`\n- **Uses keyboard modality** : `if (conv.input.type === 'KEYBOARD')`\n\nTips \\& best practices\n----------------------\n\n- Use [rich responses](/assistant/conversational/df-asdk/rich-responses) and [theme customization](/assistant/conversational/df-asdk/rich-responses#customizing_your_responses) to make the most out of the screen.\n- If you're playing media, consider using [media responses](/assistant/conversational/df-asdk/rich-responses#media_responses).\n\n | **Note:** Not all devices support media playback. Make sure to [configure your\n | Action to require media playback support](/assistant/conversational/df-asdk/surface-capabilities#surface_capabilities_for_actions) in the Actions console.\n- Think about the user's environment and how your Action can add to their home\n productivity.\n\n- Linking out to the web from smart displays is currently not supported.\n\nTry these Actions\n-----------------\n\n- [SongPop](//assistant.google.com/services/a/uid/000000d630f56867)\n- [HeadSpace](//assistant.google.com/services/a/uid/000000addca8c8f3)\n- [Jeopardy](//assistant.google.com/services/a/uid/00000076d5b94d46)\n- [Mad Libs](//assistant.google.com/services/a/uid/0000001e90753a94)\n\nTry this sample\n---------------\n\n- [Dialogflow conversation components sample](//github.com/actions-on-google/dialogflow-conversation-components-nodejs)"]]