ActionPackage

ActionPackage holds the content for the draft of an App as well as each deployed version. This includes directory listing details, conversation configuration and account linking.

JSON representation
{
  "manifest": {
    object(Manifest)
  },
  "accountLinking": {
    object(AccountLinking)
  },
  "actions": [
    {
      object(Action)
    }
  ],
  "types": [
    {
      object(Type)
    }
  ],
  "conversations": {
    string: {
      object(ConversationFulfillment)
    },
    ...
  },
}
Fields
manifest

object(Manifest)

The details of the App. This is where the directory listing is kept as well as other App identification like displayName.

accountLinking

object(AccountLinking)

The details for account linking on this App.

actions[]

object(Action)

List of actions the App is able to handle.

types[]

object(Type)

List of types defined by the developer.

conversations

map (key: string, value: object(ConversationFulfillment))

Map conversations that can be shared across Actions. For example see the conversationName in Fulfillment.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Manifest

The set of metadata for the Agent. The contents of this message are used in multiple contexts:

  • Actions on Google directory listing page
  • Unique identification of an Agent for explicit invocation (displayName)
  • Content for other parts of an ActionPackage (shortDescription is used for display in AccountLinking, displayName is used in Actions to show the Agent name to users).

This message is read-only. You specify the fields in this message via the Actions console and not directly in the action package.

JSON representation
{
  "displayName": string,
  "invocationName": string,
  "shortDescription": string,
  "longDescription": string,
  "category": string,
  "smallSquareLogoUrl": string,
  "largeLandscapeLogoUrl": string,
  "companyName": string,
  "contactEmail": string,
  "termsOfServiceUrl": string,
  "privacyUrl": string,
  "sampleInvocation": [
    string
  ],
  "introduction": string,
  "testingInstructions": string,
  "voiceName": string,
  "surfaceRequirements": {
    object(SurfaceRequirements)
  },
}
Fields
displayName

string

The default display name for this Agent (if there is not a translation available), e.g. "Starbucks". This is also used as a method for users to invoke this Agent (in addition to invocationName). The display name must be unique and phonetically very similar to invocationName.

invocationName

string

This is the unique name for this Agent to directly invoke it within a voice (spoken) context. Policies require that the invocation name is phonetically very similar to the displayName field.

shortDescription

string

The default short description for the Agent (if there is not a translation available). This is limited to 80 characters (consistent with Play store).

longDescription

string

The default long description for the Agent (if there is not a translation available). This is limited to 4000 characters (consistent with Play store).

category

string

The category for the Agent. The value must be one of the allowed categories for Agents. See the Actions on Google console for the list of allowed categories.

smallSquareLogoUrl

string

Small square image. The dimensions must be 192px by 192px.

largeLandscapeLogoUrl

string

Large landscape image. The dimensions musst be 2208px by 1242px.

companyName

string

The name of the company that the Agent is associated with.

contactEmail

string

The contact email address to allow users to reach out regarding the Agent.

termsOfServiceUrl

string

The URL to the ToS (Terms of Service) for the Agent.

privacyUrl

string

The URL for the Agent's privacy policy.

sampleInvocation[]

string

Sample invocation phrase displayed as part of Agent description in the directory of all Agents. Only 5 values can be given.

introduction

string

Summary of what an Agent can do. Used for Agent introduction to the users. This should be a verb phrase that completes a sentence like "You can use this Agent to..."

testingInstructions

string

Free-form testing instructions for the Agent reviewer.

voiceName

string

The voice name to be used. Example values supported: - male_1 - male_2 - female_1 - female_2

surfaceRequirements

object(SurfaceRequirements)

A set of requirements for the Google Assistant client surface that must be met for the Agent to be triggered.

SurfaceRequirements

Contains a set of requirements for the client surface that must be met for the Agent to be triggered. If any requirement listed here is not met, the agent will not be triggered.

JSON representation
{
  "minimumCapabilities": [
    {
      object(Capability)
    }
  ],
}
Fields
minimumCapabilities[]

object(Capability)

The minimum set of capabilities needed for the agent to function. If the surface is missing any of these, the agent will not be triggered.

Capability

Represents a requirement about the availability of a given capability

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

string

The name of the capability, e.g. actions.capability.AUDIO_OUTPUT

Type

A type that can be referenced within an Action. These can be custom types unique to the action or common types defined by Google and referenced within the action.

JSON representation
{
  "name": string,
  "entities": [
    {
      object(Entity)
    }
  ],
  "isUserDefined": boolean,
}
Fields
name

string

Name of the custom type, in the format of Type.

entities[]

object(Entity)

List of entities for this type. Each includes a key and list of synonyms.

isUserDefined

boolean

Whether the entities are user-defined (different for every user).

Entity

Each Entity corresponds is unique for this type. The key should be unique and the list of synonyms are used for triggering.

JSON representation
{
  "key": string,
  "synonyms": [
    string
  ],
}
Fields
key

string

Unique key for this item.

synonyms[]

string

List of synonyms which can be used to refer to this item.