Dialogflow Draft impacting released Actions on Google Action - dialogflow-es

Initial Situation
We have a published Google Action with Version V1. It has intents A and B and uses the Dialogflow ES - Google Action integration. The fulfillment URL for the intents is example.com/v1. It has been reviewed and is in Production and working fine.
New Version Expected Outcome
We want to deploy a new version V2, which has an additional intent C and a new fulfillment url example.com/v2.
According to the documentation
New Action submissions create a snapshot of your Dialogflow agent at
the time of submission. Future edits to your Dialogflow agent do not
impact this snapshot (or version). For edits to go live, you must
submit your draft for alpha, beta, or production release in the
Actions Console.
In the past this also worked. We imported a new version of the dialogflow agent with a new fulfillment URL and the existing production version was not touched and we could submit a new version for alpha, beta review or production review.
Current Problematic Behavior
The production version V1 is not frozen anymore but seems to be directly linked to the Dialogflow draft. As soon as we import the new action or even just change the fulfillment URL this change is reflected also in production without any review.
We've verified this both via selecting a version in the Google Actions simulator, and also by using Google Assistant on a device with another account which is neither developer nor beta tester and being able to invoke the new Intent C and being redirected to the new version of the backend.
One observation is that in the past the versions released through submitting a version in the Google Actions console showed up in dialogflow under published versions with a note Version created from Actions on Google console. However, for the last production version and subsequent alpha versions this entry is missing.
The issue is currently also being tracked in the dialogflow issue tracker here: https://issuetracker.google.com/issues/217720434
I am writing this here because the Google Actions support is very adamant that I should use these "community forums" for technical issues.
We are interested in finding a workaround as this currently blocks submitting a beta version with the new functionality unless we just make the new functionality also available publicly inadvertantly.

Related

Google Actions Re-certification requirements

Do we need to re-certify a deployed skill if we edit Entities (eg: add synonyms) to Dialogflow or edit Types in case of using Actions Builder?
Essentially is there an "Update Live Skill" option similar to Alexa Skills Kit, where any published skill can be updated immediately when changes are limited to sample utterances within an intent or slot/entity values.
Yes updates to the conversational model will require a redeploy, which will require a review if you go to the beta or production channels. Alpha releases do not require a review.
The releases documentation may provide more information.

Google Assistant - existing dialogflow intents & new actions cooperation

I have a technical question about the Google Assistant - unfortunately, I couldn't find a clear answer anywhere.
At the moment our company have:
the conversational chatbot built on Dialogflow, which is constantly developed by our employees
Google Actions agent. Our developers managed to construct the connection of the Google account and our client's account on our platform using OAuth 2.0 and created the first actions that, by the exchange of tokens, allow the return of certain information from our platform to the Google Assistant and vice versa - providing certain information in the Google Assistant that are sent and saved in the customer's account on our platform.
We would like both actions on actions.google.com (2) and conversations on Dialogflow (1) to cooperate with each other in the Google Assistant. One team is working on the chatbot, and the other on advanced actions, and we would like it to stay that way.
My question is - is the absolute only way to finally publish it on the google assistant is to migrate the chatbot from Dialogflow to Actions Builder and stop using Dialogflow?
Or maybe there is a simpler solution where both these environments (of course woring on one profile / agent) cooperate with each other and it will be possible to continue working on dialogflow?
We understand the advantages of Action Builder, but Dialogflow is just good enough for our needs.
There are a few angles to how you can approach this, depending on your exact needs and limitations you may accept, but the general answer is "yes, you can do both at the same time".
First, Dialogflow ES continues to support the Actions on Google Integration. Just as your Dialogflow agent integrates with other platforms, it should still be able to integrate with Actions.
There are some caveats (and some upsides!) with this, however:
You'll be using the Actions on Google v2 platform, rather than the v3 that comes with the Action Builder (and newer SDK). If the features you need are supported on v2, then you're fine. (Account Linking is supported in v2.) But if you need some of the features in v3, then you will run into problems.
You can't have used the Action Builder on the same Cloud project, and you should start the integration from the Dialogflow side. (But once you do - you'll be able to use the Actions Console to do things such as submit it for review, etc.)
Make sure you do not "upgrade" from Dialogflow to Actions Builder. This severs the two, so you won't be able to update the Action from Dialogflow.
Another approach is that you can use Action Builder, but have it forward all (or nearly all) of the requests to Dialogflow. Under this scheme, you would have an Action Builder project that has as little as one Scene with an Intent that captures all input, sends that to a webhook you control, which sends it to your Dialogflow agent via the Dialogflow API, gets the response from your Dialogflow agent, and forwards that response through Action Builder.
This is a little more complicated, but may offer some benefits if you want to take advantage of more advanced Action concepts that may not be available using v2.

Can I release Google Assistant Private App

I'm developing a Google Assistant Action using Dialogflow.
When the development is completed, I want to release this Action to Assistant.
But this Action is purely for personal use, so I worry that the release is rejected.
Has anyone released a private Action?
I don't want Alpha or Beta version app, because these versions are included 'Test Version' phrases when the version load
If the Action is completely private (ie - just for you) then leaving it in an Alpha channel is most appropriate.
If the audience is broader, but still very limited, and you don't want to deal with the "test" phrase, and you are willing to have it reviewed, then you can limit access to it by using the Google Sign In for Assistant, which will give you a user ID which you can check against a whitelist.

How to implement fulfillment for alpha/beta releases actions google

I've been developing on Actions on Google using Dialogflow. The webhooks worked like charm when using the simulator for testing.
I published an Alpha released but it isn't working at all. The Alpha testers can't get it connect and when I tested that Alpha version on the simulator, it tells " isn't responding right now. Try again soon."
In the documentation "Releasing Your Actions to Alpha and Beta Environments", a paragraph reads:
"Implement fulfillment for alpha/beta releases
The release channel information is not included in the HTTP request from the Assistant to your fulfillment. To handle release channels in your fulfillment, you should provide different fulfillment URLs (for example, one fulfillment URL for the beta and another URL for the production version of your Action)"
I searched everywhere and I could not find any pointers on how to implement a new fulfillment for the Alpha (and eventually the published release).
I have one url that I use in the fulfillment on Dialogflow, so how can I do otherwise?
The same webhook will work for all the versions, (at least it is working for aplha in my case), check for one of the following cases...
Make sure you have added Alpha testers' mail addresses to alpha testers list, otherwise they will not be able to access the alpha release.
Make sure you have deployed the latest updated version of agent on actions on google page. If not do so,
If you are getting a "modified action" message like this, that means you have a change that is not yet deployed.
Deployment of agent is not instant and takes quite a bit of time to get accessible on Google actions platforms. Check the current release status of your latest deployment, it should show "deployed", if it's showing "deploying" you have to wait for some time to get it deployed.
If all of the above is Ok, test the alpha release and check out your web-hook log (even check if web-hook is at least receiving the requests or not) , that will be the only place where you will find any possible error.

Google Actions integration with dialogflow different behavior from draft to alpha or beta

i created a chat bot with dialogflow (V1) and integrated it with google actions for Google Assistant. My company was supported by Google for all development process.
The first release of the chatbot was deployed for all users before 8 may. All works well and the actual release on Google assistant is working well.
The problem now is if i want update the bot with new actions and features the behavior of the chatbot is different in the simulator from draft state to aplha or beta release.
In the webhook the data provided by dialogflow is different (the logs on the cloud function): in the draft all parameters are set correctly , but when switch to alpha or beta version (created from the draft that works well) the parameters are always empty and all the bot answers are wrong.
There are specific actions to make or settings after 8 May to switch from draft to alpha/beta release of Actions on Google to avoid this strange behavior?
Alpha and Beta releases people made last August used to lack the training (machine learning) the agent received. It may be the case here that your alpha and beta versions have the same problem.

Resources