I am developing a Google Assistant app for Google Home, and about to launch the app. I am wondering, once my app is live on the Google Assistant platform, whether I (as a developer) would have access to all of the conversation histories as users interact with my app.
If so, does Actions on Google / Google have some sort of interface to view / download the history? Or, do I have to log and capture the history myself? I thought the history will be really helpful for me to improve my app.
Many thanks!
It depends a bit on how you have built your Action.
If you have built it with one of the templates - then no, you don't have access to the conversations.
If you have built it with the Actions SDK or with Dialogflow, then you will have access to quite a bit of information that is delivered to your fulfillment webhook. If you have intents that do not send anything to your webhook - you will not get that information.
There are tools that help you examine conversation flow, see where users get stuck or fall out of the conversation, or how they're using your Action. Most of them have good integration with the Actions on Google libraries. I use a combination of Chatbase, Dashbot.io, and Google Analytics.
Related
I am currently a free user of Google chat, and I am trying to set up an incoming webhook to send myself asynchronous messages (notifications) in a chat space. I have not been able to locate the "Manage webhooks" dialog in the chat space menu. Is the incoming webhook chat bot feature for Google Chat only available for user with Google Workspace access?
The documentaiton is not very clear about it, but to add a webhook, you should be able to create it first
The documentation for Google Apps Script bot specifies:
Prerequisites
A Google Workspace account with access to Google Chat.
There is no direct respective mention for Webhooks, but this seems to be a bug - see There is no mention in the documentation of the "Configure webhooks" being available only for Workspace users.
In other words:
Unfortunately, Incoming Webhooks are only available to Google Workspace users, even if it is currently not mentioned in the documentation.
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.
I publish a flash briefing skill on Amazon's Alexa. It is a brief news update on a specific topic. I provide the information to Alexa via a json file that is updated every 10 minutes.
I'd like to publish something similar on Google Home devices. However, when I look at DialogFlow, that API appears to be conversational-based. Is that the right API for this type of app? Is there a Template for flash-briefing-like apps (i.e., easy to launch apps that don't require any additional user input after launching)?
No, you don't need a conversational Action for what you're doing.
Depending on the specifics of how you're providing the content, you may wish to look at either Podcast Actions or News Actions. These methods document what Google is looking for to make structured content available to the Google Assistant.
Refer me to some ready made example of google assistant notification, I'm a tech guy I have already developed app with dialogflow(donot support notification yet), I have both google home and mobile assistant, just want to see google action notification in action.
There's this very detailed guide by Google with ready made code that you can easily adapt to your needs.
It offers code for Dialogflow as well as for the plain ActionsSDK.
Basically the steps are:
Ask for permission
React to it in your fulfillment code (confirming the user's decision)
Notifying Google's backend when it should send a notification to the user (you need a JSON web token). This last step has to be done on some backend which knows about when to send notifications
Those steps are outlined in more detail on the linked site and there's also described how to obtain the token.
I work for a publication and would like to find out how I can enable our site to be read by Google Home or if there's something I need to do to set that up. I've looked at the Google Assistant SDK but it seems to be geared more towards custom commands to your own device like a Raspberry Pi etc.
Thank you!
You're right, the Google Assistant SDK is for building your own Assistant hardware.
The Actions on Google API is for building Actions that work with the Google Assistant on multiple platforms. With this, you can build an Action that responds to requests to "Hey Google, Talk to your action name". Google also reviews these Actions periodically to find ones that may more directly respond to questions such as "Hey Google, tell me the news".
There is currently no way to explicitly have your audio included as part of Google Assistant's "Good Morning" news briefing list, although Google may use RSS streams or other public feeds to make such content available.
Update
Google just announced formalizing what they call Content Actions, which are the formal way to get specific content such as poscasts, news, and recipes through the Assistant. See the documentation for details, but in your case, they've documented what the RSS feed should look like.