Dialogflow API . projects . answerRecords

Instance Methods

close()

Close httplib2 connections.

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.
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. Marked deprecated as it hasn't been, and isn't currently, supported. 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 assist 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/"
          "confidence": 3.14, # Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value 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",
          },
          "snippets": [ # Article snippets.
            "A String",
          ],
          "title": "A String", # The article title.
          "uri": "A String", # The article URI.
        },
        "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. 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.
              { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
                "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The card response.
                  "buttons": [ # Optional. The collection of card buttons.
                    { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The image response.
                  "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                        "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. # The quick replies response.
                  "quickReplies": [ # Optional. The collection of quick replies.
                    "A String",
                  ],
                  "title": "A String", # Optional. The title of the collection of quick replies.
                },
                "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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.
                },
                "text": { # The text response message. # The 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. Read-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. Format: `projects//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.
                { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
                  "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The card response.
                    "buttons": [ # Optional. The collection of card buttons.
                      { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The image response.
                    "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                          "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. # The quick replies response.
                    "quickReplies": [ # Optional. The collection of quick replies.
                      "A String",
                    ],
                    "title": "A String", # Optional. The title of the collection of quick replies.
                  },
                  "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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.
                  },
                  "text": { # The text response message. # The 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.
              "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//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. Format: `projects//agent/sessions//contexts/`, or `projects//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", # Read-only after creation. 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. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. 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.
            "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. Format: `projects//agent/sessions//contexts/`, or `projects//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. # Required. 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 Assist result. # Detail feedback of agent assist 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.
          "knowledgeAssistFeedback": { # Feedback for knowledge assist. # Optional. Feedback for knowledge assist.
            "answerCopied": True or False, # Whether the suggested answer was copied by the human agent. 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",
            ],
          },
          "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. # Optional. Feedback for conversation summarization.
            "startTime": "A String", # Timestamp when composing of the summary starts.
            "submitTime": "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 and knowledge assist, 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. 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. 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 assist 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/"
      "confidence": 3.14, # Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value 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",
      },
      "snippets": [ # Article snippets.
        "A String",
      ],
      "title": "A String", # The article title.
      "uri": "A String", # The article URI.
    },
    "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. 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.
          { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
            "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The card response.
              "buttons": [ # Optional. The collection of card buttons.
                { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The image response.
              "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
              "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The quick replies response.
              "quickReplies": [ # Optional. The collection of quick replies.
                "A String",
              ],
              "title": "A String", # Optional. The title of the collection of quick replies.
            },
            "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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.
            },
            "text": { # The text response message. # The 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. Read-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. Format: `projects//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.
            { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
              "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The card response.
                "buttons": [ # Optional. The collection of card buttons.
                  { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The image response.
                "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The quick replies response.
                "quickReplies": [ # Optional. The collection of quick replies.
                  "A String",
                ],
                "title": "A String", # Optional. The title of the collection of quick replies.
              },
              "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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.
              },
              "text": { # The text response message. # The 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.
          "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//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. Format: `projects//agent/sessions//contexts/`, or `projects//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", # Read-only after creation. 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. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. 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.
        "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. Format: `projects//agent/sessions//contexts/`, or `projects//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. # Required. 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 Assist result. # Detail feedback of agent assist 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.
      "knowledgeAssistFeedback": { # Feedback for knowledge assist. # Optional. Feedback for knowledge assist.
        "answerCopied": True or False, # Whether the suggested answer was copied by the human agent. 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",
        ],
      },
      "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. # Optional. Feedback for conversation summarization.
        "startTime": "A String", # Timestamp when composing of the summary starts.
        "submitTime": "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 and knowledge assist, 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. 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 assist 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/"
      "confidence": 3.14, # Article match confidence. The system's confidence score that this article is a good match for this conversation, as a value 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",
      },
      "snippets": [ # Article snippets.
        "A String",
      ],
      "title": "A String", # The article title.
      "uri": "A String", # The article URI.
    },
    "dialogflowAssistAnswer": { # Represents a Dialogflow assist answer. # Output only. 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.
          { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
            "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The card response.
              "buttons": [ # Optional. The collection of card buttons.
                { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The image response.
              "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
              "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                    "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. # The quick replies response.
              "quickReplies": [ # Optional. The collection of quick replies.
                "A String",
              ],
              "title": "A String", # Optional. The title of the collection of quick replies.
            },
            "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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.
            },
            "text": { # The text response message. # The 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. Read-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. Format: `projects//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.
            { # A rich response message. Corresponds to the intent `Response` field in the Dialogflow console. For more information, see [Rich response messages](https://cloud.google.com/dialogflow/docs/intents-rich-messages).
              "basicCard": { # The basic card message. Useful for displaying information. # The basic card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The card response.
                "buttons": [ # Optional. The collection of card buttons.
                  { # 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. # The carousel card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The image response.
                "accessibilityText": "A String", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                "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. # The 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. # The list card response 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                      "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. # The quick replies response.
                "quickReplies": [ # Optional. The collection of quick replies.
                  "A String",
                ],
                "title": "A String", # Optional. The title of the collection of quick replies.
              },
              "simpleResponses": { # The collection of simple response candidates. This message in `QueryResult.fulfillment_messages` and `WebhookResponse.fulfillment_messages` should contain only one `SimpleResponse`. # The voice and text-only responses 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. # The 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", # Optional. A text description of the image to be used for accessibility, e.g., screen readers.
                  "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.
              },
              "text": { # The text response message. # The 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.
          "name": "A String", # Optional. The unique identifier of this intent. Required for Intents.UpdateIntent and Intents.BatchUpdateIntents methods. Format: `projects//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. Format: `projects//agent/sessions//contexts/`, or `projects//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", # Read-only after creation. 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. Read-only. The unique identifier of the root intent in the chain of followup intents. It identifies the correct followup intents chain for this intent. We populate this field only in the output. 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.
        "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. Format: `projects//agent/sessions//contexts/`, or `projects//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. # Required. 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 Assist result. # Detail feedback of agent assist 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.
      "knowledgeAssistFeedback": { # Feedback for knowledge assist. # Optional. Feedback for knowledge assist.
        "answerCopied": True or False, # Whether the suggested answer was copied by the human agent. 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",
        ],
      },
      "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. # Optional. Feedback for conversation summarization.
        "startTime": "A String", # Timestamp when composing of the summary starts.
        "submitTime": "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 and knowledge assist, 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. Format: `projects//locations//answerRecords/`.
}