How to create suggested input in actions on google while creating an google assistant app in dialogflow? - actions-on-google

I want to put a prompt to allow user to choose while responding in google assistant app. I am creating this in dialog flow. How do I do this?

If you want to add "suggested input" items into your conversational experience as they show in the simulator or on a screen device, you are talking about "Suggestion Chips". Here is what that looks like in the simulator:
Using Dialogflow you can go into an Intent, and go to Responses. Go to the Google Assistant tab. Add a response and choose the type "Suggestion Chips". The input should match an intent.

Related

is deeplinking into the google assistant app possible?

I want to link from my app into the Smart-Home-Control Screen of the Google Assistant App.
Unfortunately I do not find any documentation with these keywords.
Is it possible to do that?
I'm thinking off something like googleassistant://
If yes - how?
Thank you!
For conversational Actions, you can use Action links to guide users to the specified intent within your Action.
Not sure about direct link to the smart home control screen but these urls will launch the home app. You may be able to find and endpoint which shows this the control screen
https://madeby.google.com.
https://madeby.google.com/home-app.
Replace agentId with your action agent ID.
https://madeby.google.com/home-app/?deeplink=setup%2Fha_linking%3Fagent_id%3Dda-prod-agentId
See:
https://developers.google.com/assistant/smarthome/develop/discovery

Actions On Google link to Maps

I am using Actions On Google / Dialogflow to create a custom Google assistant app. I would like to link from my action to Google maps. So the user can be navigated to the suggested location.
An example conversation would be:
User: Where is my nearest post box?
Assistant: Your nearest post box is in London, two miles away, would you like to Navigate there?
User: Yes
---Google Maps opens and with directions running---
I can do this with a phone, because I can use a Button but this use case makes the most sense in Android Auto, which isn't classed as a smart display so doesn't support Buttons.
Is there any way I can show a notification or link out to Google Maps from the assistant?
A button is the right element to handle this type of behavior. On devices that do not support the screen surface capability, the button will not be shown. As such, there is no way to automatically activate a Maps event, including on Android Auto in particular.

"There was an error completing your request" on Google Dialogflow

When trying to publish an app from DialogFlow from the integration section of the console.
After clinking "Manage Assistant App" or "Test" in the integrations > Google Home assist tab, I get the following Error:
There was an error completing your request
The page is
https://console.actions.google.com/u/0/project/[projectname]/simulator/
or
https://console.actions.google.com/u/0/project/[projectname]/overview/
And, when I import my project into Google Actions, no actions show up.
How can I fix this?
The description is too vague to help with this so here are some questions:
where from (from which screen) do you find and click the "Manage Assistant App"? Is this from the DialogFlow or the Actions on Google (AoG) dashboard?
Is your project working and providing the correct responses when you
try it from the DialogFlow?
Are you using a fulfillment?
If yes do you use the inline editor?
If yes, here are 2 things that can provide you with more information about the issue:
At the DialogFlow 'try it now', check the JSON object that it responds with by clicking on the "Diagnostic info" and check for any errors
At the fulfillment, scroll at the bottom and click on the 'View execution logs in the Firebase console'
OK, I worked out the issue. I have two google accounts. My personal account and my work account. The issue is when I click "Manage Assistant App" or "Test" it open google Actions. This is a separate application to DialogFlow.
When I opens Actions it changes to my personal account, but DialogFlow is using my work account. So I changes google Actions to my work account...........
And Bingo!!!!!!!
It works!!!!!

DialogFlow: Google Calendar Event function from Google Actions (Oauth2)?

I have created an agent in DialogFlow that interacts with the user giving her the ability to check for details like demographic from a back-end database. I have achieved this using Fulfillment/Webhook calls and have successfully parsed/returned different types of Responses to the user to play with. I have tested this on both an Android device and the Google Actions Simulator.
Now, what I want to achieve is to give user the ability to "Set a Reminder" on a platform like Google Calendar or similar through my App. By default, Google Assistant does this by simply telling it to "remind me..." and Google creates a reminder in the calendar. But as soon as I invoke my app, the Assistant is out of scope so using the "remind me" command won't work. I want to use the Google Calendar for example to create a reminder through my agent so that the user is notified at the due time.
I understand that when the user invokes an App in Google Assistant, she is using her Google credentials so I guess if I want to use the App to create a reminder, I should have the option. I have had a look at the Calendar API but I am not sure if I should proceed that way. Is there a better way of achieving this?
Please note, I want to use a reminder service that is available to the user without subscribing to a third-party service.
The Calendar API is the way to go. Details here.
In those docs you'll see reference to the access token, which you can get by using the helper intent askForSignIn (example of use here in one of Google's example projects).
Hope this helps!
So for all those who are facing the same issue, here is what I did:
First created an account on https://auth0.com
Followed this guide to configure the necessary settings to link to Google Assistant (ignored the Jovo part)
Used Auth0 guide to configure and link to my Google project credentials (ignored the Admins SDK Service part)
Now when I run my Google Actions App on the device, a button "Link [App Name] to Google" showed up. Clicking on that "signed me in".
Parsed the response in my webhook to grab originalRequest.data.user.accessToken
This is the token mentioned in #lukedavis answer. The next step was to use the token to execute a call to the Calendar API. Upon trying that, I am facing a different problem which I am trying to find the solution for. But the above should assist those who wish get the accessToken.

How to open an app with google assistant

I would like my assistant to fire up an app on the phone, is that possible?
The assistant does it when I ask it to call someone or sometimes it fires up the browser when I ask for something, will I be able to pass the user onto a web page without him needing to click the richCard?
Thanks
Currently not possible
Also excited for this feature