Given I have a published google assistant voice app with dialogflow. If I change fulfillment parameters (e. g. sent headers or URL), will this require a new review of the voice app?
If so, how can I smoothly change these parameters without breaking my app? I never really know when the review is finished, but I have to since I would need to change my deployment configuration to fit the new fulfillment properties in the right moment.
Fulfillment changes do not require a new review. Once you deploy to your server, it is effectively live and new users will use the latest webhook. Things that do require a new review are:
Actions on Google console changes such as a thumbnail or description ...etc.
Changes made to the action package (if you are using Actions SDK).
Changes made to Dialogflow that involve adding or removing account linking and/or involve things like adding intents or user expressions for implicit invocation purposes.
Once you pass the first review, it will frequently be faster for simple changes like these.
Related
We are developing interactive audiobooks for voice and have problems with some of our continuations with google assistant.
Example: In our story "Das tapfere Schneiderlein", the user hast to decide if he wants "Pflaumenmus" (plum butter) or "Apfelmus" (apple puree).
In the Test-console, everything works fine, both answers lead to the correct audio.
BUT with Google Assistant on Mobile device, only Pflaumenmus works. If I answer "Apfelmus", the action leaves conversations and opens Apple puree recipes with Google search. (see example image below, it's German, but still understandable I guess)
As we can never now, what our customers might answer, how can we prevent this from happening? (We are using Actions Builder.)
Example
This might be a result of an update regarding the Google Assistant Actions fallback intent behavior change that we announced on October 15/2020.
Follow the message from Google to make it work as you expect:
In order to provide a better experience, we now allow users to ask for some Assistant features, such as the weather or time, from within your Action. To perform this function, the Assistant detects if your Action matched a user's query with a fallback intent or NO_MATCH intent. If that is the case, and an appropriate response is available, Assistant responds to the user's request. If no response is available, or Assistant doesn't understand the query, the conversation continues within your Action.
As of October 15, 2020, this new behavior applies only if the fallback does not use a webhook. Starting January 15th 2021, we'll start enabling this feature for any Dialogflow fallback intent or Actions Builder NO_MATCH intent whether or not they use a webhook.
This change should not impact the operation of your Actions, unless you are using fallbacks as a way to collect input from your users. Going forward, you should only use fallback intents or NO_MATCH intents as a way to reprompt the user in the context of your Action. If you want your Actions to attempt to capture data from a wider range of user responses, create an intent that uses a Free form text type if you use Actions Builder. If you use Dialogflow, add an intent with a #sys.any type as the training phrase.
I am trying to build a simple web form that would ideally sit on a WordPress page to allow the subscribers on our platform to change or update their subscriptions, without having to ask our support team (currently they can only cancel, but we want to offer them the option to upgrade).
We use Recurly to manage our billing, and their support team said:
'You would essentially want to build a form that will input values into the Subscription Update API request, that would then be sent to Recurly to make the changes on your customer account.'
They also shared the following document: https://dev.recurly.com/docs/update-subscription
I have limited experience of working with APIs and am also aware that because this form deals with sensitive information (the user ID of a subscriber in this case), I don't want to inadvertently jeopardise the accounts of the subscribers that choose to do this.
Any help would be much appreciated. I have tried searching for a solution but am unsure how to word my request effectively.
It sounds like using the Recurly Hosted UI might be your best bet. Instead of having to build a a web form you can just redirect your customer to the Recurly Hosted UI on a button click. You can retrieve and redirect the url using the Recurly API on your Wordpress site using some simple PHP and then that allows the customer to view invoices, change their plan (if you allow), and change CC information.
I'm attempting to write a google action that is only intended for use by me and my immediate family. I have it working currently in the simulator, and on my device, but I haven't "released" it yet.
This may be a result of it being still in the testing phase, but it seems to be able to be invoked only by my google account. Everything I do with the action works, but neither my wife nor kids can use it; they just get "I don't understand".
What do I have to do to allow other voice-recognized google accounts to be able to use my action?
This is intentional - your Action is currently in a "development" state. While you can permit it to other developers, this isn't a great approach.
You can "release" it into an Alpha channel and let a limited number of accounts have access to the Alpha channel version. This isn't quite a "private" action, but it doesn't require review from Google, and it does let you limit which accounts have access to it. Once they're in the Alpha channel, they can activate the Action just like public Actions.
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.
I am running a website with OpenGraph actions, which has two separate Facebook Apps associated with it (a "live" and "approval" app).
This allows us to make breaking changes to the app during development without affecting live.
I have now made one such breaking change, and need it submitting to the live, however I cannot publish it to the live environment until the OpenGraph action is approved (because it is, by definition, a breaking change).
I have clones of both the action on both the approval server and live, and both systems are, in essence, identical (except the updated code and some extra error reporting).
Would it be acceptable by Facebook to submit the action for review via the approval server, using the approval app for the verdict on the action in the main app action to be accepted?
In previous cases it was not an issue with them testing the actions on live because Facebook integration was not yet enabled (so it wouldn't break any existing functionality).
When you make changes to your open graph actions, they will not be available to your end users until they are approved. This means your users will be able to use your "non-broken" actions, even if you make any breaking changes to them.
Further Reading
Another scenario (which is pretty obvious but I would still like to state):
If you have breaking changes in your application code that you dont want to deploy, you can create a staging environment and deploy your site there. So, for action approval you will submit staging server's address to facebook approval team. This will require that your staging server must have access to the app. This means your staging environment must be a sub domain of your production. Eg. lets say your production is www.example.com, then your staging should be staging.example.com.
Hope this helps.