Google Assistant - data storage (history of conversation) - actions-on-google

I can't find any Google's clear statement about the storage of data (history - Google Assistant).
Is there anyone here who knows the answer/s or knows who should I write to? I wrote to Google's helpdesks and they all say that they don't know and they don't deal with such issues... 🙁
It's all about Google Assistant (agent built on Google Actions):
User turns off history recording or deletes history. Is this history deleted on Google's servers, so it no longer exists?
User doesn't delete the history - it is being constantly recorded. Does Google have any access to conversation history or this access have only the user and the developer of the Assistant's app and it is encrypted, so Google can't "read" it?
It is possible to disable any conversation history on Google Assistant, so it is never being recorded?
Thanks!

Related

Are incoming webhooks available to all Google chat users or just users with Google Workspace access?

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.

Can I disable email notifications of changes in a Google Doc via Google Apps Script?

I have a Google Form that when submitted, a Google Apps Script generates a Google Doc with the information submitted and some magic behind it. This Google Doc is emailed to various people for collaboration purposes.
Whenever someone makes a comment, I get an email notification of the comment, flooding my inbox. I know I can disable the notifications manually from the Doc, but can I disable them via Google Apps Script to avoid that manual step?
The Google Doc is created by making a copy from a template. I disabled the notification settings in the template, but those settings are not being carried over to the copy.
Any help is greatly appreciated! Thanks!

Google assistant account linking with facebook

I'm trying to make a chatbot with Dialogflow for Google Home. It requires the user to input a URL. Now it will definitely be a long and complicated URL which I can't recreate and I can't have the user speak into the google home.
The idea I had was that the user would input the URL on an agent on messenger. I store this on a Firebase database and then access it with a second agent.
Now the issue I have is authentication, I was hoping to use account linking on my google action with facebook. But I can't login to Facebook with google home. Or if I can, I can't find any documentation specific to that case. Facebook doesn't provide the necessary client ID and secret(as far as I can see).
I managed amazon and Gmail account linking with Alexa and an Amazon Echo. In those cases, you would have to login to google or amazon on the Alexa app or webpage. Then this will be integrated with your Echo and the skill will become usable.
Anyone have an idea of how I can make the link happen, if not then anyone have an idea as to how I can solve the overall problem?
This question has been left unanswered on other forums, but I was hoping to either get it solved or find an alternative.
There are three approaches to solving your overall problem - getting the URL manually entered and available to your Action. Two of them tackle it the way you've suggested - involving authenticating to Facebook and tying that to the Assistant account somehow. One solves it entirely inside the Assistant.
Account linking to the Facebook account
You've tagged firebase-authentication, so I'm going to assume that you're using it to do the auth and you've enabled Facebook login through it. This means your user has a "Firebase Account", but they log into that account using Facebook.
I will assume you have a way to get the URL from messenger once they're logged in.
The trick in this case is to setup Account Linking between their Firebase account and their Assistant account. This is done by setting up an OAuth2 server that has access to the Firebase accounts and will create authorization and refresh tokens that are given to the Assistant.
In the Action, you'll send the user to the Sign In helper, which will redirect them to your login page and send back a one-time auth code to the Assistant. The assistant will then use your OAuth2 server to exchange this code for auth and refresh tokens. Periodically it will use the refresh token to get new auth tokens.
When the user returns to the conversation through the Assistant, you'll be handed an auth token and you can use this to lookup the user. Since you also know their Facebook account, you can get the URL via however you planned to do so.
There are drawbacks to this method - it is very complicated, and setting up your own OAuth2 server is not for the faint of heart. You may be able to use something like Auth0 instead of Firebase Authentication to accomplish the same thing, but then you don't have the ease of access to the Firebase database.
Account linking to both Facebook and Google
In your Firebase account, however, you don't need to limit them to just logging into Facebook. You can have them use Firebase to record both the Facebook and Google accounts that they're using. This would "link" the two accounts together in your system.
With this, you don't need to setup an OAuth2 server. Instead, you can have the Assistant use Google Sign In for authentication. If the Google Cloud Project that Firebase is using and the Assistant are using are the same project, then once the user has logged in to your project's web page with their Google account, you'll get an identity token on the Assistant which will contain their Google ID. You can use this to match up with their Firebase account and get the Facebook ID and proceed from there.
But this is still a lot of work and kinda messy, jumping between systems.
Using just the Google Assistant (and maybe a web page)
If you're willing to make some assumptions about the devices your users are using, then you may be able to do it all just using the Assistant. The Assistant doesn't just run on the Google Home and other smart speakers, it also works on most current Android and iOS devices.
So you can detect if they have such a device available and, if they do and they're not currently on it, direct them to switch to that device when you need the URL.
If they don't have such a device available (perhaps because their version of Android is older), and you think this may be a common scenario, you may need to make another entry source available. This could be one of the solutions above, or you may want to just have a simple web page (done via Firebase Hosting and Firebase Functions, perhaps) where they log in using their Google account (so you get their ID) and you let them enter the URL. If you just need a URL - going through Dialogflow may be more complexity than you need.

Developer Access to Google Assistant Conversation History

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.

Link Analytics API to my Google Developers account

When I sign in to Google Developers console and go to the Enabled APIs tab, I see "No enabled APIs". I used to see the Analytics API here and now it's no longer there. That's because the project associated with it is gone.
I believe this happened when I switched my old Google account to the new Google Apps for Work account. It asked me to choose between the two because they had the same email address and I chose to keep the new one.
Unfortunately the old one had all the Developers APIs associated with it. :(
The Analytics API is still working, it's just no longer associated to my account. Is it possible to link it back to my account?
Thanks for your help,
Philip
PS. I can provide my Google email account and the Google Analytics API client id on request if needed.