REST Resource: projects.agent.environments

Resource: Environment

You can create multiple versions of your agent and publish them to separate environments.

When you edit an agent, you are editing the draft agent. At any point, you can save the draft agent as an agent version, which is an immutable snapshot of your agent.

When you save the draft agent, it is published to the default environment. When you create agent versions, you can publish them to custom environments. You can create a variety of custom environments for:

  • testing
  • development
  • production
  • etc.

For more information, see the versions and environments guide.

JSON representation
{
  "name": string,
  "description": string,
  "agentVersion": string,
  "state": enum (State),
  "updateTime": string,
  "textToSpeechSettings": {
    object (TextToSpeechSettings)
  },
  "fulfillment": {
    object (Fulfillment)
  }
}
Fields
name

string

Output only. The unique identifier of this agent environment. Supported formats: - projects/<Project ID>/agent/environments/<Environment ID> - projects/<Project ID>/locations/<Location ID>/agent/environments/<Environment ID>

description

string

Optional. The developer-provided description for this environment. The maximum length is 500 characters. If exceeded, the request is rejected.

agentVersion

string

Optional. The agent version loaded into this environment. Supported formats: - projects/<Project ID>/agent/versions/<Version ID> - projects/<Project ID>/locations/<Location ID>/agent/versions/<Version ID>

state

enum (State)

Output only. The state of this environment. This field is read-only, i.e., it cannot be set by create and update methods.

updateTime

string (Timestamp format)

Output only. The last update time of this environment. This field is read-only, i.e., it cannot be set by create and update methods.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

textToSpeechSettings

object (TextToSpeechSettings)

Optional. Text to speech settings for this environment.

fulfillment

object (Fulfillment)

Optional. The fulfillment settings to use for this environment.

State

Represents an environment state. When an environment is pointed to a new agent version, the environment is temporarily set to the LOADING state. During that time, the environment keeps on serving the previous version of the agent. After the new agent version is done loading, the environment is set back to the RUNNING state.

Enums
STATE_UNSPECIFIED Not specified. This value is not used.
STOPPED Stopped.
LOADING Loading.
RUNNING Running.

TextToSpeechSettings

Instructs the speech synthesizer on how to generate the output audio content.

JSON representation
{
  "enableTextToSpeech": boolean,
  "outputAudioEncoding": enum (OutputAudioEncoding),
  "sampleRateHertz": integer,
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  }
}
Fields
enableTextToSpeech

boolean

Optional. Indicates whether text to speech is enabled. Even when this field is false, other settings in this proto are still retained.

outputAudioEncoding

enum (OutputAudioEncoding)

Required. Audio encoding of the synthesized audio content.

sampleRateHertz

integer

Optional. The synthesis sample rate (in hertz) for this audio. If not provided, then the synthesizer will use the default sample rate based on the audio encoding. If this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality).

synthesizeSpeechConfigs

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

Optional. Configuration of how speech should be synthesized, mapping from language (https://cloud.google.com/dialogflow/docs/reference/language) to SynthesizeSpeechConfig.

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

OutputAudioEncoding

Audio encoding of the output audio format in Text-To-Speech.

Enums
OUTPUT_AUDIO_ENCODING_UNSPECIFIED Not specified.
OUTPUT_AUDIO_ENCODING_LINEAR_16 Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.
OUTPUT_AUDIO_ENCODING_MP3 MP3 audio at 32kbps.
OUTPUT_AUDIO_ENCODING_MP3_64_KBPS MP3 audio at 64kbps.
OUTPUT_AUDIO_ENCODING_OGG_OPUS Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.
OUTPUT_AUDIO_ENCODING_MULAW 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.

SynthesizeSpeechConfig

Configuration of how speech should be synthesized.

JSON representation
{
  "speakingRate": number,
  "pitch": number,
  "volumeGainDb": number,
  "effectsProfileId": [
    string
  ],
  "voice": {
    object (VoiceSelectionParams)
  }
}
Fields
speakingRate

number

Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0 will return an error.

pitch

number

Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.

volumeGainDb

number

Optional. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. We strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.

effectsProfileId[]

string

Optional. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given.

voice

object (VoiceSelectionParams)

Optional. The desired voice of the synthesized audio.

VoiceSelectionParams

Description of which voice to use for speech synthesis.

JSON representation
{
  "name": string,
  "ssmlGender": enum (SsmlVoiceGender)
}
Fields
name

string

Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as languageCode and ssmlGender.

ssmlGender

enum (SsmlVoiceGender)

Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as languageCode and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.

SsmlVoiceGender

Gender of the voice as described in SSML voice element.

Enums
SSML_VOICE_GENDER_UNSPECIFIED An unspecified gender, which means that the client doesn't care which gender the selected voice will have.
SSML_VOICE_GENDER_MALE A male voice.
SSML_VOICE_GENDER_FEMALE A female voice.
SSML_VOICE_GENDER_NEUTRAL A gender-neutral voice.

Fulfillment

By default, your agent responds to a matched intent with a static response. As an alternative, you can provide a more dynamic response by using fulfillment. When you enable fulfillment for an intent, Dialogflow responds to that intent by calling a service that you define. For example, if an end-user wants to schedule a haircut on Friday, your service can check your database and respond to the end-user with availability information for Friday.

For more information, see the fulfillment guide.

JSON representation
{
  "name": string,
  "displayName": string,
  "enabled": boolean,
  "features": [
    {
      object (Feature)
    }
  ],
  "genericWebService": {
    object (GenericWebService)
  }
}
Fields
name

string

Required. The unique identifier of the fulfillment. Supported formats: - projects/<Project ID>/agent/fulfillment - projects/<Project ID>/locations/<Location ID>/agent/fulfillment

This field is not used for Fulfillment in an Environment.

displayName

string

Optional. The human-readable name of the fulfillment, unique within the agent.

This field is not used for Fulfillment in an Environment.

enabled

boolean

Optional. Whether fulfillment is enabled.

features[]

object (Feature)

Optional. The field defines whether the fulfillment is enabled for certain features.

genericWebService

object (GenericWebService)

Configuration for a generic web service.

GenericWebService

Represents configuration for a generic web service. Dialogflow supports two mechanisms for authentications: - Basic authentication with username and password. - Authentication with additional authentication headers. More information could be found at: https://cloud.google.com/dialogflow/docs/fulfillment-configure.

JSON representation
{
  "uri": string,
  "username": string,
  "password": string,
  "requestHeaders": {
    string: string,
    ...
  },
  "isCloudFunction": boolean
}
Fields
uri

string

Required. The fulfillment URI for receiving POST requests. It must use https protocol.

username

string

Optional. The user name for HTTP Basic authentication.

password

string

Optional. The password for HTTP Basic authentication.

requestHeaders

map (key: string, value: string)

Optional. The HTTP request headers to send together with fulfillment requests.

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

isCloudFunction
(deprecated)

boolean

Optional. Indicates if generic web service is created through Cloud Functions integration. Defaults to false.

isCloudFunction is deprecated. Cloud functions can be configured by its uri as a regular web service now.

Feature

Whether fulfillment is enabled for the specific feature.

JSON representation
{
  "type": enum (Type)
}
Fields
type

enum (Type)

The type of the feature that enabled for fulfillment.

Type

The type of the feature.

Enums
TYPE_UNSPECIFIED Feature type not specified.
SMALLTALK Fulfillment is enabled for SmallTalk.

Methods

create

Creates an agent environment.

delete

Deletes the specified agent environment.

get

Retrieves the specified agent environment.

getHistory

Gets the history of the specified environment.

list

Returns the list of all non-draft environments of the specified agent.

patch

Updates the specified agent environment.