Dialogflow Routine suggestions - Trigger Add new Routine from agent - dialogflow-es

I'm building an agent which Send Daily updates and Routine suggestions.
Using Routine suggestions
https://developers.google.com/actions/assistant/updates/routines
I was able to add my action to existing Routines of google Assistant.
Is there a way to provide user option to create a new routine with my action?
If not, is there any alternate methods to send updates to user by running CRON or something?
I tried Pushing notifications, but it didn't help since it's not updating voice commands in Google home.

Related

How to enable KnowledgeBase in dialogFlow after creating it automatically

I have done below via APIs.
Creating the knowledge base
Adding a document to knowledge Base.
Problem I am facing is once job is done via APIs,
Problem 1:
Its not enabling the knowledge base, I have to goto dialogFlow dashboard and enable it manually
Problem 2:
Also I have to add response $knowledge.answer[1] manually too.
Question:
Can we do this both programatically. so that there is no need to goto dialogFlow dashboard screen and do this manually. :(
What I think above APIs are useless without these both options.
Note: I can paste the code if some one needs. Thank you in Advance
'KnowledgeBases' can only be Enable/Disable through UI, it's an one time configure. If that's not applicable, you can set the knowledge bases for each requests as in 2.
'KnowledgeBases' in 'DetectIntent' requests can be set through the knowledge_base_names[] query parameter.
Note that:
'KnowledgeBases' are just repositories of documents that you can use in 'DetectIntent', agent assist, etc. They don't have enabled/disabled state.
What's referenced to as "Enabled/Disabled" in the UI is an agent setting that means 'DetectIntent' uses the 'KnowledgeBases' by default if no knowledge bases are set in the 'DetectIntent request'.
Regarding your comment "What I think above APIs are useless without these both options." I think it's a valid feature request that I highly recommend for you to submit it through Issue Tracker.

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.

When a google action is launched implicitly can we skip the part where it prompts the user to confirm?

I am trying to use google assistant sdk on raspberry pi.
I created my custom actions project in google actions console.
I am able to interact from my device using run_assistant_audio by using a phrase like "Talk to my raspberry pi"
I have 2 questions for which I could not find any answers in the documentation.
1) Once I launch my agent via explicit invocation then queries like "What is the weather in Agra" are not working. If I don't launch my agent and just run this query it gives the weather information." Is there a way to keep my agent active all the time and redirect to google assistant for queries which my agent does not handle ?
2) If I try to implicitly launch application google assistant asks for confirmation whether I want to launch my agent. Can this confirmation part be skipped ?
In your current workflow, you cannot use Assistant as a fallback. The model of development is Actions being part of Assistant, not the other way around.
You could use the Assistant SDK on your fulfillment, getting run for fallback, but not using the Assistant on the device.
Additionally, an action is not expected to always be active. As such, your expected behavior is not something that is intended.
If you're doing implicit triggering, then your query is somewhat ambiguous. While Assistant may have a good guess as to start the action, it's possible you didn't want that. The disambiguation prompt is intentional to ensure that it doesn't open up an action you didn't want.

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.

Launching app from Google assistant via Dialogflow

I'm using Dialogflow to interact with my users (they can ask questions, ask to receive reports etc...) and I would like to launch an Android application when they invoke one the intents I created, is there a way to that?
Short answer: Not really.
Longer answer: While you can't have one of your Actions trigger any Android Intent directly, you do have a few options to strongly suggest to a user that they do so. For example:
You can use something like Firebase Cloud Messaging (FCM) to trigger a notification/event.
If you're relying on the screen of the Android device, you can send a card that includes a URL, and that URL can deep link into your application if you've configured it.

Resources