engineer psychologist

Setting up google-actions to control python gadgets

Sept. 26, 2020

google-action voice-control

I am using PyCharm so I used it’s GUI to create a new project and a Virtual Environment. I also:

pip install flask
pip install flask-assistant
pip install pyngrok

I also reserved an ngrok domain.

The hard part. Visit Create a new project. MAKE SURE TO SPECIFY ‘United States’. Failing to do so wont let you link with your project (FFS).

You need to note down that project name, and enter it into your python code.

Select ‘Custom’, then ‘Next’.

Next, DO NOT CLICK ON ANYTHING!! Scroll down the screen and select (the very well hidden) ‘Build with DialogFlow’.

Enter a name. Think you need a space. Seems cryptic what you are allowed and not allowed to pick. It took me 3 attempts to arrive at something allowed (and not already reserved). Click ‘Save’.

If you have a small browser window, expand it horizontally to reveal a menu on the left-hand side. Select Actions. Select ‘Get started’.

Let’s build a custom intent.

Sign in with DialogFlow

'Create’ your project.

Delete those default Intents (a bin icon will appear when you hover them). Create an Intent.

Delete those default Intents ( a bin icon will appear when you hover them). Create an Intent.

For ‘Event’, you must select ‘Google Assistant Welcome’.

Scroll down to Filment and Enable webhook. Save your intent.

Select, ‘Fulfillment’ from the left hand menu. Paste in the URL you reserved from ngrok. YOU MUST HAVE HTTPS here (ngrok provides http and https – both will work, despite your python console saying only http… is provided). Save this.

Select ‘Integrations’ from left hand side menu. Select ‘Google Assistant’.

Select ‘Test’. BE CAREFUL! Do not select the option next to ‘Test’.

You end up here. Try out your Action…

Let’s deploy it. Select ‘Deploy’ from the top horizontal menu. Unfortunately you must provide a photo and some text blurb here… along with a link to an online privacy statement! This step is a pain.

Let’s create an alpha release:

I got this message. No further explanation…

Seems my ‘’ location was not good enough. I entered another privacy url.

My second attempt got deployed.

I added myself as an alpha tester:


Return to blog