In the previous post we saw what a Google Smart Home Action is, and how to perform Account Linking.

Create a Google Smart Home Action

All Actions development happens in the Action Console. Just login with your Google Account and click New project:

Click on Smart Home

Define a Display name:

Then set the Account Linking URLs:

Since my OAuth server is following the Authorization Code flow, I will set up this Action accordingly:

Then fill the client ID, secret and URLs as defined in your OAuth server:

The OAuth server needs also to know the PROJECT_ID, that can be found in the Action Settings page:

Fullfillment and authentication

What is a Google Smart Home Action for a c# developer? Back to the bone is someone that pronounce some voice commands, and the corrisponding c# methods will be executed.

In the Google jargon would be: every Smart Home Intent will be fullfilled by a webhook. In other words the Google Assistant listen to the user’s words, and send the request to the fullfillment server that elaborates a response.

So we need a fullfillment server. It’s a web server that expose APIs that responds to user voice commands and do something on the IoT thermostat.

We will use a c# ASP.NET Web API to implement the fullfillment server. This server will be published in an AWS Lambda, but for now let’s focus on the Smart Home Intents.

Go to part #3.