Content on this page might refer to the legacy Actions SDK. Refer to the main Conversational Actions documentation for guides and procedures that use Actions Builder and the current Actions SDK.

Action

Action represents a specific interaction that your actions project supports. The interaction can be single-shot or multi-step.

JSON representation
{
  "name": string,
  "fulfillment": {
    object (Fulfillment)
  },
  "intent": {
    object (Intent)
  },
  "description": string,
  "signInRequired": boolean,
  "source": string
}
Fields
name

string

name of the Action. You must supply a name even if you are using a common Action on Google intent (starts with 'actions.'). For example, if you are using the 'actions.intent.MAIN' intent, the Action name by convention is 'MAIN'. Action packages must declare at least one Action.

fulfillment

object (Fulfillment)

How to execute this Action.

intent

object (Intent)

Intent that this Action fulfills. Names for common Action on Google intents start with 'actions.'. Action packages for conversational agents must have an intent with the name 'actions.intent.MAIN'. See https://developers.google.com/actions/reference/rest/intents

description

string

English description what the Action does. This is mainly used for Google to review the Action or for debugging purposes. This description will not be shown to users. It must be less than 100 ASCII letters.

signInRequired

boolean

Indicates whether sign-in is required for this Action. Note this is valid only when the ActionPackage object has the AccountLinking property specified.

source
(deprecated)

string

A string identifier for the tool that created this Action

Fulfillment

How to execute an action.

JSON representation
{

  // Union field conversation can be only one of the following:
  "conversationName": string,
  "useDialogflowFulfillment": boolean
  // End of list of possible types for union field conversation.
}
Fields

Union field conversation.

conversation can be only one of the following:

conversationName

string

Execute an action via a conversation fulfillment. This references the "name" field of Conversations in ActionPackage.conversations field.

useDialogflowFulfillment

boolean

This field indicates whether to use dialogflow fulfillment.

Intent

Intent and its associated query patterns which are used to match user's queries. Used for initial triggering.

JSON representation
{
  "name": string,
  "parameters": [
    {
      object (Parameter)
    }
  ],
  "trigger": {
    object (Trigger)
  }
}
Fields
name

string

Indicates the name of this intent, e.g., BOOK_A_TABLE. Can be a built-in intent, starting with actions., in which case parameters and query patterns are implied and are therefore ignored.

parameters[]

object (Parameter)

The list of parameters within the queryPatterns. All of the parameters within queryPatterns must be given.

trigger

object (Trigger)

Triggering specification for this intent.

Parameter

A parameter used within query pattterns. This is a structured representation of the parameters in the queryPatterns (e.g. $Color:color).

JSON representation
{
  "name": string,
  "type": string
}
Fields
name

string

name of the parameter, e.g. color.

type

string

type of the parameter. Can be a common type or custom type declared as part of the action package, e.g. Color.

Trigger

Specification for a trigger.

JSON representation
{
  "queryPatterns": [
    string
  ]
}
Fields
queryPatterns[]

string

List of patterns used to identify the specified intent. Query patterns must only refer to parameters declared in the parameters field.