How to implement fulfillment for alpha/beta releases actions google - webhooks

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.

Related

Dialogflow Draft impacting released Actions on Google Action

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.

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.

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.

User Entity is not working in Alpha Release

I have developed an Action for google assistant using Dialogflow v1, everything is working perfectly in a developer version, but once I have submitted it for the Alpha release, the user entity not working for the alpha version or with the testers account.
I have checked my logs and it shows me that user entity is created successfully but it didn't detect it in the slot filing.
I have also tested it with the Get request from Postman with the same sessionId and successfully get the entities but I understand why it is not detecting in slot filing in Alpha version.
I have attached the video also about the issue, Please help me to resolve this.
https://drive.google.com/file/d/1y2zSKqcZ3OTey_RGnRxHMZfFVhP5oSlh/view
I got stuck with this same issue a few weeks ago, after a looong conversation with AOG support I got this answer :
"I had to do some digging. Currently, the session entities arent available for alpha/beta/prod AoG versions."

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