Google has recently released the Conversational Actions skill creation kit. From my understanding, it differs from the previous Actions on Google set that was available and, indeed, on the integrations part of Dialogflow, the AoG integration is now considered legacy, and separate from Conversational Actions.
Is it possible to create a new Google Conversational Action via an API? All the documentation ends up mentioning the Actions API at some point or another. However, clicking on the "Documentation" tab on the API page does literally nothing.
On the Conversational Actions reference page, there are numerous manifest definitions for various things, such as Entities, Actions, Intents, Scenes... Is there an API somewhere that would allow for programmatic creation/update of actions?
If so, what is the preferred method of authenticating with said API? oAuth, some sort of a token?
I have asked a similar question before about AoG, and the answer was "no". Has anything changed?
IMPORTANT: gactions CLI is off the table. I know it's available, its usage is less than ideal.
The short answer is no - the Actions API is not publicly documented or available, although you need to grant your Google Cloud project access to it if you want to use the gactions CLI.
Clearly there is an API somewhere, after all, gactions needs to be permitted to it, as you note. But they haven't made it available. (At least not yet.)
Judging just by the gactions command, it would be able to do most, but not all, of everything needed for the "programmatic creation/update of actions". While it would be able to update actions, it can't create them - right now that needs to be done through the web console. Although you can create a project using the gcloud command, there does not seem to be any way to "promote" it to an Actions project - trying to use gactions at this point just gives an error that says you need to create it in the console.
Related
I am working on a project where I want to set the social media preview for multiple (lots of repositories) I own. I know there is a manual way to do it as mentioned here.
I was wondering if there was some way to do it via Github API or what kind of scripting could automate the task for adding social previews to multiple repositories.
If it was doable via the API, it'd almost certainly be one of the parameters at https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#update-a-repository. It's not there as of the time of this writing, but maybe someday.
There's sort of a feature request at https://github.com/orgs/community/discussions/32166. It's unclear if there's a better place to make an API feature request.
This post follow this one where I explain one of my problems. Currently, I have to found a way to publish and maintain a high number of agents. I am not limited to Dialogflow.
I need some integrations like the google assistant (text and vocal), facebook messenger, telegram and if possible others like Slack, Twitter, Twillio, Alexa...
Okay, so I have already produced some agents with Dialogflow to understand the technology. I also read some pages of the actions-on-google documentation and I did'nt found anything on this subject. So basically I have to implement this:
Deploy around X agents through differents integrations instanciations. I mean I really need X facebook contacts, X google assistant apps, etc.
Maintain one code-base but have the ability to add localized-features like the name of the chatbot, currency or just block some intents (for Dialogflow example but in a more generic way, dialogs triggers).
It is just possible ? I am thinking about a web UI that can handle some facilities like the deployment, the monitoring and the maintenance. I am wondering if it's not overkill and if a more easier solution than mine exists already.
It isn't currently possible to create agents automatically, although Dialogflow's V2 API provides a mechanism to update agents via JSON once they have been created; see the restore and import endpoints.
I have some experience building chat and voice agents for other platforms, but I’m not using API.AI to understand natural language and parse intents. Do I have to replace my existing solution with API.AI?
Not at all. The advantages of using API.AI in creating a Conversation Action include Natural Language Understanding and grammar expansion, form filling, intent matching, and more.
That said, the Actions on Google platform includes a CLI, client library, and Web Simulator, all of which can be used to develop an Action entirely independent of API.AI. To do this you’ll need to build your own Action Package, which describes your Action and expected user grammars, and an endpoint to serve Assistant’s requests and provide responses to your users queries. The CLI can be used to deploy your Action Package directly to Google, and you can host your endpoint on any hosting service you wish. Google recommends App Engine on Google Cloud Platform.
I found this explanation from the official page most helpful.
API.AI
Use this option for most use cases. Understanding and parsing natural, human language is a very hard task, and API.AI does all that for you. API.AI also wraps the functionality of the Actions SDK into an easy-to-use web IDE that has conveniences such as generating and deploys action packages for you.
It also lets you build conversational experiences once and deploy to many other platforms other than Actions on Google.
ACTIONS SDK
Use this option if you have simple actions that have very short conversations with limited user input variability. These type of actions typically don't require robust language understanding and typically accomplish one quick use case.
In addition, if you already have an NLU that you want to use and just want to receive raw text and pass it to your own NLU, you will also need to use the Actions SDK.
Finally, the Actions SDK doesn't provide modern conveniences of an IDE, so you have to manually create action packages with a text editor and deploy them to your Google Developer project with a command-line utility.
Google is pushing aggressively everybody to API.AI. The only SDK they have (Node.js) no longer supports expected events for instance. Of course, you don't need to rely on their SDK (you can talk to the API directly) but they may change the API too. So proceed with caution.
We are currently using Freshdesk for our customer support and GitHub for our code. On receiving a bug or an improvement feature request via Freshdesk, we would like to forward that ticket (with all the details + screenshots) to an email in GitHub so an issue is created automatically on GitHub. That would save us a manual entry.
Look forward to an advice on this or a better solution.
NOTE: Had come across https://zapier.com/zapbook/gmail/github/72/create-github-issue-email , but we would prefer a direct interaction without a third-party app in between.
Creating an issue to GitHub wouldn't be done by "sending an email", but only by using the GitHub v3 issue API (like this script, for example, to migrate issues to GitHub)
That means in your case having a trigger on FreshDesk (or an "Observer" to call a webhook) which would parse the ticket and create the appropriate bug report on GitHub.
From the Observer/WebHook help page:
Webhooks also come handy when you want to trigger an action in an external application or tool (as well as some updates that the Observer can't perform, like update time entry on a ticket or add a note to a ticket)
You would manage that webhook locally on your side, and that callback would in turn call the right GitHub API commands to create the GitHub issue.
We had similar needs and built a very simple tool to let anyone in the team send/forward emails to create GitHub issues. We were using it internally at first so that non engineering team members didn't have to go to GitHub to create issues. We just made it available to anyone (and free). It supports attachments.
You can find it at https://fire.fundersclub.com.
I've noticed that the JSON API for Google Cloud Storage is, as it says, "Experimental", and that the URL's I'm supposed to use all have 'v1beta2' in it. It looks like it hasn't been touched since May 7th, and I'm wondering if it's worth creating a new project with this service as primary storage service if I'd want my app to go live in a month or two. Is there a release date somewhere, or is it more like "it'll take as long as it takes"-kinda thing?
Please don't downvote, I wanted to ask this in Google Cloud's own forum as this isn't a programmatic question, but as it turns out - their forum is linking me here to SO asking me to tag with 'google storage' for anything related to it.
The Google Cloud Storage JSON API is marked "experimental" to mark it as an exception to our deprecation policy. As we bring it to full release, there is a chance we may make some changes to the API, and this is why you see the special URLs. We don't have a date yet for full release. You should be able to use it just fine, if you are prepared to migrate your app to the official API when it is released.