Fulfills a matched intent returned by MatchIntent. Must be called after MatchIntent, with input from MatchIntentResponse. Otherwise, the behavior is undefined.

Scopes

You will need authorization for at least one of the following scopes to make a valid call:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/dialogflow

If unset, the scope for this method defaults to https://www.googleapis.com/auth/cloud-platform. You can set the scope for this method like this: dialogflow3 --scope <scope> projects locations-agents-environments-sessions-fulfill-intent ...

Required Scalar Argument

  • <session> (string)
    • Required. The name of the session this query is sent to. Format: projects//locations//agents//sessions/ or projects//locations//agents//environments//sessions/. If Environment ID is not specified, we assume default 'draft' environment. It's up to the API caller to choose an appropriate Session ID. It can be a random number or some type of session identifiers (preferably hashed). The length of the Session ID must not exceed 36 characters. For more information, see the sessions guide.

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

GoogleCloudDialogflowCxV3FulfillIntentRequest:
  match:
    confidence: number
    event: string
    intent:
      description: string
      display-name: string
      is-fallback: boolean
      labels: { string: string }
      name: string
      priority: integer
    match-type: string
    resolved-input: string
  match-intent-request:
    persist-parameter-changes: boolean
    query-input:
      audio:
        audio: string
        config:
          audio-encoding: string
          barge-in-config:
            no-barge-in-duration: string
            total-duration: string
          enable-word-info: boolean
          model: string
          model-variant: string
          opt-out-conformer-model-migration: boolean
          phrase-hints: [string]
          sample-rate-hertz: integer
          single-utterance: boolean
      dtmf:
        digits: string
        finish-digit: string
      event:
        event: string
      intent:
        intent: string
      language-code: string
      text:
        text: string
    query-params:
      analyze-query-text-sentiment: boolean
      channel: string
      current-page: string
      disable-webhook: boolean
      flow-versions: [string]
      geo-location:
        latitude: number
        longitude: number
      session-ttl: string
      time-zone: string
      webhook-headers: { string: string }
  output-audio-config:
    audio-encoding: string
    sample-rate-hertz: integer
    synthesize-speech-config:
      effects-profile-id: [string]
      pitch: number
      speaking-rate: number
      voice:
        name: string
        ssml-gender: string
      volume-gain-db: number

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r .match confidence=0.711397230560734
    • The confidence of this match. Values range from 0.0 (completely uncertain) to 1.0 (completely certain). This value is for informational purpose only and is only used to help match the best intent within the classification threshold. This value may change for the same end-user expression at any time due to a model retraining or change in implementation.
  • event=takimata
    • The event that matched the query. Filled for EVENT, NO_MATCH and NO_INPUT match types.
  • intent description=lorem
    • Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
  • display-name=et
    • Required. The human-readable name of the intent, unique within the agent.
  • is-fallback=false
    • Indicates whether this is a fallback intent. Currently only default fallback intent is allowed in the agent, which is added upon agent creation. Adding training phrases to fallback intent is useful in the case of requests that are mistakenly matched, since training phrases assigned to fallback intents act as negative examples that triggers no-match event.
  • labels=key=dolor
    • The key/value metadata to label an intent. Labels can contain lowercase letters, digits and the symbols '-' and '_'. International characters are allowed, including letters from unicase alphabets. Keys must start with a letter. Keys and values can be no longer than 63 characters and no more than 128 bytes. Prefix "sys-" is reserved for Dialogflow defined labels. Currently allowed Dialogflow defined labels include: * sys-head * sys-contextual The above labels do not require value. "sys-head" means the intent is a head intent. "sys.contextual" means the intent is a contextual intent.
    • the value will be associated with the given key
  • name=et
    • The unique identifier of the intent. Required for the Intents.UpdateIntent method. Intents.CreateIntent populates the name automatically. Format: projects//locations//agents//intents/.
  • priority=53

    • The priority of this intent. Higher numbers represent higher priorities. - If the supplied value is unspecified or 0, the service translates the value to 500,000, which corresponds to the Normal priority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
  • .. match-type=erat

    • Type of this Match.
  • resolved-input=sea

    • Final text input which was matched during MatchIntent. This value can be different from original input sent in request because of spelling correction or other processing.
  • ..match-intent-request persist-parameter-changes=true

    • Persist session parameter changes from query_params.
  • query-input.audio audio=et
    • The natural language speech audio to be processed. A single request can contain up to 2 minutes of speech audio data. The transcribed text cannot contain more than 256 bytes. For non-streaming audio detect intent, both config and audio must be provided. For streaming audio detect intent, config must be provided in the first request and audio must be provided in all following requests.
  • config audio-encoding=gubergren
    • Required. Audio encoding of the audio content to process.
  • barge-in-config no-barge-in-duration=justo
    • Duration that is not eligible for barge-in at the beginning of the input audio.
  • total-duration=sea

    • Total duration for the playback at the beginning of the input audio.
  • .. enable-word-info=false

    • Optional. If true, Dialogflow returns SpeechWordInfo in StreamingRecognitionResult with information about the recognized speech words, e.g. start and end time offsets. If false or unspecified, Speech doesn't return any word-level information.
  • model=sit
    • Optional. Which Speech model to select for the given request. For more information, see Speech models.
  • model-variant=aliquyam
    • Optional. Which variant of the Speech model to use.
  • opt-out-conformer-model-migration=false
    • If true, the request will opt out for STT conformer model migration. This field will be deprecated once force migration takes place in June 2024. Please refer to Dialogflow CX Speech model migration.
  • phrase-hints=dolores
    • Optional. A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. See the Cloud Speech documentation for more details.
    • Each invocation of this argument appends the given value to the array.
  • sample-rate-hertz=55
  • single-utterance=true

    • Optional. If false (default), recognition does not cease until the client closes the stream. If true, the recognizer will detect a single spoken utterance in input audio. Recognition ceases when it detects the audio's voice has stopped or paused. In this case, once a detected intent is received, the client should close the stream and start a new request with a new stream as needed. Note: This setting is relevant only for streaming methods.
  • ...dtmf digits=dolor

    • The dtmf digits.
  • finish-digit=aliquyam

    • The finish digit (if any).
  • ..event event=no

    • Name of the event.
  • ..intent intent=amet.

    • Required. The unique identifier of the intent. Format: projects//locations//agents//intents/.
  • .. language-code=ipsum

    • Required. The language of the input. See Language Support for a list of the currently supported language codes. Note that queries in the same session do not necessarily need to specify the same language.
  • text text=lorem

    • Required. The UTF-8 encoded natural language text to be processed.
  • ...query-params analyze-query-text-sentiment=false

    • Configures whether sentiment analysis should be performed. If not provided, sentiment analysis is not performed.
  • channel=gubergren
    • The channel which this query is for. If specified, only the ResponseMessage associated with the channel will be returned. If no ResponseMessage is associated with the channel, it falls back to the ResponseMessage with unspecified channel. If unspecified, the ResponseMessage with unspecified channel will be returned.
  • current-page=sadipscing
    • The unique identifier of the page to override the current page in the session. Format: projects//locations//agents//flows//pages/. If current_page is specified, the previous state of the session will be ignored by Dialogflow, including the previous page and the previous session parameters. In most cases, current_page and parameters should be configured together to direct a session to a specific state.
  • disable-webhook=true
    • Whether to disable webhook calls for this request.
  • flow-versions=duo
    • A list of flow versions to override for the request. Format: projects//locations//agents//flows//versions/. If version 1 of flow X is included in this list, the traffic of flow X will go through version 1 regardless of the version configuration in the environment. Each flow can have at most one version specified in this list.
    • Each invocation of this argument appends the given value to the array.
  • geo-location latitude=0.38020685422472145
    • The latitude in degrees. It must be in the range [-90.0, +90.0].
  • longitude=0.6236655549731105

    • The longitude in degrees. It must be in the range [-180.0, +180.0].
  • .. session-ttl=rebum.

    • Optional. Configure lifetime of the Dialogflow session. By default, a Dialogflow session remains active and its data is stored for 30 minutes after the last request is sent for the session. This value should be no longer than 1 day.
  • time-zone=dolor
    • The time zone of this conversational query from the time zone database, e.g., America/New_York, Europe/Paris. If not provided, the time zone specified in the agent is used.
  • webhook-headers=key=lorem

    • This field can be used to pass HTTP headers for a webhook call. These headers will be sent to webhook along with the headers that have been configured through Dialogflow web console. The headers defined within this field will overwrite the headers configured through Dialogflow console if there is a conflict. Header names are case-insensitive. Google's specified headers are not allowed. Including: "Host", "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding", "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc.
    • the value will be associated with the given key
  • ...output-audio-config audio-encoding=justo

    • Required. Audio encoding of the synthesized audio content.
  • sample-rate-hertz=49
    • 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).
  • synthesize-speech-config effects-profile-id=no
    • 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.
    • Each invocation of this argument appends the given value to the array.
  • pitch=0.08583127305487803
    • 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.
  • speaking-rate=0.6940359249925465
    • 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.
  • voice name=sanctus
    • Optional. The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and ssml_gender. For the list of available voices, please refer to Supported voices and languages.
  • ssml-gender=nonumy

    • Optional. The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement. If a voice of the appropriate gender is not available, the synthesizer substitutes a voice with a different gender rather than failing the request.
  • .. volume-gain-db=0.841261088339696

    • 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.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").