Programatically create Conversational Action on Google via an API

66 Views Asked by At

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.

1

There are 1 best solutions below

2
On BEST ANSWER

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.