Dialog Flow - Integration issues with Google Assistant - actions-on-google

We are working on project using Google Home.
Details:
We have built certain intents in Dialog Flow. It has certain follow-up questions to get the parameter values, as a multi-turn dialogue. When testing using Dialog Flow, test console, I am asking
Can you help in booking a table: It prompts back with right question (Where do you want to book a table) as configured in Dialog Flow
Where do you want to book a table : I answer - "Some Restaurant". It prompts back with right question (When do you want to book a table) as configured in Dialog Flow
When do you want to book a table: I answer: "Today" . It prompts back with right question (For how many guests) as configured in Dialog Flow.
For how many guests? - I answer: "4 people." It ends the conversation, as configured in Dialog Flow.
The above conversation works perfectly fine as expected.
When I test using the integration for Google Home (using simulator with action SDK) [See how it works in Google Assistant]
Invoke the app (by using the explicit invocation - Talk to [APP NAME]) - App gets invoked with the right greeting message as configured
After that when I ask the questions as mentioned - above - app leaves the conversation? Nothing is answered back.
Not sure why this issue is happening - anything I am missing in the configuration?

Walk through your intents and make sure the 'set this intent to end conversation' is not set to enabled in Dialogflow (and if you're using a webhook not ending there). Look down at the Responses section in DF.
Start with Welcome Default intent, and then check each intent, all follow-up prompts.

For personal gmail accounts, the Web&App activity, when turned on, it automatically gets enabled.
For gsuite accounts, even when the Web&App activity turned on, it needs to be enabled by the admin of that organization. Only after when it is enabled, the simulator will behave as expected.

I think Actions straight up doesn't work for some (all?) Gsuite accounts, regardless of what permissions you set. Google knows but doesn't care. I spent weeks in an Actions support conversation on this topic and they ultimately punted me to the Gsuite team, who couldn't help. See also:
Sorry, this action is not available in simulation
Actions on Google won't respond to explicit invocations

Related

What could be the reason for a Google Action with external endpoint (API) to work on the Actions Console Simulator, but not as deployed?

I am new to the whole creation-process of Google Actions.
I created an Action with the new Action Console.
It has an fulfillment endpoint to my server (as example: www.mypage.com/api).
For testing purposes it has no authentification, so it generates a public API response.
Said API generates a simple JSON response based on a send event handler.
In short: Action onEnter sends handler to API, API queries SQL database and sends the response back to my Google Action that then "speaks" the SQL result.
The result with the Actions Console Simulator is:
Testing with "Smart Display device: everything works.
Testing with "Speaker (e.g. Google Home): everything works.
Testing with "Phone": main intent is invoked and text is shown but does not get spoken.
So i tested the command "Hey Google, talk to the unicorn app" directly on my smartphone.
Here **everything works fine ** as said smartphone has the same e-mail like the one on my Action Console account: it recognizes the main invocation command and when i ask by voice to get the data, the data is received from my server and spoken.
So something is wrong with the "Phone" device in the simulator. This has been confirmed by me from other users saying that they often have trouble with the simulator function correctly.
I then deployed my Action.
It was reviewed and approved.
A few seconds later i received an auto-email saying that there were too many errors with my app, asking me to check its health status. I did so and in the Health tab, i can see that it has an error but it does not show me what the error is.
THEN I CONTACTED A ACTIONS-ON-GOOGLE EXPERT
They helped me a lot into the right direction but could not go deeper into the problem as my connection (the endpoint API) is outside of their servers.
So i ended with their tip on checking the Google Cloud Logging Console.
As said Logging Console is also new for me, i learned on how to query my results but:
How can i query for the so called "is_health_check" flag?
I am asking this because the Google Expert recommended me to search for said flag but i do not know on how to query it.
Sorry for this ultra-long entry but i am trying to be as transparent to you as possible, as i have been trying this out for several days now.
Thanks in advance for your time, ppl!
So the error is simple once that you know how Google handles the external webhooks. Thanks to the help of 2 Actions-On-Google Experts i was informed that Google pings your external Webhook from time to time.
As soon as they get an error as result from said ping, the Action will be deactivated from the Assistant until a new ping response sends that everything is fine again.
My problem was that after deploying the action and while it was under reviews, i continued to work on the code on my server. While coding, the Google server pinged and received an error code.
My fault, but at least i learned the thing about pinging your action!

Can I trigger a Google Assistant action without a conversation?

I'm trying to develop an action for my Google Assistant. I'd like for it to be fire and forget type deal (i.e. 'Add x to my todo list').
The problem is, the assistant won't recognise the command without me first starting a conversation with the assistant app that the action exists within.
(Hey Google, I want to talk to ... )
I'm using webhooks to call a webserver that will handle the request.
I can't use IFTTT in this instance as it needs to be available for everyone in my home. (IFTTT actions are private or public to EVERYONE)
Is there any way to trigger an action without having to say anything else (besides 'Hey Google')?
There's a few ways to complete a quick action. There is implicit triggering, when your action gets matched based on a certain set of requests.
You: Hey Google, add paying taxes to my to-do list
Google: Ok, for that you may want to try talking to My App.
You: Okay
My App: Ok, added paying taxes
That may work, although still may require an extra step with the Google Assistant. Alternatively, you can also launch a specific intent in a conversation without a full conversation.
You: Hey Google, tell My App to add paying taxes to my to-do list
Google: Ok, getting My App
My App: Ok, added paying taxes
A third alternative would be to use the Google Assistant shortcuts feature which will take something you say and interpret that as something else. It only works for static utterances, so it may not work in your case.
You: Hey Google, add paying taxes to my to-do list
Google: Ok, getting My App
My App: Ok, added paying taxes
In this scenario, you'd need to have the shortcut "add paying taxes to my to-do list" to be interpreted as "tell My App to add paying taxes to my to-do list".
If this is designed to be used by several people in your home, you may need to think about how and whether each account should be able to access the same lists.

Sorry, this action is not available in simulation

My test invocation name is "Mrs Tang", so i input "Talk to Mrs Tang", but it responds "Sorry, this action is not available in simulation"...
Does anybody know How can I resolve this error?
According to the doc:
Turn on the Web & App Activity, Device Information, and Voice & Audio
Activity permissions on the Activity controls page for your Google
account. You need to do this to use the Actions Simulator, which lets
you test your actions on the web without a hardware device.
And I had do what Jeremy Gordon suggested. To add a second google account in the GCP IAM console with a viewer action permission and then login with this second google account in an incognito window for the web simulator to work.
I had a related problem (I could test with my main developer account, but not my test credentials). I eventually got it working with the non-primary account.
The missing link for me was that when I was viewing the simulator, I was actually signed in to two accounts, my primary google account (developer account, shows up in the main frame of the page, upper right corner), and the account I authorized when 'starting' the simulator (email address shows up in the simulator frame), which was my test credentials. The second test account repeatedly gave me the "Sorry, this action is not supported in simulation" message, until I:
1) Added the test account as a Conversation API Viewer & Client in GCP IAM console
2) Visited the 'create link' (the one that comes up when you click share) in an incognito window, and signed into the secondary account there such that I was signed into only one account in that incognito window.
After that, invocations connected to the app.
Make sure you are logged into the same account you used to deploy the test action and that the deployment has been done within the past half hour or so. If you have not set all the information on the Actions on Google Console, you may need to use the invocation phrase "Talk to my test app".
I think sometimes I run into the same error. I get past it by toggling the Active switch off and on.
Same problem I encountered. You must be logged in via the secondary google account. Do logout from the account and login via the account that is paired with api.ai.
why I can't use google action in web simulator
I got this to work by saying "talk to my test app" or typing it in to the simulator prompt, that triggered my app to start in the simulator.
I had the same problem. I needed to set the location first (it defaults to Google-Headquaters), if you are in some other region (like in germany as i am).
Then go on with "Mit meiner Test-App sprechen" (Talk to my test app), or whatever it is in your language!
I did not get this message on my invocation, but on my my second input:"Sorry, this action is not available for your app.".
It turns out the simulator had left the conversation right after the invocation (and it did mention that in the small print).
This happened because I returned a FinalResponse for the invocation. And a final response is pretty final, it will terminate your conversation.
So, after a FinalResponse you can only get back in your action/conversation by a new invocation or a deep link. If you want to suggest questions/inputs, then you should return ExpectedInputs.
You might need to turn on Web & App Activity to let group members use some Google Assistant features.(if you are using organizational account)
https://support.google.com/assistant/answer/7219584?hl=en
If you are using any organization's Google Accounts then there might be an access issue. So use your own personal Gmail account.
Take a look here, organization's might not be given you access. So use your personal Gmail and follow the Docs, you will able to create your agent/ actions and able to test it with simulator as well as in android device.
At time of testing the Google Action you need to set the location to the country which you selected while developing or submitting your Google Action.
By default US is selected in testing but if your action is for one particular country only then you need to select that. You can see in image the field where you can select location

Google Consumer Surveys Publishers Reporting Dashboard?

I'm actually a bit embarrassed to be asking this question since it seems like such a simple thing but here goes:
I've recently signed up with Google Consumer Surveys and want to take advantage of their survey monetizing and become a survey publisher. We had an existing adsense account and applied to become a survey publisher. Eventually we ended up at their publisher settings page which provided us snippets of code to insert into our site. We did so and initially survey questions appeared and it seemed to work, however after it asked us a few generic test questions it has refused to serve up another one. On top of that we continue to see a reference to a 'reporting dashboard' as seen here. However it is not clear how one goes about accessing this dashboard.
So a couple questions:
1) do we need to be 'accepted' by GCS before we will see a dashboard, and if so how do you access the dashboard?
2) is there a way to ensure that testing survey questions will continue to be provided even though we have not been officially approved?
Thanks.
So here are things that might be of help.
1) You don't need to be accepted/approved to have access, just be sure to be logged in with the email account you used in signing up. I believe there is an email sent to you after signing up with GCS that contains the link to your reporting dashboard. Once you access the reporting dashboard you'll see that it says "under evaluation". Once your site is approved you will start to serve paid surveys and see the reports in the dashboard.
2) The questions/survey will continue to prompt once you have implemented the GCS code up until you are approved.
You may also want to contact the support team of GCS publishers through this link. Just click on the contact us button on the description below "add surveys to your site" button.
Hope this helps!

Unable to login to Paypal sandbox [duplicate]

This question already has answers here:
Please login to use the PayPal sandbox feature
(5 answers)
Closed 9 years ago.
DISCLAIMER: This question is specifically for the Paypal forum.
I have two Sandbox test accounts. parijat_kalia#hotmail.com (PERSONAL) and parijat_kalia-facilitator#hotmail.com (BUSINESS). The second one has the API credentials and I am using the NVP API to test our e-commerce subscription plan
. The response I get is :
10501: Invalid Configuration This transaction cannot be processed due to an invalid merchant configuration. Occurs when the billing agreement is disabled or inactive.
Hence, to activate it, I presume I need to log in with this sandbox account into the sandbox website so as to activate the billing agreement. The steps I follow are pretty basic.
Login to developers.paypal.com
Click on Applications tab in the horizontal menu
Click on Sandbox accounts in the vertical menu
Click on the specific accounts 'parijat_kalia-facilitator#hotmail.com' dropdown arrow button.
Click on Sandbox site
When i click on sandbox site, it loads in the PERSONAL account in the email i.e 'parijat_kalia#hotmail.com'. I obviously change this and try to login with the business account credentials. However it does not log me in whatsoever. I have changed the password, literally copy pasted it, but it does not work. Nor does deleting the cookies/clearing the cache and terminating the history help. Also, I am using Chrome, not IE.
Also, I presume this error is with Paypal's sandbox website, since the API call is technically logging me in with the credentials (I infer this since I am getting error 10501).
Can you please tell me what is going wrong?
I had an issue similar to that the other day. I was trying to switch from one developer account to another, but it kept logging me in as the first one. So, I couldn't use any of the sandbox accounts for the 2nd account.
I circumvented this issue by switching to private browsing mode in chrome (ctrl+shift+N) and logging in that way.
I can't guarantee this will fix your issue because it's not the same as mine, but it might help.
Misplacedme's answer worked for me, but I don't have enough rep yet, so I'll reply and add some info.
Chrome: Use an Incognito Window (ctrl+shift+N)
Opera: Use a New Private Window (ctrl+shift+N)
IE: No need for special window. It works as it used to.
Firefox: No need for special window. It works as it used to.
Safari: No need for special window. It works as it used to.
Note: These are all on a Windows 8 PC (sorry, I know most people in their right mind aren't using win8 much less developers)