REST Resource: brands.agents

Resource: Agent

A conversational entity that represents a brand.

JSON representation
{
  "name": string,
  "displayName": string,

  // Union field detail_info can be only one of the following:
  "businessMessagesAgent": {
    object (BusinessMessagesAgent)
  },
  "rcsBusinessMessagingAgent": {
    object (RcsBusinessMessagingAgent)
  }
  // End of list of possible types for union field detail_info.
}
Fields
name

string

The unique identifier of the agent.

Read-only. Defined by the platform.

displayName

string

Required. The name that the agent displays to users. Maximum 100 characters.

Not modifiable after agent verification.

Union field detail_info. Contains the fields required for the particular product.

Required. detail_info can be only one of the following:

businessMessagesAgent

object (BusinessMessagesAgent)

Detailed agent information for Business Messages.

rcsBusinessMessagingAgent

object (RcsBusinessMessagingAgent)

Detailed agent information for RCS Business Messaging.

BusinessMessagesAgent

Agent information specific to Business Messages.

JSON representation
{
  "logoUrl": string,
  "entryPointConfigs": [
    {
      object (BusinessMessagesEntryPointConfig)
    }
  ],
  "conversationalSettings": {
    string: {
      object (ConversationalSetting)
    },
    ...
  },
  "defaultLocale": string,
  "primaryAgentInteraction": {
    object (SupportedAgentInteraction)
  },
  "additionalAgentInteractions": [
    {
      object (SupportedAgentInteraction)
    }
  ],
  "customAgentId": string,
  "agentTestUrl": string,
  "testUrls": [
    {
      object (TestUrl)
    }
  ],
  "phone": {
    object (Phone)
  },
  "authorizationConfig": {
    object (AuthorizationConfig)
  },
  "nonLocalConfig": {
    object (NonLocalConfig)
  },
  "surveyConfig": {
    object (SurveyConfig)
  }
}
Fields
logoUrl

string

Optional. Publicly available URL of the logo for the agent. Maximum 50 KB.

Not modifiable after agent verification.

entryPointConfigs[]

object (BusinessMessagesEntryPointConfig)

Optional. List of entry point configurations.

Not modifiable after agent verification.

conversationalSettings

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

Required. Conversational settings for an agent, mapped to a locale. Locale is represented by a well-formed IETF BCP 47 language tag.

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

defaultLocale

string

Required. The default locale for the agent. Must match a locale defined in conversationalSettings.

primaryAgentInteraction

object (SupportedAgentInteraction)

Required. Primary agent interaction information. Used when the user initiates a conversation.

additionalAgentInteractions[]

object (SupportedAgentInteraction)

Optional. Additional agent interaction information. Enables the agent to support multiple interaction types.

customAgentId

string

Optional. A partner-specified identifier for the agent. The identifier is passed alongside all messages sent to the agent.

agentTestUrl
(deprecated)

string

Output only. The URL for testing the agent's conversational experience.

Defined by the platform.

testUrls[]

object (TestUrl)

Output only. URLs for testing the agent's conversational experience.

Defined by the platform.

phone

object (Phone)

Optional. The phone number for the agent to display. If not specified, the agent displays the phone number for the brand found in the Google Knowledge Graph, if any.

authorizationConfig

object (AuthorizationConfig)

Optional. Authorization configuration for OAuth support.

nonLocalConfig

object (NonLocalConfig)

Optional. Configuration for non-local entry points.

surveyConfig

object (SurveyConfig)

Optional. Configuration to enable custom surveys.

BusinessMessagesEntryPointConfig

The entry point configuration for an agent.

JSON representation
{
  "allowedEntryPoint": enum (EntryPoint)
}
Fields
allowedEntryPoint

enum (EntryPoint)

Required. The Google surfaces the agent is enabled to appear on.

EntryPoint

The Google surfaces the agent is enabled to appear on.

Enums
ENTRY_POINT_UNSPECIFIED Unspecified entry point.
LOCATION Enable locations for this agent.
NON_LOCAL Enable Business Messages for non-local entry points.

SupportedAgentInteraction

Interactions supported by an agent.

JSON representation
{
  "interactionType": enum (InteractionType),

  // Union field representative can be only one of the following:
  "botRepresentative": {
    object (BotRepresentative)
  },
  "humanRepresentative": {
    object (HumanRepresentative)
  }
  // End of list of possible types for union field representative.
}
Fields
interactionType

enum (InteractionType)

Required. The type of interaction supported by the agent.

Union field representative. The detailed info for the config type. Required. representative can be only one of the following:
botRepresentative

object (BotRepresentative)

Bot representative details.

humanRepresentative

object (HumanRepresentative)

Human representative details.

InteractionType

Type of interaction supported for the agent.

Enums
INTERACTION_TYPE_UNSPECIFIED Unspecified interaction.
BOT Bot interaction.
HUMAN Human interaction.

BotRepresentative

Details for bot representative.

JSON representation
{
  "botMessagingAvailability": {
    object (MessagingAvailability)
  }
}
Fields
botMessagingAvailability

object (MessagingAvailability)

Required. Bot messaging availability.

MessagingAvailability

The hours of each day of the week that messaging is available. You can group hours for multiple days together. For example, * 08:00–16:00 hrs PDT Monday–Wednesday * 10:00–14:00 hrs PDT Thursday–Friday * 15:00–18:00 hrs PDT Thursday–Friday * 10:00–14:00 hrs PDT Saturday–Saturday

If there are gaps in availability, such as no specified availability on Sunday, messaging is unavailable during those gaps.

Bot hours have no effect on availability. Bot-only agents always display a welcome message, while agents with both human and bot representative settings only consider human representatives when defining availability.

JSON representation
{
  "hours": [
    {
      object (Hours)
    }
  ]
}
Fields
hours[]

object (Hours)

Required. Hours of messaging availability.

Hours

A range of hours that messaging is available.

JSON representation
{
  "startTime": {
    object (TimeOfDay)
  },
  "endTime": {
    object (TimeOfDay)
  },
  "timeZone": string,
  "startDay": enum (DayOfWeek),
  "endDay": enum (DayOfWeek)
}
Fields
startTime

object (TimeOfDay)

Required. Start time for each day within the day-of-week range.

endTime

object (TimeOfDay)

Required. End time for each day within the day-of-week range.

timeZone

string

Required. The IANA time zone for the hours. For example, "America/Los_Angeles".

startDay

enum (DayOfWeek)

Required. Start day.

endDay

enum (DayOfWeek)

Required. End day. Includes the specified day.

TimeOfDay

Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and google.protobuf.Timestamp.

JSON representation
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Fields
hours

integer

Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.

minutes

integer

Minutes of hour of day. Must be from 0 to 59.

seconds

integer

Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.

nanos

integer

Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.

DayOfWeek

Represents a day of the week.

Enums
DAY_OF_WEEK_UNSPECIFIED The day of the week is unspecified.
MONDAY Monday
TUESDAY Tuesday
WEDNESDAY Wednesday
THURSDAY Thursday
FRIDAY Friday
SATURDAY Saturday
SUNDAY Sunday

HumanRepresentative

Details for human representative.

JSON representation
{
  "humanMessagingAvailability": {
    object (MessagingAvailability)
  }
}
Fields
humanMessagingAvailability

object (MessagingAvailability)

Required. Human messaging availability.

AuthorizationConfig

Configuration details for supporting OAuth on Business Messages.

JSON representation
{
  "endpointUrl": string
}
Fields
endpointUrl

string

The endpoint URL where the user logs in.

NonLocalConfig

Configuration to enable non-local entry points.

JSON representation
{
  "contactOption": {
    object (ContactOption)
  },
  "enabledDomains": [
    string
  ],
  "phoneNumber": {
    object (Phone)
  },
  "callDeflectionPhoneNumbers": [
    {
      object (Phone)
    }
  ],
  "regionCodes": [
    string
  ]
}
Fields
contactOption

object (ContactOption)

Required. Contact information for the agent that displays with the messaging button.

enabledDomains[]

string

Required. Domains to enable for the sitelinks entry point.

phoneNumber

object (Phone)

Required. Agent's phone number. Overrides the phone field for conversations started from non-local entry points. This phone number will be used for all configured regions.

callDeflectionPhoneNumbers[]

object (Phone)

Required. List of phone numbers for call deflection.

regionCodes[]

string

Required. List of CLDR region codes for countries where the agent is allowed to launch NON_LOCAL entry points. Required for NON_LOCAL entry points.

ContactOption

Contact details displayed in addition to the messaging button.

JSON representation
{
  "url": string,
  "options": [
    enum (Option)
  ]
}
Fields
url

string

Required. The URL that contact options are available for.

options[]

enum (Option)

Required. The list of contact options available for the specified URL.

Option

Contact options.

Enums
OPTION_UNSPECIFIED Unspecified
WEB_CHAT Web Chat option.
PHONE Phone option.
EMAIL Email option.
FAQS FAQ option.
TWITTER Twitter option.
WHATSAPP Whatsapp option.

SurveyConfig

Configuration details for supporting customized survey questions.

JSON representation
{
  "templateQuestionIds": [
    string
  ],
  "customSurveys": {
    string: {
      object (CustomSurveyConfig)
    },
    ...
  }
}
Fields
templateQuestionIds[]

string

List of template question IDs for template questions included in a survey.

customSurveys

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

Custom survey questions for an agent, mapped to a locale. Locale is represented by a well-formed IETF BCP 47 language tag.

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

CustomSurveyConfig

Custom survey configuration for an agent.

JSON representation
{
  "customQuestions": [
    {
      object (SurveyQuestion)
    }
  ]
}
Fields
customQuestions[]

object (SurveyQuestion)

List of custom questions.

SurveyQuestion

The detailed content of each survey question.

JSON representation
{
  "name": string,
  "questionType": enum (Type),
  "questionContent": string,
  "responseOptions": [
    {
      object (SurveyResponse)
    }
  ]
}
Fields
name

string

Required. The unique identifier of the question.

questionType

enum (Type)

Output only. Type of the question.

questionContent

string

Required. Question content. Limited to 200 characters for custom questions.

responseOptions[]

object (SurveyResponse)

Required. List of responses displayed with the question. Maximum 12.

Type

The type of survey question.

Enums
TYPE_UNSPECIFIED Unknown survey question type.
GOOGLE_STANDARD_QUESTION Google standard survey question.
GOOGLE_TEMPLATE_QUESTION Google provided template survey question.
PARTNER_CUSTOM_QUESTION Partner customized survey question.

SurveyResponse

The content for a survey question response.

JSON representation
{
  "content": string,
  "postbackData": string
}
Fields
content

string

Required. Text that is shown in the survey and sent back to the agent when the user taps it. Maximum 35 characters.

postbackData

string

The string the agent receives when the user taps the question response.

RcsBusinessMessagingAgent

Agent information specifically related to RCS Business Messaging.

JSON representation
{
  "description": string,
  "logoUri": string,
  "heroUri": string,
  "phoneNumbers": [
    {
      object (PhoneEntry)
    }
  ],
  "emails": [
    {
      object (EmailEntry)
    }
  ],
  "websites": [
    {
      object (WebEntry)
    }
  ],
  "privacy": {
    object (WebEntry)
  },
  "termsConditions": {
    object (WebEntry)
  },
  "color": string,
  "billingConfig": {
    object (RcsBusinessMessagingAgentBillingConfig)
  },
  "agentUseCase": enum (AgentUseCase),
  "hostingRegion": enum (HostingRegion)
}
Fields
description

string

Required. Description of the agent that is visible to users. Maximum 100 characters.

logoUri

string

Required. Publicly available URL of the logo for the agent. Maximum 50 KB.

Not modifiable after agent verification.

heroUri

string

Required. Publicly available URL of the hero image for the agent. Maximum 200 KB.

Not modifiable after agent verification.

phoneNumbers[]

object (PhoneEntry)

Required. Phone numbers associated with the agent.

emails[]

object (EmailEntry)

Optional. Email addresses associated with the agent.

websites[]

object (WebEntry)

Optional. Websites associated with the agent. Maximum 3.

privacy

object (WebEntry)

Required. Privacy policy associated with the agent.

termsConditions

object (WebEntry)

Required. Terms and conditions associated with the agent.

color

string

Required. Theme color of the agent that is visible to users in hex format. For example, #FF6347.

billingConfig

object (RcsBusinessMessagingAgentBillingConfig)

Required. Billing configuration for the agent.

agentUseCase

enum (AgentUseCase)

Optional. Use case of bot.

hostingRegion

enum (HostingRegion)

Required. Hosting region for an agent.

PhoneEntry

A phone number associated with the agent.

JSON representation
{
  "phoneNumber": {
    object (Phone)
  },
  "label": string
}
Fields
phoneNumber

object (Phone)

Required. Phone number in E.164 format. For example, +12223334444.

label

string

Required. Label for the phone number.

EmailEntry

An email associated with the agent.

JSON representation
{
  "address": string,
  "label": string
}
Fields
address

string

Required. An email address.

label

string

Required. Label for the email address.

WebEntry

A web-based resource associated with the agent.

JSON representation
{
  "uri": string,
  "label": string
}
Fields
uri

string

Required. A publicly accessible URI associated with the agent. Must use the HTTP or HTTPS protocol.

label

string

Optional. Label for the URI.

RcsBusinessMessagingAgentBillingConfig

Billing configuration for the agent.

JSON representation
{
  "billingCategory": enum (BillingCategory)
}
Fields
billingCategory

enum (BillingCategory)

Billing category for the agent.

BillingCategory

Supported billing categories.

Enums
BILLING_CATEGORY_UNSPECIFIED Category not specified.
CONVERSATIONAL_LEGACY Legacy category to support the billing configuration of existing agents.
CONVERSATIONAL Designed for longer, more complex sessions where the user and brand exchange a series of messages.
SINGLE_MESSAGE Replaces SMS with a richer messaging experience. Never billed as CONVERSATIONAL.
BASIC_MESSAGE Billing model is similar to SMS. Never billed as CONVERSATIONAL.

AgentUseCase

Agent use case types used in storage.

Enums
AGENT_USE_CASE_UNSPECIFIED Use case not specified.
TRANSACTIONAL Agents that send only essential, necessary and time-sensitive messages.
PROMOTIONAL Agents that send sales, marketing and promotional messages. Default type.
OTP Agents that only send one time passwords.
MULTI_USE Agents that have multiple use cases.

HostingRegion

Possible hosting regions for an agent, used for routing P2A messages to the regionalized server correctly.

Enums
HOSTING_REGION_UNSPECIFIED Unspecified hosting region.
NORTH_AMERICA North America.
EUROPE Europe.
ASIA_PACIFIC Asia Pacific.

Methods

create

Creates a new agent to represent a brand.

delete
(deprecated)

Deprecated: agent deletion is deprecated.

get

Get information about an agent.

getLaunch

Gets the launch information for an agent.

getVerification

Gets the verification information for an agent.

list

Lists all the agents associated with a brand.

patch

Updates information about an agent.

requestLaunch

Begins the launch process for an agent.

requestVerification

Begins business information verification for an agent.

updateLaunch

Updates the launch information for an agent.

updateVerification

Updates the verification state for an agent.