Google actions not showing cards in test - dialogflow-es

I've created a simple helper in api.ai to tell and added a few intents with responses that link to google actions. When I link my agent to a google project and test it with those intents i get the following errors:
expected_inputs[0].input_prompt.rich_initial_prompt: the first element must be a 'simple_response' or a 'structured_response'.
and
expected_inputs[0].input_prompt.rich_initial_prompt.items[0].basic_card.image: 'accessibility_text' is required.
these are both classified as Malformed Response Errors, but I don't really understand seeing as I didn't write any code, simply just used used the UI for api.ai and google projects
Any ideas?

The problem is that the Actions on Google responses still require a text response to be displayed and/or spoken in addition to the card responses. So in the Actions on Google section of the response, you must either set "Use response from the DEFAULT tab as the first response" on:
or you must add a Simple Response:
When you enter a Basic Card, if you enter an Image URL, you must also enter the Image Accessibility Text:

Related

Dialogflow query working in console but not when you use embedded url

I have made a query flow in dialogflow and it has four intent and in the last intent it uses a webhook to get data from server side and displays the result. It is trained automatically and works perfectly in dialogflow console returning response and query answer. The issue is it does not work when I use embedded url. It fails to recognize the name intent and asks (Can you repeat again or fallback intent). I've removed all intents and made query again, there is no similar name intents. Yet it works well in console and not in embedded url.
For the webhook part I've used node.js service.
Please help in this issue.
By 'embedded url' if you mean Dialogflow Web Demo (DWD), you should keep in mind that DWD can be used only for simple text messages. It does not support messages from webhook or even rich responses. However, if you steel need a web widget to embed your bot to your webpage you either create your own or you should use third party solutions (like Kommunicate). Here's the link regarding the limitations of DWD.

How to use Google Assistant responses in DialogFlow?

I try to use Link Out Suggestion for Google Assistant response.
I test my app and:
If I set DEFAULT response also works DEFAULT response exactly.
If I set only Link Out Suggestion I have an error that my test app doesn't respond.
What should me do to make work GOOGLE ASSISTANT response exactly, not DEFAULT response?
In addition to the Link Out Suggestion, you must include at least one Simple Response. If you have responses in the Default response section, and you have the "Use responses from the DEFAULT tab as the first response" set on (which you do), it will use those as the Simple Response.
If you have it set off, however, you must set your own Simple Responses for the Google Assistant. You cannot have just a link out suggestion - you must have text that goes along with it.

Actions on Google: Request contains an invalid argument

I have a Google Assistant app already in production, which gives First Aid treatment procedures whenever someone is in need. I built this app with Dialogflow. It was running well for the past few months, but now whenever I call something after the app's first statement, it gives me this error:
Request contains an invalid argument.
The query pattern 'Where can I get `$SchemaOrg_Number:ordinal aid information?'
contains an undefined parameter` (name: 'ordinal' type: 'SchemaOrg_Number').
This error comes when I try to implement my app from Dialogflow to Google Assistant, and from the error message, it is not clear that exactly which part of the program is faulty. I have no idea where to go from here and I'd love your help. Thanks a tonne!
Here's my Dialogflow Screen
Here's the AoG Simulator Screen where the error happened
This error must have occurred due to the incorrect phrases in the Actions of your app. To check this go to Actions tab from the AOG console. Check every intent for any error. Also, check that the parameter used in the query must be defined below the phrases.
Actions menu screenshot
Parameters screenshot

Template Mode in api.ai is not working with Google Assistant

I have on Dialogflow agent and I want to sync it with google assistant.
For user says section, I want to use Template mode. It works fine in api.ai, but when I click on option 'See how it works in Google Assistant', it throws error like 'Request contains an invalid argument.
Query pattern contains invalid characters in custom intent '999154f0-830a-480b-bdc9-2e9e89f45cdd': $SchemaOrg_Color:color $SchemaOrg_Text:query $quantifier:quantifier #sys.unit-currency:unit-currency $Filters:Filters'
After checking each and every annotations, I came to know that #sys.unit-currency:unit-currency is creating issue. Its working with api.ai agent but not with google assistant.
I've attached screenshot of intent. What's need to be corrected? I went through many blogs, but not able to find any help regarding this.

How to ensure my Google Home Assistant application is not rejected?

During our testing, we were unable to complete at least one of the behaviors or actions advertised by your app. Please make sure that a user can complete all core conversational flows listed in your registration information or recommended by your app.
Thank you for submitting your assistant app for review!
During testing, your app was unable to complete a function detailed in the app’s description. The reviewer interacted with the app by saying: “how many iphones were sold in the UK?” and app replied “I didn't get that. Can you try with other question?" and left conversation.
How can I resolve the above point to approve my Google Assistant action skills?
Without seeing the code in question or the intent you think should be handling this in Dialogflow, it is pretty difficult - but we can generalize.
It sounds like you have two issues:
Your fallback intent that generated the "I didn't get that" message is closing the conversation. This means that either the "close conversation" checkbox is checked in Dialogflow, you're using the app.tell() method when you should be using app.ask() instead, or the JSON you're sending back has close conversation set to true.
You don't have an intent to handle the question about how many iPhones were sold in the UK. This could be because you just don't list anything like that as a sample phrase, or the two parameters (the one for object type and the one for location) aren't using entity types that would match.
It means that somewhere, either in your app description or in a Dialogflow intent(they have full access to see what's in your intents) you hinted that “how many iphones were sold in the UK?” would be a valid question. Try changing the description/intents to properly match the restrictions of your app.

Resources