1

Right now my Action for Google via Dialogflow only works if I say:

Hey Google, ask ACTION to INTENT

I want to remove the ask ACTION to part, so I can just say:

Hey Google, INTENT

My Action is basically a "Turn on device". I can say things like:

Hey Google, ask home to turn on TV
Hey Google, ask home to turn on fan

and so on. Is this possible? I know for Alexa they're called Home Automation Skills, but they're really tricky to setup, apparently.

Prisoner
  • 49,922
  • 7
  • 53
  • 105
MortenMoulder
  • 6,138
  • 11
  • 60
  • 116

4 Answers4

4

There are two (sorta three) answers that address your question in different ways.

First - there is no way, programmatically, to remove the ask ACTION to part. This would be like asking if there was a way to remove the hostname from a URL.

However, you (as a user) can setup a shortcut so that when you say "Hey Google, turn on the TV" this actually gets interpreted as "Hey Google, ask some action name to turn on the TV". To do this

  1. Go into your Google Home app.

  2. Open the Menu -> More Settings -> Shortcuts

Second - as @shortQuestion suggested, you could rely on implicit invocations to do what you want. To pull this off, you need to setup the various phrases that will trigger an explicit invocation - and hope that Google notices these and suggests them as something the user can do. There is no way, however, to force Google to pick your Action for a particular phrase, Google's pick may change over time, and they may just suggest your action instead of immediately invoking it. This is sorta like trying to play the SEO game with Google's search engine.

But... what you're asking to do is something that is more along the lines of a Smart Home action. I wouldn't call it "tricky" to create a Smart Home action, but you cannot do it with Dialogflow, and it requires you to create and setup a server that manages (and ultimately controls) the devices in question.

Prisoner
  • 49,922
  • 7
  • 53
  • 105
  • "there is no way, programmatically, to remove the ask ACTION to part. This would be like asking if there was a way to remove the hostname from a URL." I guess actually there is a way https://developers.google.com/actions/discovery/implicit in action sdk that are the main Action trigger query pattern at dialogflow i am not sure where the setting is – shortQuestion Dec 15 '17 at 16:39
  • 1
    Fair point, although that doesn't quite do what he wants either. I've updated my answer. – Prisoner Dec 15 '17 at 18:20
  • 1
    I agree to use Smart Home actions. That does exactly what OP wants. – Nick Felker Dec 15 '17 at 18:44
1

I just found in the Invocation And Discovery Docs

You able to do that!

  • Invocation name, ex. Talk to Dr.A

  • Deep link invocation, ex. find recipes

  • Discovery (MOST IMPORTANT)

In some cases, some of an intent's query patterns can trigger your action, even if users don't use your invocation name.

Huy Tower
  • 7,769
  • 16
  • 61
  • 86
0

This is not programmatically possible on the Google Assistant. The only way to do this is by setting a shortcut in your Assistant. You could set "INTENT" as a shortcut for "ask ACTION to INTENT".

Bart
  • 498
  • 2
  • 8
  • There are shortcuts or settings for shortcuts in my Google Home app on iOS... Seems to be a US exclusive, just like everything else with Google Home – Anders Bornholm Dec 30 '17 at 11:19
0

Go to the "Action discovery and updates" section of the actions on google console, and configure some implicit invocations for the public to discover the functionality within your assistant without explicitly invocating your bot by name.

gla_mp4
  • 21
  • 5