Action permission Intent not working for alpha testers - dialogflow-es

I am trying to save user information on google assistant bot with the help of dialogflow using actionpermission intent in my webhook to store user previous details which he/she had filled for the first time. Saving like this works perfectly on my developer account and when i add alpha testers for testing my bot and saving their name and type on google assistant bot it works fine for some testers and parallel its not saving information for some other alpha testers. I don't know why its happening. If anyone can help regarding this issue it would be great. Thank you.

I believe the issue is not related to the alpha test but rather to the voice match.
On smart speakers, which are in a multi-user environment, it cannot be assumed by default that the user speaking is always the same. To get around this, smart speakers have a "voice match" feature which needs to be enabled in the device settings.
Until that is enabled, interaction data is not saved between sessions.

Related

How to enable other people's Android phone to use the test version of your unreleased Google Action?

I am developing a Google Action for Google Assistant and it is not yet a state where I can release. Even so I want it to be available for some tester, and in a near future, my client.
The simulator with the "test" is somewhat limited at auth request, name recognition (since it will only knows my action) and experience (to show my client), so I prefer not to depend on it for this case.
I found it is only possible to interact with a test version of an action if the project owner's account is logged in as a Google account in the phone where you want to call the action. Is it correct? Or there is another way?
I even tried adding my wife's Google account as a viewer to the project, but I am unable to call my action from her phone.
You can add people as a viewer to the project. Before those users can call your action on any of their devices, they will need to use the test console at https://console.actions.google.com/ once, this will enable testing on their device. After that they will be able to interact with your action on their devices.
Do note, the time in which the action is available on their account is limited by a time period (about a couple of months). If they cant access the action any more after a couple of months, just repeat the above step to reactivate testing for their account.
Update
One thing that you could consider in the two approached posted by #Prisoner and me is if your testers need to test on just a device or need access to the console as well. Using the approach from #Prisoner will allow your users to test on devices. The above approach will also allow testers to use the console at https://console.actions.google.com/.
In addition to #Jordi's answer, you can also do an Alpha Release of your Action. This lets you permit up to 20 additional accounts to the released version
Once you permit them using the console, you will send them the opt-in URL, which they should visit on a mobile device with that account. Once they have opted into the Alpha, they can activate it using the regular trigger phrase.

Triggering DialogFlow with Face detection

Does anyone know if there is a way to trigger DialogFlow from Face Detection API?
The DialogFlow conversation process is not very user friendly since you need to say :
"Ok Google, Talk to my app"
I've seen something about implicit invocations and deep links here:
https://blog.mirabeau.nl/nl/articles/creating_friendly_conversational_flows_using_google_deep_links/61fNoQEwS7WdUqRTMdo6J2
that provides a better approach
I'm trying to do something like this
https://www.forbes.com/sites/katiebaron/2018/06/07/ambient-tech-that-actually-works-hm-launches-a-voice-activated-mirror/#49b619634463
But with Google Assistant / Dialogflow / Vision API (Face detection)
Anyone has ideas how to do this in Google?
I am afraid that using face detection to trigger Google Assistant is not possible. Google requires you to use a trigger word such as "Ok, Google Talk to my app" when you build actions. This is done due to privacy for the user and makes sure that the app cannot be triggered without the user talking to the device.
Implicit invocations and deep links are shortcuts in your conversations, but they can only be used if you trigger the assistant first by saying "Okay Google..." Thanks for reading my blog by the way :)

Cannot create intent with certain trigger phrases

It seems Google Assistant is unable to handle certain trigger phrases in the intent. The ones I have come across are the following:
Send message to scott
chat with q
Send text to felix
It seems to work fine inside dialogflow simulator. However, it doesn't work at all in Action Console Simulator or on a real device like google home mini. On Action Console Simulator, it gives "You cannot use standard Google Assistant features in the Simulator. If you want to try them, use Google Assistant on your phone or other compatible devices" and on a real device it gives an error "I am sorry, i cannot help you .." and exits completely and leaves the device in a funky state. It doesn't seem to trigger any fallback intent. I have tried adding input context but make no difference.
It's very easy to reproduce. Just create a demo action with an intent for the above phrases along with "communicate with penny", invoke your app and then try the above phrases after the welcome message. It will only work if you say "communicate with ..".
Is this a known issue/limitation? Is there a list of phrases that we cannot use to trigger an intent?
The Actions on Google libraries (Node.js, Java) include a limited feature-set that allow third-party developers to build actions for the Google Assistant.
Standard features available in the Google Assistant (like "text Mary 'Hello, world!'") won't be available in your action until you build that feature, using fulfillment.
Rather than looking for a list of phrases you can't use, review the documentation for invocation to see what you can use. Third party actions for the Google Assistant are invoked like:
To learn how to get started building for the Google Assistant, check out Google's codelabs at https://codelabs.developers.google.com/codelabs/actions-1/#0
If you've already reviewed Google's Actions on Google Codelabs through level three, consider updating your question to include a list of your intents and a code sample of your fulfillment, so other Stack Overflow users can understand how your project behaves.
See also, What topics can I ask about here?, and How do I ask a good question?

How can I create an action that is available only to me

I've tried now several times understanding if it is possible, and if yes how, to create custom actions that are available just for me on a Google Home device. I have a working Dialog Flow agent that works well in the Dialog Flow simulator. It used to work in the Google Assistant simulator and I could enable it for one hour, but now that doesn't work either.
I would be happy using IFTTT if it had webhook responses instead of just fixed responses...
Am I barking up the wrong tree?
There is not a good way to have private actions for a given user. The only way to do it is to enable testing for a given project. Then all devices using your account should be able to "talk to my test app" and communicate to your webhook. However, this test may end after a few days.

actions on google demo code is not working on my android phone

I followed https://developers.google.com/actions/dialogflow/first-app tutorial and built my first google action. The action is working fine on my laptop browser in the test (Followed "Preview the App" section of the tutorial) environment. However, when I am trying to use this action on my phone by saying "OK Google talk to my first app". It's not working. Is it supposed to work on my phone as well? I have logged in with the same Gmail account on my phone also.
PS - I have posted the same question on "actions on google" google plus community google as well but I am not sure if that community is to post such questions or not. Therefore, I am posting it here also.
Thanks in advance!
Once you have enabled testing through the simulator, it should be available on all devices (mobile, speakers like Google Home, etc) with the same account your simulator is running in. Double check to make sure they're the same account.
In your case, however, you may be using the wrong invocation phrase. If you actually said what you did above, you need to say the exact same thing that you typed to invoke it.
If you haven't set a name in the configuration, then that phrase will be
Talk to my test app
Update
As you note in the comments - you also need to make sure you're running the Google Assistant, and not one of the other voice search components. The Google Assistant requires:
Android 6.0 or higher
Google app 6.13 or higher
Google Play services
1.5 GB of memory
720p screen resolution
Phone set to a supported language
As you probably already know you have to enable Web & App Activity, Device Information, Voice & Audio Activity in the Activity controls page.
Then you also have to be sure that the language of your agent is the same used by your google assistant.
I solved thanks this last step.
Hope this helps

Resources