12

I want to be able to create my very own custom voice commands and responses for my Google Home device. Is there anyway to do this?

2
  • As of now, in 2020, it's easy: just open DialogFlow and edit your "conversation". But it is "easy" only if you know quite well Google/Android terminology: intents, webhooks, fulfillments, actions, dialogflow events, ... It is also possible to test your dialog on your phone before officially deploying it to the whole world.
    – jumpjack
    Feb 27, 2020 at 18:02
  • As of 2023 they have sunsetted the DialogFlow integration with Google Assistant :( link -> cloud.google.com/dialogflow/es/docs/integrations/aog May 2, 2023 at 15:21

4 Answers 4

8

Google does not provide api for that. Instead their QA tells the users to use external app IFTTT = IfThisThenThat. Newer suggestion of Google is AutoVoice.

2
  • 1
    There is now an API for custom commands: Actions on Google. IFTTT is a great platform though, and probably the easiest to use for consumers.
    – Aurora0001
    May 13, 2017 at 8:34
  • 1
    If there was no API for that previously, then how was IFTTT doing it? Did they have a non-public API with Google that they were using?
    – kec
    Dec 11, 2017 at 20:10
6

For an end user, using IFTTT or another connector service as described in mico's answer is probably the best way.

If you want to develop an action on the Google Assistant platform, you can use Actions on Google, a toolkit with everything you need to develop a new action that other users can interact with. Note that, unlike Alexa, Google Assistant actions don't need to be installed.

To develop a Google Assistant skill, you can either:

  • use API.AI, which is a pre-built platform that interprets user speech and converts it into code that your application can process

  • use the Actions SDK directly, which gives you more control, at the expense of slightly greater complexity.

3
  • 1
    Does the Actions SDK allow you to directly respond to a question, such as "OK Google, what will temperature be at 6 PM?", skipping the need to invoke the app first, such as by saying, "OK Google, talk to Hourly Weather."?
    – kec
    Dec 11, 2017 at 20:14
  • 1
    @kec Yes, in a way—there is an option for implicit invocation. "Implicit Invocation occurs when the Assistant knows to invoke your app without users calling it by name. The most common example of an implicit invocation is when users tell the Assistant they want to accomplish a certain task (by stating an action invocation phrase), and the Assistant opts to invoke your app for that task because it can fulfill the user's intent." Of course Google's algorithms determine which action is recommended, and there's no guarantee which one it'll be.
    – Aurora0001
    Dec 11, 2017 at 20:19
  • 1
    Hm...that kind of does what I want, but probably not ideal. As a personal project, I want to develop an app that (via an intermediary personal server) accesses hourly weather information from wunderground.com. I then want to "add" the app to my Google Home, so that I can just ask questions like "What is the temperature at 6 PM?" I just always want my app to be invoked for me on my account. I don't even want to distribute my app publicly, since I'm limited to 500/day free API calls to wunderground.com.
    – kec
    Dec 11, 2017 at 22:42
5

To create voice commands for google home follow the below given steps:

Go to IFTTT.com.

Sign in or up

Click Search. Search for "Google Assistant."

Click Google Assistant Google Assistant and then Connect.

Choose a Google Account and grant IFTTT access to it. Make sure to choose the account you used to set up Google Home or the Google Assistant on your phone. (Learn how to find the account you used to set up Google Home. If you’re using the Google Assistant on a phone, touch and hold the Home button and then click Home button then More and then Account. The account will be selected.)

See documentation at Create voice commands to control online services & devices

0

It's called Custom Routines in Google Home App.

But it's not so easy to access currently due to unknown reasons.

Switching language to English (Canada) on mobile device does the trick. You'll get then: Routines (incl. Custom Routines), Broadcasts, and even Google Assistant button directly in Google Home App.

Why is it so messy User Experience at Google? Always...

Google Home Custom Routines Google Home Custom Routines Google Home Custom Routines

1
  • Maybe it was still in beta-stage. Now DialogFlow is available. dialogflow.com
    – jumpjack
    Feb 27, 2020 at 18:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.