Join the Actions on Google Developer Challenge to win a trip to Google I/O 2018 and more than 20 other prizes.

Get Started

You can build Smart Home apps that let users control IoT devices through the Google Assistant. Building Smart Home apps lets you connect, query, and control devices through your existing cloud infrastructure.

Get the end-to-end sample for Smart Home apps by downloading or cloning from Github.

Get the sample

Syncing devices

User set up their devices with the Google Assistant app to authenticate to your cloud services and the Assistant receives an OAuth token. At this point, the Assistant sends an action.devices.SYNC intent to your fulfillment to retrieve the initial list of user devices and capabilities from your cloud infrastructure.

Figure 1 - blue represents Google infrastructure; yellow Partner infrastructure

You can send an intent to the Google Assistant with the action.intent.REQUEST_SYNC intent, which sends the action.devices.SYNC intent to your fulfillment to sync the list of devices and capabilities again.

Figure 2

Executing commands

When users ask the Assistant to send commands to devices, your fulfillment receives a action.devices.EXECUTE intent with a payload that describes the action and the devices to act upon.

Figure 3

Querying device status

Querying of device status, either to answer a user question like "What lights are on in the kitchen?" or to handle relative brightness commands like "Turn up my lights" happens with the Assistant sending an action.intent.QUERY intent to your fulfillment.

Figure 4