Dialogflow API . projects . answerRecords

Instance Methods

close()

Close httplib2 connections.

get(name, x__xgafv=None)

Deprecated. Retrieves a specific answer record.

list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)

Returns the list of all answer records in the specified project in reverse chronological order.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the specified answer record.

Method Details

close()
Close httplib2 connections.
get(name, x__xgafv=None)
Deprecated. Retrieves a specific answer record.

Args:
  name: string, Required. The name of the answer record to retrieve. Format: `projects//locations//answerRecords/`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
  "agentAssistantRecord": { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
    "articleSuggestionAnswer": { # Represents article answer. # Output only. The article suggestion answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "snippets": [ # Output only. Article snippets.
        "A String",
      ],
      "title": "A String", # The article title.
      "uri": "A String", # The article URI.
    },
    "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. The Dialogflow assist answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
        "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
        "displayName": "A String", # The display name of the intent.
        "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
      },
      "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
        "action": "A String", # The action name from the matched intent.
        "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
        "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
        "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors
          "a_key": "", # Properties of the object.
        },
        "fulfillmentMessages": [ # The collection of rich messages to present to the user.
          { # Corresponds to the `Response` field in the Dialogflow console.
            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
              "buttons": [ # Optional. The collection of card buttons.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "formattedText": "A String", # Required, unless image is present. The body text of the card.
              "image": { # The image response message. # Optional. The image for the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                { # Browsing carousel tile
                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                  "image": { # The image response message. # Optional. Hero image for the carousel item.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                    "url": "A String", # Required. URL
                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                  },
                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                },
              ],
            },
            "card": { # The card response message. # Displays a card.
              "buttons": [ # Optional. The collection of card buttons.
                { # Optional. Contains information about a button.
                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                  "text": "A String", # Optional. The text to show on the button.
                },
              ],
              "imageUri": "A String", # Optional. The public URI to an image file for the card.
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
              "items": [ # Required. Carousel items.
                { # An item in the carousel.
                  "description": "A String", # Optional. The body text of the card.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. Title of the carousel item.
                },
              ],
            },
            "image": { # The image response message. # Displays an image.
              "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
              "imageUri": "A String", # Optional. The public URI to an image file.
            },
            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
              "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
            },
            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
              "items": [ # Required. List items.
                { # An item in the list.
                  "description": "A String", # Optional. The main text describing the item.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. The title of the list item.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle of the list.
              "title": "A String", # Optional. The overall title of the list.
            },
            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
              "mediaObjects": [ # Required. List of media objects.
                { # Response media object for media content card.
                  "contentUrl": "A String", # Required. Url where the media is stored.
                  "description": "A String", # Optional. Description of media card.
                  "icon": { # The image response message. # Optional. Icon to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "largeImage": { # The image response message. # Optional. Image to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "name": "A String", # Required. Name of media card.
                },
              ],
              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
            },
            "payload": { # A custom platform-specific response.
              "a_key": "", # Properties of the object.
            },
            "platform": "A String", # Optional. The platform that this message is intended for.
            "quickReplies": { # The quick replies response message. # Displays quick replies.
              "quickReplies": [ # Optional. The collection of quick replies.
                "A String",
              ],
              "title": "A String", # Optional. The title of the collection of quick replies.
            },
            "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
              "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                { # Rich Business Messaging (RBM) Card content
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
              ],
              "cardWidth": "A String", # Required. The width of the cards in the carousel.
            },
            "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
              "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                  "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                  "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                },
                "suggestions": [ # Optional. List of suggestions to include in the card.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
              },
              "cardOrientation": "A String", # Required. Orientation of the card.
              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
            },
            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                    },
                    "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                      "uri": "A String", # Required. The uri to open on the user device
                    },
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                    },
                    "text": "A String", # Text to display alongside the action.
                  },
                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                    "text": "A String", # Suggested reply text.
                  },
                },
              ],
              "text": "A String", # Required. Text sent and displayed to the user.
            },
            "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
              "simpleResponses": [ # Required. The list of simple responses.
                { # The simple response message containing speech or text.
                  "displayText": "A String", # Optional. The text to display.
                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                },
              ],
            },
            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
              "suggestions": [ # Required. The list of suggested replies.
                { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                  "title": "A String", # Required. The text shown the in the suggestion chip.
                },
              ],
            },
            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
              "buttons": [ # Optional. List of buttons for the card.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "columnProperties": [ # Optional. Display properties for the columns in this table.
                { # Column properties for TableCard.
                  "header": "A String", # Required. Column heading.
                  "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                },
              ],
              "image": { # The image response message. # Optional. Image which should be displayed on the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "rows": [ # Optional. Rows in this table of data.
                { # Row of TableCard.
                  "cells": [ # Optional. List of cells that make up this row.
                    { # Cell of TableCardRow.
                      "text": "A String", # Required. Text in this cell.
                    },
                  ],
                  "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle to the title.
              "title": "A String", # Required. Title of the card.
            },
            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
            },
            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
              "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
              "text": "A String", # The raw text to be synthesized.
            },
            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
              "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
            },
            "text": { # The text response message. # Returns a text response.
              "text": [ # Optional. The collection of the agent's responses.
                "A String",
              ],
            },
          },
        ],
        "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.
        "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`.
          "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
          "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
            "A String",
          ],
          "displayName": "A String", # Required. The name of this intent.
          "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
          "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
            "A String",
          ],
          "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
            { # Represents a single followup intent in the chain.
              "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
              "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
            },
          ],
          "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
            "A String",
          ],
          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
          "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
          "messages": [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
            { # Corresponds to the `Response` field in the Dialogflow console.
              "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                "buttons": [ # Optional. The collection of card buttons.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "formattedText": "A String", # Required, unless image is present. The body text of the card.
                "image": { # The image response message. # Optional. The image for the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                  { # Browsing carousel tile
                    "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                    "image": { # The image response message. # Optional. Hero image for the carousel item.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                      "url": "A String", # Required. URL
                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                    },
                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                  },
                ],
              },
              "card": { # The card response message. # Displays a card.
                "buttons": [ # Optional. The collection of card buttons.
                  { # Optional. Contains information about a button.
                    "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                    "text": "A String", # Optional. The text to show on the button.
                  },
                ],
                "imageUri": "A String", # Optional. The public URI to an image file for the card.
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                "items": [ # Required. Carousel items.
                  { # An item in the carousel.
                    "description": "A String", # Optional. The body text of the card.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. Title of the carousel item.
                  },
                ],
              },
              "image": { # The image response message. # Displays an image.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
              },
              "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
                "items": [ # Required. List items.
                  { # An item in the list.
                    "description": "A String", # Optional. The main text describing the item.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. The title of the list item.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle of the list.
                "title": "A String", # Optional. The overall title of the list.
              },
              "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
                "mediaObjects": [ # Required. List of media objects.
                  { # Response media object for media content card.
                    "contentUrl": "A String", # Required. Url where the media is stored.
                    "description": "A String", # Optional. Description of media card.
                    "icon": { # The image response message. # Optional. Icon to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "largeImage": { # The image response message. # Optional. Image to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "name": "A String", # Required. Name of media card.
                  },
                ],
                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
              },
              "payload": { # A custom platform-specific response.
                "a_key": "", # Properties of the object.
              },
              "platform": "A String", # Optional. The platform that this message is intended for.
              "quickReplies": { # The quick replies response message. # Displays quick replies.
                "quickReplies": [ # Optional. The collection of quick replies.
                  "A String",
                ],
                "title": "A String", # Optional. The title of the collection of quick replies.
              },
              "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                  { # Rich Business Messaging (RBM) Card content
                    "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                    "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                      "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                      "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                    },
                    "suggestions": [ # Optional. List of suggestions to include in the card.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                  },
                ],
                "cardWidth": "A String", # Required. The width of the cards in the carousel.
              },
              "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
                "cardOrientation": "A String", # Required. Orientation of the card.
                "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
              },
              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "text": "A String", # Required. Text sent and displayed to the user.
              },
              "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                "simpleResponses": [ # Required. The list of simple responses.
                  { # The simple response message containing speech or text.
                    "displayText": "A String", # Optional. The text to display.
                    "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                  },
                ],
              },
              "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
                "suggestions": [ # Required. The list of suggested replies.
                  { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                    "title": "A String", # Required. The text shown the in the suggestion chip.
                  },
                ],
              },
              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                "buttons": [ # Optional. List of buttons for the card.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "columnProperties": [ # Optional. Display properties for the columns in this table.
                  { # Column properties for TableCard.
                    "header": "A String", # Required. Column heading.
                    "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                  },
                ],
                "image": { # The image response message. # Optional. Image which should be displayed on the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "rows": [ # Optional. Rows in this table of data.
                  { # Row of TableCard.
                    "cells": [ # Optional. List of cells that make up this row.
                      { # Cell of TableCardRow.
                        "text": "A String", # Required. Text in this cell.
                      },
                    ],
                    "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle to the title.
                "title": "A String", # Required. Title of the card.
              },
              "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
                "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
              },
              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
                "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
                "text": "A String", # The raw text to be synthesized.
              },
              "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
                "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
              },
              "text": { # The text response message. # Returns a text response.
                "text": [ # Optional. The collection of the agent's responses.
                  "A String",
                ],
              },
            },
          ],
          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.
          "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
          "outputContexts": [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
            { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
              "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
              "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
              "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                "a_key": "", # Properties of the object.
              },
            },
          ],
          "parameters": [ # Optional. The collection of parameters associated with the intent.
            { # Represents intent parameters.
              "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
              "displayName": "A String", # Required. The name of the parameter.
              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
              "name": "A String", # The unique identifier of this parameter.
              "prompts": [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
                "A String",
              ],
              "value": "A String", # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
            },
          ],
          "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
          "priority": 42, # Optional. 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.
          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
          "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
          "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
            { # Represents an example that the agent is trained on.
              "name": "A String", # Output only. The unique identifier of this training phrase.
              "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                { # Represents a part of a training phrase.
                  "alias": "A String", # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
                  "entityType": "A String", # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
                  "text": "A String", # Required. The text for this part.
                  "userDefined": True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
                },
              ],
              "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
              "type": "A String", # Required. The type of the training phrase.
            },
          ],
          "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
        },
        "intentDetectionConfidence": 3.14, # The intent detection confidence. 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. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.
        "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing `KnowledgeAnswers.match_confidence`.
          "answers": [ # A list of answers from Knowledge Connector.
            { # An answer from Knowledge Connector.
              "answer": "A String", # The piece of text from the `source` knowledge base document that answers this conversational query.
              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
              "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query. The range is from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement. It may be deprecated in the future. We recommend using `match_confidence_level` which should be generally more stable.
              "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given `` pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.
              "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
            },
          ],
        },
        "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
        "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
          { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
            "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
            "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "a_key": "", # Properties of the object.
            },
          },
        ],
        "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
          "a_key": "", # Properties of the object.
        },
        "queryText": "A String", # The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.
        "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
          },
        },
        "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.
        "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.
          "a_key": "", # Properties of the object.
        },
        "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.
      },
    },
    "faqAnswer": { # Represents answer from "frequently asked questions". # Output only. The FAQ answer.
      "answer": "A String", # The piece of text from the `source` knowledge base document.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "question": "A String", # The corresponding FAQ question.
      "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
    },
  },
  "answerFeedback": { # Represents feedback the customer has about the quality & correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
    "agentAssistantDetailFeedback": { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
      "answerRelevance": "A String", # Optional. Whether or not the suggested answer is relevant. For example: * Query: "Can I change my mailing address?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * answer_relevance: AnswerRelevance.IRRELEVANT
      "documentCorrectness": "A String", # Optional. Whether or not the information in the document is correct. For example: * Query: "Can I return the package in 2 days once received?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * Ground truth: "No return or exchange is allowed." * [document_correctness]: INCORRECT
      "documentEfficiency": "A String", # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
      "knowledgeSearchFeedback": { # Feedback for knowledge search. # Optional. Feedback for knowledge search.
        "answerCopied": True or False, # Whether the answer was copied by the human agent or not. If the value is set to be true, AnswerFeedback.clicked will be updated to be true.
        "clickedUris": [ # The URIs clicked by the human agent. The value is appended for each UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked will be updated to be true.
          "A String",
        ],
      },
      "summarizationFeedback": { # Feedback for conversation summarization. # Feedback for conversation summarization.
        "startTimestamp": "A String", # Timestamp when composing of the summary starts.
        "submitTimestamp": "A String", # Timestamp when the summary was submitted.
        "summaryText": "A String", # Text of actual submitted summary.
        "textSections": { # Optional. Actual text sections of submitted summary.
          "a_key": "A String",
        },
      },
    },
    "clickTime": "A String", # Time when the answer/item was clicked.
    "clicked": True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false. For knowledge search, the answer record is considered to be clicked if the answer was copied or any URI was clicked.
    "correctnessLevel": "A String", # The correctness level of the specific answer.
    "displayTime": "A String", # Time when the answer/item was displayed.
    "displayed": True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
  },
  "name": "A String", # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}
list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)
Returns the list of all answer records in the specified project in reverse chronological order.

Args:
  parent: string, Required. The project to list all answer records for in reverse chronological order. Format: `projects//locations/`. (required)
  filter: string, Optional. Filters to restrict results to specific answer records. For more information about filtering, see [API Filtering](https://aip.dev/160).
  pageSize: integer, Optional. The maximum number of records to return in a single page. The server may return fewer records than this. If unspecified, we use 10. The maximum is 100.
  pageToken: string, Optional. The ListAnswerRecordsResponse.next_page_token value returned from a previous list request used to continue listing on the next page.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for AnswerRecords.ListAnswerRecords.
  "answerRecords": [ # The list of answer records.
    { # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
      "agentAssistantRecord": { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
        "articleSuggestionAnswer": { # Represents article answer. # Output only. The article suggestion answer.
          "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
          "metadata": { # A map that contains metadata about the answer and the document from which it originates.
            "a_key": "A String",
          },
          "snippets": [ # Output only. Article snippets.
            "A String",
          ],
          "title": "A String", # The article title.
          "uri": "A String", # The article URI.
        },
        "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. The Dialogflow assist answer.
          "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
          "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
            "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
            "displayName": "A String", # The display name of the intent.
            "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
          },
          "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
            "action": "A String", # The action name from the matched intent.
            "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
            "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
            "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors
              "a_key": "", # Properties of the object.
            },
            "fulfillmentMessages": [ # The collection of rich messages to present to the user.
              { # Corresponds to the `Response` field in the Dialogflow console.
                "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # The button object that appears at the bottom of a card.
                      "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                        "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                      },
                      "title": "A String", # Required. The title of the button.
                    },
                  ],
                  "formattedText": "A String", # Required, unless image is present. The body text of the card.
                  "image": { # The image response message. # Optional. The image for the card.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "subtitle": "A String", # Optional. The subtitle of the card.
                  "title": "A String", # Optional. The title of the card.
                },
                "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                  "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                  "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                    { # Browsing carousel tile
                      "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                      "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                      "image": { # The image response message. # Optional. Hero image for the carousel item.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                        "url": "A String", # Required. URL
                        "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                      },
                      "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                    },
                  ],
                },
                "card": { # The card response message. # Displays a card.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # Optional. Contains information about a button.
                      "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                      "text": "A String", # Optional. The text to show on the button.
                    },
                  ],
                  "imageUri": "A String", # Optional. The public URI to an image file for the card.
                  "subtitle": "A String", # Optional. The subtitle of the card.
                  "title": "A String", # Optional. The title of the card.
                },
                "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                  "items": [ # Required. Carousel items.
                    { # An item in the carousel.
                      "description": "A String", # Optional. The body text of the card.
                      "image": { # The image response message. # Optional. The image to display.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                        "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                        "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                          "A String",
                        ],
                      },
                      "title": "A String", # Required. Title of the carousel item.
                    },
                  ],
                },
                "image": { # The image response message. # Displays an image.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                  "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                  "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                },
                "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
                  "items": [ # Required. List items.
                    { # An item in the list.
                      "description": "A String", # Optional. The main text describing the item.
                      "image": { # The image response message. # Optional. The image to display.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                        "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                        "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                          "A String",
                        ],
                      },
                      "title": "A String", # Required. The title of the list item.
                    },
                  ],
                  "subtitle": "A String", # Optional. Subtitle of the list.
                  "title": "A String", # Optional. The overall title of the list.
                },
                "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
                  "mediaObjects": [ # Required. List of media objects.
                    { # Response media object for media content card.
                      "contentUrl": "A String", # Required. Url where the media is stored.
                      "description": "A String", # Optional. Description of media card.
                      "icon": { # The image response message. # Optional. Icon to display above media content.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "largeImage": { # The image response message. # Optional. Image to display above media content.
                        "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                        "imageUri": "A String", # Optional. The public URI to an image file.
                      },
                      "name": "A String", # Required. Name of media card.
                    },
                  ],
                  "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                },
                "payload": { # A custom platform-specific response.
                  "a_key": "", # Properties of the object.
                },
                "platform": "A String", # Optional. The platform that this message is intended for.
                "quickReplies": { # The quick replies response message. # Displays quick replies.
                  "quickReplies": [ # Optional. The collection of quick replies.
                    "A String",
                  ],
                  "title": "A String", # Optional. The title of the collection of quick replies.
                },
                "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                  "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                    { # Rich Business Messaging (RBM) Card content
                      "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                      "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                        "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                        "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                        "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                      },
                      "suggestions": [ # Optional. List of suggestions to include in the card.
                        { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                          "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                    },
                  ],
                  "cardWidth": "A String", # Required. The width of the cards in the carousel.
                },
                "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                  "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                    "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                    "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                      "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                      "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                    },
                    "suggestions": [ # Optional. List of suggestions to include in the card.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                  },
                  "cardOrientation": "A String", # Required. Orientation of the card.
                  "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                },
                "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                  "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "text": "A String", # Required. Text sent and displayed to the user.
                },
                "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                  "simpleResponses": [ # Required. The list of simple responses.
                    { # The simple response message containing speech or text.
                      "displayText": "A String", # Optional. The text to display.
                      "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                      "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                    },
                  ],
                },
                "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
                  "suggestions": [ # Required. The list of suggested replies.
                    { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                      "title": "A String", # Required. The text shown the in the suggestion chip.
                    },
                  ],
                },
                "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                  "buttons": [ # Optional. List of buttons for the card.
                    { # The button object that appears at the bottom of a card.
                      "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                        "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                      },
                      "title": "A String", # Required. The title of the button.
                    },
                  ],
                  "columnProperties": [ # Optional. Display properties for the columns in this table.
                    { # Column properties for TableCard.
                      "header": "A String", # Required. Column heading.
                      "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                    },
                  ],
                  "image": { # The image response message. # Optional. Image which should be displayed on the card.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "rows": [ # Optional. Rows in this table of data.
                    { # Row of TableCard.
                      "cells": [ # Optional. List of cells that make up this row.
                        { # Cell of TableCardRow.
                          "text": "A String", # Required. Text in this cell.
                        },
                      ],
                      "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                    },
                  ],
                  "subtitle": "A String", # Optional. Subtitle to the title.
                  "title": "A String", # Required. Title of the card.
                },
                "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
                  "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
                },
                "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
                  "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
                  "text": "A String", # The raw text to be synthesized.
                },
                "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
                  "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
                },
                "text": { # The text response message. # Returns a text response.
                  "text": [ # Optional. The collection of the agent's responses.
                    "A String",
                  ],
                },
              },
            ],
            "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.
            "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`.
              "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
              "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
                "A String",
              ],
              "displayName": "A String", # Required. The name of this intent.
              "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
              "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
                "A String",
              ],
              "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
                { # Represents a single followup intent in the chain.
                  "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
                  "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
                },
              ],
              "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
                "A String",
              ],
              "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
              "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
              "messages": [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
                { # Corresponds to the `Response` field in the Dialogflow console.
                  "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "formattedText": "A String", # Required, unless image is present. The body text of the card.
                    "image": { # The image response message. # Optional. The image for the card.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "subtitle": "A String", # Optional. The subtitle of the card.
                    "title": "A String", # Optional. The title of the card.
                  },
                  "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                    "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                    "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                      { # Browsing carousel tile
                        "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                        "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                        "image": { # The image response message. # Optional. Hero image for the carousel item.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                          "url": "A String", # Required. URL
                          "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                        },
                        "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                      },
                    ],
                  },
                  "card": { # The card response message. # Displays a card.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # Optional. Contains information about a button.
                        "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                        "text": "A String", # Optional. The text to show on the button.
                      },
                    ],
                    "imageUri": "A String", # Optional. The public URI to an image file for the card.
                    "subtitle": "A String", # Optional. The subtitle of the card.
                    "title": "A String", # Optional. The title of the card.
                  },
                  "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                    "items": [ # Required. Carousel items.
                      { # An item in the carousel.
                        "description": "A String", # Optional. The body text of the card.
                        "image": { # The image response message. # Optional. The image to display.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "title": "A String", # Required. Title of the carousel item.
                      },
                    ],
                  },
                  "image": { # The image response message. # Displays an image.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                    "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                    "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
                  },
                  "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
                    "items": [ # Required. List items.
                      { # An item in the list.
                        "description": "A String", # Optional. The main text describing the item.
                        "image": { # The image response message. # Optional. The image to display.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                          "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                          "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                            "A String",
                          ],
                        },
                        "title": "A String", # Required. The title of the list item.
                      },
                    ],
                    "subtitle": "A String", # Optional. Subtitle of the list.
                    "title": "A String", # Optional. The overall title of the list.
                  },
                  "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
                    "mediaObjects": [ # Required. List of media objects.
                      { # Response media object for media content card.
                        "contentUrl": "A String", # Required. Url where the media is stored.
                        "description": "A String", # Optional. Description of media card.
                        "icon": { # The image response message. # Optional. Icon to display above media content.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "largeImage": { # The image response message. # Optional. Image to display above media content.
                          "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                          "imageUri": "A String", # Optional. The public URI to an image file.
                        },
                        "name": "A String", # Required. Name of media card.
                      },
                    ],
                    "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
                  },
                  "payload": { # A custom platform-specific response.
                    "a_key": "", # Properties of the object.
                  },
                  "platform": "A String", # Optional. The platform that this message is intended for.
                  "quickReplies": { # The quick replies response message. # Displays quick replies.
                    "quickReplies": [ # Optional. The collection of quick replies.
                      "A String",
                    ],
                    "title": "A String", # Optional. The title of the collection of quick replies.
                  },
                  "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                    "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                      { # Rich Business Messaging (RBM) Card content
                        "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                        "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                          "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                          "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                          "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                        },
                        "suggestions": [ # Optional. List of suggestions to include in the card.
                          { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                            "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                              "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                                "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                              },
                              "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                                "uri": "A String", # Required. The uri to open on the user device
                              },
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                              "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                              },
                              "text": "A String", # Text to display alongside the action.
                            },
                            "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                              "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                              "text": "A String", # Suggested reply text.
                            },
                          },
                        ],
                        "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                      },
                    ],
                    "cardWidth": "A String", # Required. The width of the cards in the carousel.
                  },
                  "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                    "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                      "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                      "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                        "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                        "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                        "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                      },
                      "suggestions": [ # Optional. List of suggestions to include in the card.
                        { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                          "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                            "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                              "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                            },
                            "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                              "uri": "A String", # Required. The uri to open on the user device
                            },
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                            "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                            },
                            "text": "A String", # Text to display alongside the action.
                          },
                          "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                            "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                            "text": "A String", # Suggested reply text.
                          },
                        },
                      ],
                      "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                    },
                    "cardOrientation": "A String", # Required. Orientation of the card.
                    "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
                  },
                  "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                    "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "text": "A String", # Required. Text sent and displayed to the user.
                  },
                  "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                    "simpleResponses": [ # Required. The list of simple responses.
                      { # The simple response message containing speech or text.
                        "displayText": "A String", # Optional. The text to display.
                        "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                        "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                      },
                    ],
                  },
                  "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
                    "suggestions": [ # Required. The list of suggested replies.
                      { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                        "title": "A String", # Required. The text shown the in the suggestion chip.
                      },
                    ],
                  },
                  "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                    "buttons": [ # Optional. List of buttons for the card.
                      { # The button object that appears at the bottom of a card.
                        "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                          "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                        },
                        "title": "A String", # Required. The title of the button.
                      },
                    ],
                    "columnProperties": [ # Optional. Display properties for the columns in this table.
                      { # Column properties for TableCard.
                        "header": "A String", # Required. Column heading.
                        "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                      },
                    ],
                    "image": { # The image response message. # Optional. Image which should be displayed on the card.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "rows": [ # Optional. Rows in this table of data.
                      { # Row of TableCard.
                        "cells": [ # Optional. List of cells that make up this row.
                          { # Cell of TableCardRow.
                            "text": "A String", # Required. Text in this cell.
                          },
                        ],
                        "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                      },
                    ],
                    "subtitle": "A String", # Optional. Subtitle to the title.
                    "title": "A String", # Required. Title of the card.
                  },
                  "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
                    "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
                  },
                  "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
                    "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
                    "text": "A String", # The raw text to be synthesized.
                  },
                  "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
                    "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
                  },
                  "text": { # The text response message. # Returns a text response.
                    "text": [ # Optional. The collection of the agent's responses.
                      "A String",
                    ],
                  },
                },
              ],
              "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
              "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.
              "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
              "outputContexts": [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
                { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                  "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                  "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                  "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                    "a_key": "", # Properties of the object.
                  },
                },
              ],
              "parameters": [ # Optional. The collection of parameters associated with the intent.
                { # Represents intent parameters.
                  "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
                  "displayName": "A String", # Required. The name of the parameter.
                  "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
                  "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
                  "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
                  "name": "A String", # The unique identifier of this parameter.
                  "prompts": [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
                    "A String",
                  ],
                  "value": "A String", # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
                },
              ],
              "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
              "priority": 42, # Optional. 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.
              "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
              "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
              "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
                { # Represents an example that the agent is trained on.
                  "name": "A String", # Output only. The unique identifier of this training phrase.
                  "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                    { # Represents a part of a training phrase.
                      "alias": "A String", # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
                      "entityType": "A String", # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
                      "text": "A String", # Required. The text for this part.
                      "userDefined": True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
                    },
                  ],
                  "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
                  "type": "A String", # Required. The type of the training phrase.
                },
              ],
              "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
            },
            "intentDetectionConfidence": 3.14, # The intent detection confidence. 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. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.
            "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing `KnowledgeAnswers.match_confidence`.
              "answers": [ # A list of answers from Knowledge Connector.
                { # An answer from Knowledge Connector.
                  "answer": "A String", # The piece of text from the `source` knowledge base document that answers this conversational query.
                  "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
                  "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query. The range is from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement. It may be deprecated in the future. We recommend using `match_confidence_level` which should be generally more stable.
                  "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given `` pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.
                  "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
                },
              ],
            },
            "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
            "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
              { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
                "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
                "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
                "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                  "a_key": "", # Properties of the object.
                },
              },
            ],
            "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "a_key": "", # Properties of the object.
            },
            "queryText": "A String", # The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.
            "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
              "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
                "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
                "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
              },
            },
            "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.
            "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.
              "a_key": "", # Properties of the object.
            },
            "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.
          },
        },
        "faqAnswer": { # Represents answer from "frequently asked questions". # Output only. The FAQ answer.
          "answer": "A String", # The piece of text from the `source` knowledge base document.
          "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
          "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
          "metadata": { # A map that contains metadata about the answer and the document from which it originates.
            "a_key": "A String",
          },
          "question": "A String", # The corresponding FAQ question.
          "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
        },
      },
      "answerFeedback": { # Represents feedback the customer has about the quality & correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
        "agentAssistantDetailFeedback": { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
          "answerRelevance": "A String", # Optional. Whether or not the suggested answer is relevant. For example: * Query: "Can I change my mailing address?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * answer_relevance: AnswerRelevance.IRRELEVANT
          "documentCorrectness": "A String", # Optional. Whether or not the information in the document is correct. For example: * Query: "Can I return the package in 2 days once received?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * Ground truth: "No return or exchange is allowed." * [document_correctness]: INCORRECT
          "documentEfficiency": "A String", # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
          "knowledgeSearchFeedback": { # Feedback for knowledge search. # Optional. Feedback for knowledge search.
            "answerCopied": True or False, # Whether the answer was copied by the human agent or not. If the value is set to be true, AnswerFeedback.clicked will be updated to be true.
            "clickedUris": [ # The URIs clicked by the human agent. The value is appended for each UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked will be updated to be true.
              "A String",
            ],
          },
          "summarizationFeedback": { # Feedback for conversation summarization. # Feedback for conversation summarization.
            "startTimestamp": "A String", # Timestamp when composing of the summary starts.
            "submitTimestamp": "A String", # Timestamp when the summary was submitted.
            "summaryText": "A String", # Text of actual submitted summary.
            "textSections": { # Optional. Actual text sections of submitted summary.
              "a_key": "A String",
            },
          },
        },
        "clickTime": "A String", # Time when the answer/item was clicked.
        "clicked": True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false. For knowledge search, the answer record is considered to be clicked if the answer was copied or any URI was clicked.
        "correctnessLevel": "A String", # The correctness level of the specific answer.
        "displayTime": "A String", # Time when the answer/item was displayed.
        "displayed": True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
      },
      "name": "A String", # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
    },
  ],
  "nextPageToken": "A String", # A token to retrieve next page of results. Or empty if there are no more results. Pass this value in the ListAnswerRecordsRequest.page_token field in the subsequent call to `ListAnswerRecords` method to retrieve the next page of results.
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the specified answer record.

Args:
  name: string, The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`. (required)
  body: object, The request body.
    The object takes the form of:

{ # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
  "agentAssistantRecord": { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
    "articleSuggestionAnswer": { # Represents article answer. # Output only. The article suggestion answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "snippets": [ # Output only. Article snippets.
        "A String",
      ],
      "title": "A String", # The article title.
      "uri": "A String", # The article URI.
    },
    "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. The Dialogflow assist answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
        "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
        "displayName": "A String", # The display name of the intent.
        "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
      },
      "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
        "action": "A String", # The action name from the matched intent.
        "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
        "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
        "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors
          "a_key": "", # Properties of the object.
        },
        "fulfillmentMessages": [ # The collection of rich messages to present to the user.
          { # Corresponds to the `Response` field in the Dialogflow console.
            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
              "buttons": [ # Optional. The collection of card buttons.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "formattedText": "A String", # Required, unless image is present. The body text of the card.
              "image": { # The image response message. # Optional. The image for the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                { # Browsing carousel tile
                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                  "image": { # The image response message. # Optional. Hero image for the carousel item.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                    "url": "A String", # Required. URL
                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                  },
                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                },
              ],
            },
            "card": { # The card response message. # Displays a card.
              "buttons": [ # Optional. The collection of card buttons.
                { # Optional. Contains information about a button.
                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                  "text": "A String", # Optional. The text to show on the button.
                },
              ],
              "imageUri": "A String", # Optional. The public URI to an image file for the card.
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
              "items": [ # Required. Carousel items.
                { # An item in the carousel.
                  "description": "A String", # Optional. The body text of the card.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. Title of the carousel item.
                },
              ],
            },
            "image": { # The image response message. # Displays an image.
              "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
              "imageUri": "A String", # Optional. The public URI to an image file.
            },
            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
              "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
            },
            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
              "items": [ # Required. List items.
                { # An item in the list.
                  "description": "A String", # Optional. The main text describing the item.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. The title of the list item.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle of the list.
              "title": "A String", # Optional. The overall title of the list.
            },
            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
              "mediaObjects": [ # Required. List of media objects.
                { # Response media object for media content card.
                  "contentUrl": "A String", # Required. Url where the media is stored.
                  "description": "A String", # Optional. Description of media card.
                  "icon": { # The image response message. # Optional. Icon to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "largeImage": { # The image response message. # Optional. Image to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "name": "A String", # Required. Name of media card.
                },
              ],
              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
            },
            "payload": { # A custom platform-specific response.
              "a_key": "", # Properties of the object.
            },
            "platform": "A String", # Optional. The platform that this message is intended for.
            "quickReplies": { # The quick replies response message. # Displays quick replies.
              "quickReplies": [ # Optional. The collection of quick replies.
                "A String",
              ],
              "title": "A String", # Optional. The title of the collection of quick replies.
            },
            "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
              "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                { # Rich Business Messaging (RBM) Card content
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
              ],
              "cardWidth": "A String", # Required. The width of the cards in the carousel.
            },
            "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
              "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                  "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                  "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                },
                "suggestions": [ # Optional. List of suggestions to include in the card.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
              },
              "cardOrientation": "A String", # Required. Orientation of the card.
              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
            },
            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                    },
                    "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                      "uri": "A String", # Required. The uri to open on the user device
                    },
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                    },
                    "text": "A String", # Text to display alongside the action.
                  },
                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                    "text": "A String", # Suggested reply text.
                  },
                },
              ],
              "text": "A String", # Required. Text sent and displayed to the user.
            },
            "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
              "simpleResponses": [ # Required. The list of simple responses.
                { # The simple response message containing speech or text.
                  "displayText": "A String", # Optional. The text to display.
                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                },
              ],
            },
            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
              "suggestions": [ # Required. The list of suggested replies.
                { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                  "title": "A String", # Required. The text shown the in the suggestion chip.
                },
              ],
            },
            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
              "buttons": [ # Optional. List of buttons for the card.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "columnProperties": [ # Optional. Display properties for the columns in this table.
                { # Column properties for TableCard.
                  "header": "A String", # Required. Column heading.
                  "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                },
              ],
              "image": { # The image response message. # Optional. Image which should be displayed on the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "rows": [ # Optional. Rows in this table of data.
                { # Row of TableCard.
                  "cells": [ # Optional. List of cells that make up this row.
                    { # Cell of TableCardRow.
                      "text": "A String", # Required. Text in this cell.
                    },
                  ],
                  "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle to the title.
              "title": "A String", # Required. Title of the card.
            },
            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
            },
            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
              "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
              "text": "A String", # The raw text to be synthesized.
            },
            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
              "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
            },
            "text": { # The text response message. # Returns a text response.
              "text": [ # Optional. The collection of the agent's responses.
                "A String",
              ],
            },
          },
        ],
        "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.
        "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`.
          "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
          "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
            "A String",
          ],
          "displayName": "A String", # Required. The name of this intent.
          "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
          "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
            "A String",
          ],
          "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
            { # Represents a single followup intent in the chain.
              "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
              "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
            },
          ],
          "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
            "A String",
          ],
          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
          "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
          "messages": [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
            { # Corresponds to the `Response` field in the Dialogflow console.
              "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                "buttons": [ # Optional. The collection of card buttons.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "formattedText": "A String", # Required, unless image is present. The body text of the card.
                "image": { # The image response message. # Optional. The image for the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                  { # Browsing carousel tile
                    "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                    "image": { # The image response message. # Optional. Hero image for the carousel item.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                      "url": "A String", # Required. URL
                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                    },
                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                  },
                ],
              },
              "card": { # The card response message. # Displays a card.
                "buttons": [ # Optional. The collection of card buttons.
                  { # Optional. Contains information about a button.
                    "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                    "text": "A String", # Optional. The text to show on the button.
                  },
                ],
                "imageUri": "A String", # Optional. The public URI to an image file for the card.
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                "items": [ # Required. Carousel items.
                  { # An item in the carousel.
                    "description": "A String", # Optional. The body text of the card.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. Title of the carousel item.
                  },
                ],
              },
              "image": { # The image response message. # Displays an image.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
              },
              "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
                "items": [ # Required. List items.
                  { # An item in the list.
                    "description": "A String", # Optional. The main text describing the item.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. The title of the list item.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle of the list.
                "title": "A String", # Optional. The overall title of the list.
              },
              "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
                "mediaObjects": [ # Required. List of media objects.
                  { # Response media object for media content card.
                    "contentUrl": "A String", # Required. Url where the media is stored.
                    "description": "A String", # Optional. Description of media card.
                    "icon": { # The image response message. # Optional. Icon to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "largeImage": { # The image response message. # Optional. Image to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "name": "A String", # Required. Name of media card.
                  },
                ],
                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
              },
              "payload": { # A custom platform-specific response.
                "a_key": "", # Properties of the object.
              },
              "platform": "A String", # Optional. The platform that this message is intended for.
              "quickReplies": { # The quick replies response message. # Displays quick replies.
                "quickReplies": [ # Optional. The collection of quick replies.
                  "A String",
                ],
                "title": "A String", # Optional. The title of the collection of quick replies.
              },
              "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                  { # Rich Business Messaging (RBM) Card content
                    "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                    "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                      "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                      "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                    },
                    "suggestions": [ # Optional. List of suggestions to include in the card.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                  },
                ],
                "cardWidth": "A String", # Required. The width of the cards in the carousel.
              },
              "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
                "cardOrientation": "A String", # Required. Orientation of the card.
                "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
              },
              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "text": "A String", # Required. Text sent and displayed to the user.
              },
              "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                "simpleResponses": [ # Required. The list of simple responses.
                  { # The simple response message containing speech or text.
                    "displayText": "A String", # Optional. The text to display.
                    "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                  },
                ],
              },
              "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
                "suggestions": [ # Required. The list of suggested replies.
                  { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                    "title": "A String", # Required. The text shown the in the suggestion chip.
                  },
                ],
              },
              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                "buttons": [ # Optional. List of buttons for the card.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "columnProperties": [ # Optional. Display properties for the columns in this table.
                  { # Column properties for TableCard.
                    "header": "A String", # Required. Column heading.
                    "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                  },
                ],
                "image": { # The image response message. # Optional. Image which should be displayed on the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "rows": [ # Optional. Rows in this table of data.
                  { # Row of TableCard.
                    "cells": [ # Optional. List of cells that make up this row.
                      { # Cell of TableCardRow.
                        "text": "A String", # Required. Text in this cell.
                      },
                    ],
                    "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle to the title.
                "title": "A String", # Required. Title of the card.
              },
              "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
                "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
              },
              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
                "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
                "text": "A String", # The raw text to be synthesized.
              },
              "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
                "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
              },
              "text": { # The text response message. # Returns a text response.
                "text": [ # Optional. The collection of the agent's responses.
                  "A String",
                ],
              },
            },
          ],
          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.
          "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
          "outputContexts": [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
            { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
              "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
              "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
              "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                "a_key": "", # Properties of the object.
              },
            },
          ],
          "parameters": [ # Optional. The collection of parameters associated with the intent.
            { # Represents intent parameters.
              "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
              "displayName": "A String", # Required. The name of the parameter.
              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
              "name": "A String", # The unique identifier of this parameter.
              "prompts": [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
                "A String",
              ],
              "value": "A String", # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
            },
          ],
          "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
          "priority": 42, # Optional. 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.
          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
          "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
          "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
            { # Represents an example that the agent is trained on.
              "name": "A String", # Output only. The unique identifier of this training phrase.
              "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                { # Represents a part of a training phrase.
                  "alias": "A String", # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
                  "entityType": "A String", # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
                  "text": "A String", # Required. The text for this part.
                  "userDefined": True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
                },
              ],
              "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
              "type": "A String", # Required. The type of the training phrase.
            },
          ],
          "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
        },
        "intentDetectionConfidence": 3.14, # The intent detection confidence. 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. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.
        "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing `KnowledgeAnswers.match_confidence`.
          "answers": [ # A list of answers from Knowledge Connector.
            { # An answer from Knowledge Connector.
              "answer": "A String", # The piece of text from the `source` knowledge base document that answers this conversational query.
              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
              "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query. The range is from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement. It may be deprecated in the future. We recommend using `match_confidence_level` which should be generally more stable.
              "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given `` pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.
              "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
            },
          ],
        },
        "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
        "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
          { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
            "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
            "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "a_key": "", # Properties of the object.
            },
          },
        ],
        "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
          "a_key": "", # Properties of the object.
        },
        "queryText": "A String", # The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.
        "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
          },
        },
        "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.
        "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.
          "a_key": "", # Properties of the object.
        },
        "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.
      },
    },
    "faqAnswer": { # Represents answer from "frequently asked questions". # Output only. The FAQ answer.
      "answer": "A String", # The piece of text from the `source` knowledge base document.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "question": "A String", # The corresponding FAQ question.
      "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
    },
  },
  "answerFeedback": { # Represents feedback the customer has about the quality & correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
    "agentAssistantDetailFeedback": { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
      "answerRelevance": "A String", # Optional. Whether or not the suggested answer is relevant. For example: * Query: "Can I change my mailing address?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * answer_relevance: AnswerRelevance.IRRELEVANT
      "documentCorrectness": "A String", # Optional. Whether or not the information in the document is correct. For example: * Query: "Can I return the package in 2 days once received?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * Ground truth: "No return or exchange is allowed." * [document_correctness]: INCORRECT
      "documentEfficiency": "A String", # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
      "knowledgeSearchFeedback": { # Feedback for knowledge search. # Optional. Feedback for knowledge search.
        "answerCopied": True or False, # Whether the answer was copied by the human agent or not. If the value is set to be true, AnswerFeedback.clicked will be updated to be true.
        "clickedUris": [ # The URIs clicked by the human agent. The value is appended for each UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked will be updated to be true.
          "A String",
        ],
      },
      "summarizationFeedback": { # Feedback for conversation summarization. # Feedback for conversation summarization.
        "startTimestamp": "A String", # Timestamp when composing of the summary starts.
        "submitTimestamp": "A String", # Timestamp when the summary was submitted.
        "summaryText": "A String", # Text of actual submitted summary.
        "textSections": { # Optional. Actual text sections of submitted summary.
          "a_key": "A String",
        },
      },
    },
    "clickTime": "A String", # Time when the answer/item was clicked.
    "clicked": True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false. For knowledge search, the answer record is considered to be clicked if the answer was copied or any URI was clicked.
    "correctnessLevel": "A String", # The correctness level of the specific answer.
    "displayTime": "A String", # Time when the answer/item was displayed.
    "displayed": True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
  },
  "name": "A String", # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}

  updateMask: string, Required. The mask to control which fields get updated.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
  "agentAssistantRecord": { # Represents a record of a human agent assistant answer. # Output only. The record for human agent assistant.
    "articleSuggestionAnswer": { # Represents article answer. # Output only. The article suggestion answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "snippets": [ # Output only. Article snippets.
        "A String",
      ],
      "title": "A String", # The article title.
      "uri": "A String", # The article URI.
    },
    "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. The Dialogflow assist answer.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "intentSuggestion": { # Represents an intent suggestion. # An intent suggestion generated from conversation.
        "description": "A String", # Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.
        "displayName": "A String", # The display name of the intent.
        "intentV2": "A String", # The unique identifier of this intent. Format: `projects//locations//agent/intents/`.
      },
      "queryResult": { # Represents the result of conversational query or event processing. # Result from v2 agent.
        "action": "A String", # The action name from the matched intent.
        "allRequiredParamsPresent": True or False, # This field is set to: - `false` if the matched intent has required parameters and not all of the required parameter values have been collected. - `true` if all required parameter values have been collected, or if the matched intent doesn't contain any required parameters.
        "cancelsSlotFilling": True or False, # Indicates whether the conversational query triggers a cancellation for slot filling. For more information, see the [cancel slot filling documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel).
        "diagnosticInfo": { # Free-form diagnostic information for the associated detect intent request. The fields of this data can change without notice, so you should not write code that depends on its structure. The data may contain: - webhook call latency - webhook errors
          "a_key": "", # Properties of the object.
        },
        "fulfillmentMessages": [ # The collection of rich messages to present to the user.
          { # Corresponds to the `Response` field in the Dialogflow console.
            "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
              "buttons": [ # Optional. The collection of card buttons.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "formattedText": "A String", # Required, unless image is present. The body text of the card.
              "image": { # The image response message. # Optional. The image for the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
              "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
              "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                { # Browsing carousel tile
                  "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                  "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                  "image": { # The image response message. # Optional. Hero image for the carousel item.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                    "url": "A String", # Required. URL
                    "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                  },
                  "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                },
              ],
            },
            "card": { # The card response message. # Displays a card.
              "buttons": [ # Optional. The collection of card buttons.
                { # Optional. Contains information about a button.
                  "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                  "text": "A String", # Optional. The text to show on the button.
                },
              ],
              "imageUri": "A String", # Optional. The public URI to an image file for the card.
              "subtitle": "A String", # Optional. The subtitle of the card.
              "title": "A String", # Optional. The title of the card.
            },
            "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
              "items": [ # Required. Carousel items.
                { # An item in the carousel.
                  "description": "A String", # Optional. The body text of the card.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. Title of the carousel item.
                },
              ],
            },
            "image": { # The image response message. # Displays an image.
              "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
              "imageUri": "A String", # Optional. The public URI to an image file.
            },
            "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
              "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
              "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
            },
            "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
              "items": [ # Required. List items.
                { # An item in the list.
                  "description": "A String", # Optional. The main text describing the item.
                  "image": { # The image response message. # Optional. The image to display.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                    "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                    "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                      "A String",
                    ],
                  },
                  "title": "A String", # Required. The title of the list item.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle of the list.
              "title": "A String", # Optional. The overall title of the list.
            },
            "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
              "mediaObjects": [ # Required. List of media objects.
                { # Response media object for media content card.
                  "contentUrl": "A String", # Required. Url where the media is stored.
                  "description": "A String", # Optional. Description of media card.
                  "icon": { # The image response message. # Optional. Icon to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "largeImage": { # The image response message. # Optional. Image to display above media content.
                    "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                    "imageUri": "A String", # Optional. The public URI to an image file.
                  },
                  "name": "A String", # Required. Name of media card.
                },
              ],
              "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
            },
            "payload": { # A custom platform-specific response.
              "a_key": "", # Properties of the object.
            },
            "platform": "A String", # Optional. The platform that this message is intended for.
            "quickReplies": { # The quick replies response message. # Displays quick replies.
              "quickReplies": [ # Optional. The collection of quick replies.
                "A String",
              ],
              "title": "A String", # Optional. The title of the collection of quick replies.
            },
            "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
              "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                { # Rich Business Messaging (RBM) Card content
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
              ],
              "cardWidth": "A String", # Required. The width of the cards in the carousel.
            },
            "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
              "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                  "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                  "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                  "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                },
                "suggestions": [ # Optional. List of suggestions to include in the card.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
              },
              "cardOrientation": "A String", # Required. Orientation of the card.
              "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
            },
            "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
              "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                  "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                    "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                      "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                    },
                    "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                      "uri": "A String", # Required. The uri to open on the user device
                    },
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                    "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                    },
                    "text": "A String", # Text to display alongside the action.
                  },
                  "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                    "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                    "text": "A String", # Suggested reply text.
                  },
                },
              ],
              "text": "A String", # Required. Text sent and displayed to the user.
            },
            "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
              "simpleResponses": [ # Required. The list of simple responses.
                { # The simple response message containing speech or text.
                  "displayText": "A String", # Optional. The text to display.
                  "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                  "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                },
              ],
            },
            "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
              "suggestions": [ # Required. The list of suggested replies.
                { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                  "title": "A String", # Required. The text shown the in the suggestion chip.
                },
              ],
            },
            "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
              "buttons": [ # Optional. List of buttons for the card.
                { # The button object that appears at the bottom of a card.
                  "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                    "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                  },
                  "title": "A String", # Required. The title of the button.
                },
              ],
              "columnProperties": [ # Optional. Display properties for the columns in this table.
                { # Column properties for TableCard.
                  "header": "A String", # Required. Column heading.
                  "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                },
              ],
              "image": { # The image response message. # Optional. Image which should be displayed on the card.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "rows": [ # Optional. Rows in this table of data.
                { # Row of TableCard.
                  "cells": [ # Optional. List of cells that make up this row.
                    { # Cell of TableCardRow.
                      "text": "A String", # Required. Text in this cell.
                    },
                  ],
                  "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                },
              ],
              "subtitle": "A String", # Optional. Subtitle to the title.
              "title": "A String", # Required. Title of the card.
            },
            "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
              "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
            },
            "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
              "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
              "text": "A String", # The raw text to be synthesized.
            },
            "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
              "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
            },
            "text": { # The text response message. # Returns a text response.
              "text": [ # Optional. The collection of the agent's responses.
                "A String",
              ],
            },
          },
        ],
        "fulfillmentText": "A String", # The text to be pronounced to the user or shown on the screen. Note: This is a legacy field, `fulfillment_messages` should be preferred.
        "intent": { # An intent categorizes an end-user's intention for one conversation turn. For each agent, you define many intents, where your combined intents can handle a complete conversation. When an end-user writes or says something, referred to as an end-user expression or end-user input, Dialogflow matches the end-user input to the best intent in your agent. Matching an intent is also known as intent classification. For more information, see the [intent guide](https://cloud.google.com/dialogflow/docs/intents-overview). # The intent that matched the conversational query. Some, not all fields are filled in this message, including but not limited to: `name`, `display_name`, `end_interaction` and `is_fallback`.
          "action": "A String", # Optional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
          "defaultResponsePlatforms": [ # Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
            "A String",
          ],
          "displayName": "A String", # Required. The name of this intent.
          "endInteraction": True or False, # Optional. Indicates that this intent ends an interaction. Some integrations (e.g., Actions on Google or Dialogflow phone gateway) use this information to close interaction with an end user. Default is false.
          "events": [ # Optional. The collection of event names that trigger the intent. If the collection of input contexts is not empty, all of the contexts must be present in the active user session for an event to trigger this intent. Event names are limited to 150 characters.
            "A String",
          ],
          "followupIntentInfo": [ # Output only. Information about all followup intents that have this intent as a direct or indirect parent. We populate this field only in the output.
            { # Represents a single followup intent in the chain.
              "followupIntentName": "A String", # The unique identifier of the followup intent. Format: `projects//agent/intents/`.
              "parentFollowupIntentName": "A String", # The unique identifier of the followup intent's parent. Format: `projects//agent/intents/`.
            },
          ],
          "inputContextNames": [ # Optional. The list of context names required for this intent to be triggered. Formats: - `projects//agent/sessions/-/contexts/` - `projects//locations//agent/sessions/-/contexts/`
            "A String",
          ],
          "isFallback": True or False, # Optional. Indicates whether this is a fallback intent.
          "liveAgentHandoff": True or False, # Optional. Indicates that a live agent should be brought in to handle the interaction with the user. In most cases, when you set this flag to true, you would also want to set end_interaction to true as well. Default is false.
          "messages": [ # Optional. The collection of rich messages corresponding to the `Response` field in the Dialogflow console.
            { # Corresponds to the `Response` field in the Dialogflow console.
              "basicCard": { # The basic card message. Useful for displaying information. # Displays a basic card for Actions on Google.
                "buttons": [ # Optional. The collection of card buttons.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "formattedText": "A String", # Required, unless image is present. The body text of the card.
                "image": { # The image response message. # Optional. The image for the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "browseCarouselCard": { # Browse Carousel Card for Actions on Google. https://developers.google.com/actions/assistant/responses#browsing_carousel # Browse carousel card for Actions on Google.
                "imageDisplayOptions": "A String", # Optional. Settings for displaying the image. Applies to every image in items.
                "items": [ # Required. List of items in the Browse Carousel Card. Minimum of two items, maximum of ten.
                  { # Browsing carousel tile
                    "description": "A String", # Optional. Description of the carousel item. Maximum of four lines of text.
                    "footer": "A String", # Optional. Text that appears at the bottom of the Browse Carousel Card. Maximum of one line of text.
                    "image": { # The image response message. # Optional. Hero image for the carousel item.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "openUriAction": { # Actions on Google action to open a given url. # Required. Action to present to the user.
                      "url": "A String", # Required. URL
                      "urlTypeHint": "A String", # Optional. Specifies the type of viewer that is used when opening the URL. Defaults to opening via web browser.
                    },
                    "title": "A String", # Required. Title of the carousel item. Maximum of two lines of text.
                  },
                ],
              },
              "card": { # The card response message. # Displays a card.
                "buttons": [ # Optional. The collection of card buttons.
                  { # Optional. Contains information about a button.
                    "postback": "A String", # Optional. The text to send back to the Dialogflow API or a URI to open.
                    "text": "A String", # Optional. The text to show on the button.
                  },
                ],
                "imageUri": "A String", # Optional. The public URI to an image file for the card.
                "subtitle": "A String", # Optional. The subtitle of the card.
                "title": "A String", # Optional. The title of the card.
              },
              "carouselSelect": { # The card for presenting a carousel of options to select from. # Displays a carousel card for Actions on Google.
                "items": [ # Required. Carousel items.
                  { # An item in the carousel.
                    "description": "A String", # Optional. The body text of the card.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional info about the option item.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. Title of the carousel item.
                  },
                ],
              },
              "image": { # The image response message. # Displays an image.
                "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                "imageUri": "A String", # Optional. The public URI to an image file.
              },
              "linkOutSuggestion": { # The suggestion chip message that allows the user to jump out to the app or website associated with this agent. # Displays a link out suggestion chip for Actions on Google.
                "destinationName": "A String", # Required. The name of the app or site this chip is linking to.
                "uri": "A String", # Required. The URI of the app or site to open when the user taps the suggestion chip.
              },
              "listSelect": { # The card for presenting a list of options to select from. # Displays a list card for Actions on Google.
                "items": [ # Required. List items.
                  { # An item in the list.
                    "description": "A String", # Optional. The main text describing the item.
                    "image": { # The image response message. # Optional. The image to display.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "info": { # Additional info about the select item for when it is triggered in a dialog. # Required. Additional information about this option.
                      "key": "A String", # Required. A unique key that will be sent back to the agent if this response is given.
                      "synonyms": [ # Optional. A list of synonyms that can also be used to trigger this item in dialog.
                        "A String",
                      ],
                    },
                    "title": "A String", # Required. The title of the list item.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle of the list.
                "title": "A String", # Optional. The overall title of the list.
              },
              "mediaContent": { # The media content card for Actions on Google. # The media content card for Actions on Google.
                "mediaObjects": [ # Required. List of media objects.
                  { # Response media object for media content card.
                    "contentUrl": "A String", # Required. Url where the media is stored.
                    "description": "A String", # Optional. Description of media card.
                    "icon": { # The image response message. # Optional. Icon to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "largeImage": { # The image response message. # Optional. Image to display above media content.
                      "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                      "imageUri": "A String", # Optional. The public URI to an image file.
                    },
                    "name": "A String", # Required. Name of media card.
                  },
                ],
                "mediaType": "A String", # Optional. What type of media is the content (ie "audio").
              },
              "payload": { # A custom platform-specific response.
                "a_key": "", # Properties of the object.
              },
              "platform": "A String", # Optional. The platform that this message is intended for.
              "quickReplies": { # The quick replies response message. # Displays quick replies.
                "quickReplies": [ # Optional. The collection of quick replies.
                  "A String",
                ],
                "title": "A String", # Optional. The title of the collection of quick replies.
              },
              "rbmCarouselRichCard": { # Carousel Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. If you want to show a single card with more control over the layout, please use RbmStandaloneCard instead. # Rich Business Messaging (RBM) carousel rich card response.
                "cardContents": [ # Required. The cards in the carousel. A carousel must have at least 2 cards and at most 10.
                  { # Rich Business Messaging (RBM) Card content
                    "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                    "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                      "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                      "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                      "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                    },
                    "suggestions": [ # Optional. List of suggestions to include in the card.
                      { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                        "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                          "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                            "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                          },
                          "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                            "uri": "A String", # Required. The uri to open on the user device
                          },
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                          "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                          },
                          "text": "A String", # Text to display alongside the action.
                        },
                        "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                          "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                          "text": "A String", # Suggested reply text.
                        },
                      },
                    ],
                    "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                  },
                ],
                "cardWidth": "A String", # Required. The width of the cards in the carousel.
              },
              "rbmStandaloneRichCard": { # Standalone Rich Business Messaging (RBM) rich card. Rich cards allow you to respond to users with more vivid content, e.g. with media and suggestions. You can group multiple rich cards into one using RbmCarouselCard but carousel cards will give you less control over the card layout. # Standalone Rich Business Messaging (RBM) rich card response.
                "cardContent": { # Rich Business Messaging (RBM) Card content # Required. Card content.
                  "description": "A String", # Optional. Description of the card (at most 2000 bytes). At least one of the title, description or media must be set.
                  "media": { # Rich Business Messaging (RBM) Media displayed in Cards The following media-types are currently supported: Image Types * image/jpeg * image/jpg' * image/gif * image/png Video Types * video/h263 * video/m4v * video/mp4 * video/mpeg * video/mpeg4 * video/webm # Optional. However at least one of the title, description or media must be set. Media (image, GIF or a video) to include in the card.
                    "fileUri": "A String", # Required. Publicly reachable URI of the file. The RBM platform determines the MIME type of the file from the content-type field in the HTTP headers when the platform fetches the file. The content-type field must be present and accurate in the HTTP response from the URL.
                    "height": "A String", # Required for cards with vertical orientation. The height of the media within a rich card with a vertical layout. For a standalone card with horizontal layout, height is not customizable, and this field is ignored.
                    "thumbnailUri": "A String", # Optional. Publicly reachable URI of the thumbnail.If you don't provide a thumbnail URI, the RBM platform displays a blank placeholder thumbnail until the user's device downloads the file. Depending on the user's setting, the file may not download automatically and may require the user to tap a download button.
                  },
                  "suggestions": [ # Optional. List of suggestions to include in the card.
                    { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                      "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                        "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                          "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                        },
                        "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                          "uri": "A String", # Required. The uri to open on the user device
                        },
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                        "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                        },
                        "text": "A String", # Text to display alongside the action.
                      },
                      "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                        "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                        "text": "A String", # Suggested reply text.
                      },
                    },
                  ],
                  "title": "A String", # Optional. Title of the card (at most 200 bytes). At least one of the title, description or media must be set.
                },
                "cardOrientation": "A String", # Required. Orientation of the card.
                "thumbnailImageAlignment": "A String", # Required if orientation is horizontal. Image preview alignment for standalone cards with horizontal layout.
              },
              "rbmText": { # Rich Business Messaging (RBM) text response with suggestions. # Rich Business Messaging (RBM) text response. RBM allows businesses to send enriched and branded versions of SMS. See https://jibe.google.com/business-messaging.
                "rbmSuggestion": [ # Optional. One or more suggestions to show to the user.
                  { # Rich Business Messaging (RBM) suggestion. Suggestions allow user to easily select/click a predefined response or perform an action (like opening a web uri).
                    "action": { # Rich Business Messaging (RBM) suggested client-side action that the user can choose from the card. # Predefined client side actions that user can choose
                      "dial": { # Opens the user's default dialer app with the specified phone number but does not dial automatically. # Suggested client side action: Dial a phone number
                        "phoneNumber": "A String", # Required. The phone number to fill in the default dialer app. This field should be in [E.164](https://en.wikipedia.org/wiki/E.164) format. An example of a correctly formatted phone number: +15556767888.
                      },
                      "openUrl": { # Opens the user's default web browser app to the specified uri If the user has an app installed that is registered as the default handler for the URL, then this app will be opened instead, and its icon will be used in the suggested action UI. # Suggested client side action: Open a URI on device
                        "uri": "A String", # Required. The uri to open on the user device
                      },
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested action. This data will be also forwarded to webhook to allow performing custom business logic.
                      "shareLocation": { # Opens the device's location chooser so the user can pick a location to send back to the agent. # Suggested client side action: Share user location
                      },
                      "text": "A String", # Text to display alongside the action.
                    },
                    "reply": { # Rich Business Messaging (RBM) suggested reply that the user can click instead of typing in their own response. # Predefined replies for user to select instead of typing
                      "postbackData": "A String", # Opaque payload that the Dialogflow receives in a user event when the user taps the suggested reply. This data will be also forwarded to webhook to allow performing custom business logic.
                      "text": "A String", # Suggested reply text.
                    },
                  },
                ],
                "text": "A String", # Required. Text sent and displayed to the user.
              },
              "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # Returns a voice or text-only response for Actions on Google.
                "simpleResponses": [ # Required. The list of simple responses.
                  { # The simple response message containing speech or text.
                    "displayText": "A String", # Optional. The text to display.
                    "ssml": "A String", # One of text_to_speech or ssml must be provided. Structured spoken response to the user in the SSML format. Mutually exclusive with text_to_speech.
                    "textToSpeech": "A String", # One of text_to_speech or ssml must be provided. The plain text of the speech output. Mutually exclusive with ssml.
                  },
                ],
              },
              "suggestions": { # The collection of suggestions. # Displays suggestion chips for Actions on Google.
                "suggestions": [ # Required. The list of suggested replies.
                  { # The suggestion chip message that the user can tap to quickly post a reply to the conversation.
                    "title": "A String", # Required. The text shown the in the suggestion chip.
                  },
                ],
              },
              "tableCard": { # Table card for Actions on Google. # Table card for Actions on Google.
                "buttons": [ # Optional. List of buttons for the card.
                  { # The button object that appears at the bottom of a card.
                    "openUriAction": { # Opens the given URI. # Required. Action to take when a user taps on the button.
                      "uri": "A String", # Required. The HTTP or HTTPS scheme URI.
                    },
                    "title": "A String", # Required. The title of the button.
                  },
                ],
                "columnProperties": [ # Optional. Display properties for the columns in this table.
                  { # Column properties for TableCard.
                    "header": "A String", # Required. Column heading.
                    "horizontalAlignment": "A String", # Optional. Defines text alignment for all cells in this column.
                  },
                ],
                "image": { # The image response message. # Optional. Image which should be displayed on the card.
                  "accessibilityText": "A String", # A text description of the image to be used for accessibility, e.g., screen readers. Required if image_uri is set for CarouselSelect.
                  "imageUri": "A String", # Optional. The public URI to an image file.
                },
                "rows": [ # Optional. Rows in this table of data.
                  { # Row of TableCard.
                    "cells": [ # Optional. List of cells that make up this row.
                      { # Cell of TableCardRow.
                        "text": "A String", # Required. Text in this cell.
                      },
                    ],
                    "dividerAfter": True or False, # Optional. Whether to add a visual divider after this row.
                  },
                ],
                "subtitle": "A String", # Optional. Subtitle to the title.
                "title": "A String", # Required. Title of the card.
              },
              "telephonyPlayAudio": { # Plays audio from a file in Telephony Gateway. # Plays audio from a file in Telephony Gateway.
                "audioUri": "A String", # Required. URI to a Google Cloud Storage object containing the audio to play, e.g., "gs://bucket/object". The object must contain a single channel (mono) of linear PCM audio (2 bytes / sample) at 8kHz. This object must be readable by the `service-@gcp-sa-dialogflow.iam.gserviceaccount.com` service account where is the number of the Telephony Gateway project (usually the same as the Dialogflow agent project). If the Google Cloud Storage bucket is in the Telephony Gateway project, this permission is added by default when enabling the Dialogflow V2 API. For audio from other sources, consider using the `TelephonySynthesizeSpeech` message with SSML.
              },
              "telephonySynthesizeSpeech": { # Synthesizes speech and plays back the synthesized audio to the caller in Telephony Gateway. Telephony Gateway takes the synthesizer settings from `DetectIntentResponse.output_audio_config` which can either be set at request-level or can come from the agent-level synthesizer config. # Synthesizes speech in Telephony Gateway.
                "ssml": "A String", # The SSML to be synthesized. For more information, see [SSML](https://developers.google.com/actions/reference/ssml).
                "text": "A String", # The raw text to be synthesized.
              },
              "telephonyTransferCall": { # Transfers the call in Telephony Gateway. # Transfers the call in Telephony Gateway.
                "phoneNumber": "A String", # Required. The phone number to transfer the call to in [E.164 format](https://en.wikipedia.org/wiki/E.164). We currently only allow transferring to US numbers (+1xxxyyyzzzz).
              },
              "text": { # The text response message. # Returns a text response.
                "text": [ # Optional. The collection of the agent's responses.
                  "A String",
                ],
              },
            },
          ],
          "mlDisabled": True or False, # Optional. Indicates whether Machine Learning is disabled for the intent. Note: If `ml_disabled` setting is set to true, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off.
          "mlEnabled": True or False, # Optional. Indicates whether Machine Learning is enabled for the intent. Note: If `ml_enabled` setting is set to false, then this intent is not taken into account during inference in `ML ONLY` match mode. Also, auto-markup in the UI is turned off. DEPRECATED! Please use `ml_disabled` field instead. NOTE: If both `ml_enabled` and `ml_disabled` are either not set or false, then the default value is determined as follows: - Before April 15th, 2018 the default is: ml_enabled = false / ml_disabled = true. - After April 15th, 2018 the default is: ml_enabled = true / ml_disabled = false.
          "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Supported formats: - `projects//agent/intents/` - `projects//locations//agent/intents/`
          "outputContexts": [ # Optional. The collection of contexts that are activated when the intent is matched. Context messages in this collection should not set the parameters field. Setting the `lifespan_count` to 0 will reset the context when the intent is matched. Format: `projects//agent/sessions/-/contexts/`.
            { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
              "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
              "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
              "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
                "a_key": "", # Properties of the object.
              },
            },
          ],
          "parameters": [ # Optional. The collection of parameters associated with the intent.
            { # Represents intent parameters.
              "defaultValue": "A String", # Optional. The default value to use when the `value` yields an empty result. Default values can be extracted from contexts by using the following syntax: `#context_name.parameter_name`.
              "displayName": "A String", # Required. The name of the parameter.
              "entityTypeDisplayName": "A String", # Optional. The name of the entity type, prefixed with `@`, that describes values of the parameter. If the parameter is required, this must be provided.
              "isList": True or False, # Optional. Indicates whether the parameter represents a list of values.
              "mandatory": True or False, # Optional. Indicates whether the parameter is required. That is, whether the intent cannot be completed without collecting the parameter value.
              "name": "A String", # The unique identifier of this parameter.
              "prompts": [ # Optional. The collection of prompts that the agent can present to the user in order to collect a value for the parameter.
                "A String",
              ],
              "value": "A String", # Optional. The definition of the parameter value. It can be: - a constant string, - a parameter value defined as `$parameter_name`, - an original parameter value defined as `$parameter_name.original`, - a parameter value from some context defined as `#context_name.parameter_name`.
            },
          ],
          "parentFollowupIntentName": "A String", # Optional. The unique identifier of the parent intent in the chain of followup intents. You can set this field when creating an intent, for example with CreateIntent or BatchUpdateIntents, in order to make this intent a followup intent. It identifies the parent followup intent. Format: `projects//agent/intents/`.
          "priority": 42, # Optional. 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.
          "resetContexts": True or False, # Optional. Indicates whether to delete all contexts in the current session when this intent is matched.
          "rootFollowupIntentName": "A String", # Output only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. Format: `projects//agent/intents/`.
          "trainingPhrases": [ # Optional. The collection of examples that the agent is trained on.
            { # Represents an example that the agent is trained on.
              "name": "A String", # Output only. The unique identifier of this training phrase.
              "parts": [ # Required. The ordered list of training phrase parts. The parts are concatenated in order to form the training phrase. Note: The API does not automatically annotate training phrases like the Dialogflow Console does. Note: Do not forget to include whitespace at part boundaries, so the training phrase is well formatted when the parts are concatenated. If the training phrase does not need to be annotated with parameters, you just need a single part with only the Part.text field set. If you want to annotate the training phrase, you must create multiple parts, where the fields of each part are populated in one of two ways: - `Part.text` is set to a part of the phrase that has no parameters. - `Part.text` is set to a part of the phrase that you want to annotate, and the `entity_type`, `alias`, and `user_defined` fields are all set.
                { # Represents a part of a training phrase.
                  "alias": "A String", # Optional. The parameter name for the value extracted from the annotated part of the example. This field is required for annotated parts of the training phrase.
                  "entityType": "A String", # Optional. The entity type name prefixed with `@`. This field is required for annotated parts of the training phrase.
                  "text": "A String", # Required. The text for this part.
                  "userDefined": True or False, # Optional. Indicates whether the text was manually annotated. This field is set to true when the Dialogflow Console is used to manually annotate the part. When creating an annotated part with the API, you must set this to true.
                },
              ],
              "timesAddedCount": 42, # Optional. Indicates how many times this example was added to the intent. Each time a developer adds an existing sample by editing an intent or training, this counter is increased.
              "type": "A String", # Required. The type of the training phrase.
            },
          ],
          "webhookState": "A String", # Optional. Indicates whether webhooks are enabled for the intent.
        },
        "intentDetectionConfidence": 3.14, # The intent detection confidence. 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. If there are `multiple knowledge_answers` messages, this value is set to the greatest `knowledgeAnswers.match_confidence` value in the list.
        "knowledgeAnswers": { # Represents the result of querying a Knowledge base. # The result from Knowledge Connector (if any), ordered by decreasing `KnowledgeAnswers.match_confidence`.
          "answers": [ # A list of answers from Knowledge Connector.
            { # An answer from Knowledge Connector.
              "answer": "A String", # The piece of text from the `source` knowledge base document that answers this conversational query.
              "faqQuestion": "A String", # The corresponding FAQ question if the answer was extracted from a FAQ Document, empty otherwise.
              "matchConfidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query. The range is from 0.0 (completely uncertain) to 1.0 (completely certain). Note: The confidence score is likely to vary somewhat (possibly even for identical requests), as the underlying model is under constant improvement. It may be deprecated in the future. We recommend using `match_confidence_level` which should be generally more stable.
              "matchConfidenceLevel": "A String", # The system's confidence level that this knowledge answer is a good match for this conversational query. NOTE: The confidence level for a given `` pair may change without notice, as it depends on models that are constantly being improved. However, it will change less frequently than the confidence score below, and should be preferred for referencing the quality of an answer.
              "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//knowledgeBases//documents/`.
            },
          ],
        },
        "languageCode": "A String", # The language that was triggered during intent detection. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.
        "outputContexts": [ # The collection of output contexts. If applicable, `output_contexts.parameters` contains entries with name `.original` containing the original parameter values before the query.
          { # Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).
            "lifespanCount": 42, # Optional. The number of conversational query requests after which the context expires. The default is `0`. If set to `0`, the context expires immediately. Contexts expire automatically after 20 minutes if there are no matching queries.
            "name": "A String", # Required. The unique identifier of the context. Supported formats: - `projects//agent/sessions//contexts/`, - `projects//locations//agent/sessions//contexts/`, - `projects//agent/environments//users//sessions//contexts/`, - `projects//locations//agent/environments//users//sessions//contexts/`, The `Context ID` is always converted to lowercase, may only contain characters in `a-zA-Z0-9_-%` and may be at most 250 bytes long. If `Environment ID` is not specified, we assume default 'draft' environment. If `User ID` is not specified, we assume default '-' user. The following context names are reserved for internal use by Dialogflow. You should not use these contexts or create contexts with these names: * `__system_counters__` * `*_id_dialog_context` * `*_dialog_params_size`
            "parameters": { # Optional. The collection of parameters associated with this context. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
              "a_key": "", # Properties of the object.
            },
          },
        ],
        "parameters": { # The collection of extracted parameters. Depending on your protocol or client library language, this is a map, associative array, symbol table, dictionary, or JSON object composed of a collection of (MapKey, MapValue) pairs: * MapKey type: string * MapKey value: parameter name * MapValue type: If parameter's entity type is a composite entity then use map, otherwise, depending on the parameter value type, it could be one of string, number, boolean, null, list or map. * MapValue value: If parameter's entity type is a composite entity then use map from composite entity property names to property values, otherwise, use parameter value.
          "a_key": "", # Properties of the object.
        },
        "queryText": "A String", # The original conversational query text: - If natural language text was provided as input, `query_text` contains a copy of the input. - If natural language speech audio was provided as input, `query_text` contains the speech recognition result. If speech recognizer produced multiple alternatives, a particular one is picked. - If automatic spell correction is enabled, `query_text` will contain the corrected user input.
        "sentimentAnalysisResult": { # The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config # The sentiment analysis result, which depends on the `sentiment_analysis_request_config` specified in the request.
          "queryTextSentiment": { # The sentiment, such as positive/negative feeling or association, for a unit of analysis, such as the query text. See: https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values for how to interpret the result. # The sentiment analysis result for `query_text`.
            "magnitude": 3.14, # A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment, regardless of score (positive or negative).
            "score": 3.14, # Sentiment score between -1.0 (negative sentiment) and 1.0 (positive sentiment).
          },
        },
        "speechRecognitionConfidence": 3.14, # The Speech recognition confidence between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be accurate or set. In particular this field isn't set for StreamingDetectIntent since the streaming endpoint has separate confidence estimates per portion of the audio in StreamingRecognitionResult.
        "webhookPayload": { # If the query was fulfilled by a webhook call, this field is set to the value of the `payload` field returned in the webhook response.
          "a_key": "", # Properties of the object.
        },
        "webhookSource": "A String", # If the query was fulfilled by a webhook call, this field is set to the value of the `source` field returned in the webhook response.
      },
    },
    "faqAnswer": { # Represents answer from "frequently asked questions". # Output only. The FAQ answer.
      "answer": "A String", # The piece of text from the `source` knowledge base document.
      "answerRecord": "A String", # The name of answer record, in the format of "projects//locations//answerRecords/"
      "confidence": 3.14, # The system's confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
      "metadata": { # A map that contains metadata about the answer and the document from which it originates.
        "a_key": "A String",
      },
      "question": "A String", # The corresponding FAQ question.
      "source": "A String", # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
    },
  },
  "answerFeedback": { # Represents feedback the customer has about the quality & correctness of a certain answer in a conversation. # Optional. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.
    "agentAssistantDetailFeedback": { # Detail feedback of Agent Assistant result. # Optional. Detail feedback of agent assistant suggestions.
      "answerRelevance": "A String", # Optional. Whether or not the suggested answer is relevant. For example: * Query: "Can I change my mailing address?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * answer_relevance: AnswerRelevance.IRRELEVANT
      "documentCorrectness": "A String", # Optional. Whether or not the information in the document is correct. For example: * Query: "Can I return the package in 2 days once received?" * Suggested document says: "Items must be returned/exchanged within 60 days of the purchase date." * Ground truth: "No return or exchange is allowed." * [document_correctness]: INCORRECT
      "documentEfficiency": "A String", # Optional. Whether or not the suggested document is efficient. For example, if the document is poorly written, hard to understand, hard to use or too long to find useful information, document_efficiency is DocumentEfficiency.INEFFICIENT.
      "knowledgeSearchFeedback": { # Feedback for knowledge search. # Optional. Feedback for knowledge search.
        "answerCopied": True or False, # Whether the answer was copied by the human agent or not. If the value is set to be true, AnswerFeedback.clicked will be updated to be true.
        "clickedUris": [ # The URIs clicked by the human agent. The value is appended for each UpdateAnswerRecordRequest. If the value is not empty, AnswerFeedback.clicked will be updated to be true.
          "A String",
        ],
      },
      "summarizationFeedback": { # Feedback for conversation summarization. # Feedback for conversation summarization.
        "startTimestamp": "A String", # Timestamp when composing of the summary starts.
        "submitTimestamp": "A String", # Timestamp when the summary was submitted.
        "summaryText": "A String", # Text of actual submitted summary.
        "textSections": { # Optional. Actual text sections of submitted summary.
          "a_key": "A String",
        },
      },
    },
    "clickTime": "A String", # Time when the answer/item was clicked.
    "clicked": True or False, # Indicates whether the answer/item was clicked by the human agent or not. Default to false. For knowledge search, the answer record is considered to be clicked if the answer was copied or any URI was clicked.
    "correctnessLevel": "A String", # The correctness level of the specific answer.
    "displayTime": "A String", # Time when the answer/item was displayed.
    "displayed": True or False, # Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.
  },
  "name": "A String", # The unique identifier of this answer record. Required for AnswerRecords.UpdateAnswerRecord method. Format: `projects//locations//answerRecords/`.
}