AnswerRecord

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 suggestions.list API. Together with the answers, AnswerRecord.name are returned to the customers.
  2. The customer uses the AnswerRecord.name to call the AnswerRecords.UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.
JSON representation
{
  "name": string,
  "answerFeedback": {
    object (AnswerFeedback)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agentAssistantRecord": {
    object (AgentAssistantRecord)
  }
  // End of mutually exclusive fields.
}
Fields
name

string

The unique identifier of this answer record. Format: projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record ID>.

answerFeedback

object (AnswerFeedback)

Required. The AnswerFeedback for this record. You can set this with AnswerRecords.UpdateAnswerRecord in order to give us feedback about this answer.

The record for this answer. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
agentAssistantRecord

object (AgentAssistantRecord)

Output only. The record for human agent assistant.

End of mutually exclusive fields.

AnswerFeedback

Represents feedback the customer has about the quality & correctness of a certain answer in a conversation.

JSON representation
{
  "correctnessLevel": enum (CorrectnessLevel),
  "clicked": boolean,
  "clickTime": string,
  "displayed": boolean,
  "displayTime": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agentAssistantDetailFeedback": {
    object (AgentAssistantFeedback)
  }
  // End of mutually exclusive fields.
}
Fields
correctnessLevel

enum (CorrectnessLevel)

The correctness level of the specific answer.

clicked

boolean

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.

clickTime

string (Timestamp format)

Time when the answer/item was clicked.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

displayed

boolean

Indicates whether the answer/item was displayed to the human agent in the agent desktop UI. Default to false.

displayTime

string (Timestamp format)

Time when the answer/item was displayed.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

Normally, detail feedback is provided when answer is not fully correct. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
agentAssistantDetailFeedback

object (AgentAssistantFeedback)

Detail feedback of agent assist suggestions.

End of mutually exclusive fields.

CorrectnessLevel

The correctness level of an answer.

Enums
CORRECTNESS_LEVEL_UNSPECIFIED Correctness level unspecified.
NOT_CORRECT Answer is totally wrong.
PARTIALLY_CORRECT Answer is partially correct.
FULLY_CORRECT Answer is fully correct.

AgentAssistantFeedback

Detail feedback of Agent Assist result.

JSON representation
{
  "answerRelevance": enum (AnswerRelevance),
  "documentCorrectness": enum (DocumentCorrectness),
  "documentEfficiency": enum (DocumentEfficiency),
  "summarizationFeedback": {
    object (SummarizationFeedback)
  },
  "knowledgeSearchFeedback": {
    object (KnowledgeSearchFeedback)
  },
  "knowledgeAssistFeedback": {
    object (KnowledgeAssistFeedback)
  },
  "companionFeedback": {
    object (CompanionFeedback)
  }
}
Fields
answerRelevance

enum (AnswerRelevance)

Optional. Whether or not the suggested answer is relevant.

For example:

documentCorrectness

enum (DocumentCorrectness)

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."
  • documentCorrectness: INCORRECT
documentEfficiency

enum (DocumentEfficiency)

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, documentEfficiency is DocumentEfficiency.INEFFICIENT.

summarizationFeedback

object (SummarizationFeedback)

Optional. Feedback for conversation summarization.

knowledgeSearchFeedback

object (KnowledgeSearchFeedback)

Optional. Feedback for knowledge search.

knowledgeAssistFeedback

object (KnowledgeAssistFeedback)

Optional. Feedback for knowledge assist.

companionFeedback

object (CompanionFeedback)

Optional. Feedback for companion agent.

AnswerRelevance

Relevance of an answer.

Enums
ANSWER_RELEVANCE_UNSPECIFIED Answer relevance unspecified.
IRRELEVANT Answer is irrelevant to query.
RELEVANT Answer is relevant to query.

DocumentCorrectness

Correctness of document.

Enums
DOCUMENT_CORRECTNESS_UNSPECIFIED Document correctness unspecified.
INCORRECT Information in document is incorrect.
CORRECT Information in document is correct.

DocumentEfficiency

Efficiency of document.

Enums
DOCUMENT_EFFICIENCY_UNSPECIFIED Document efficiency unspecified.
INEFFICIENT Document is inefficient.
EFFICIENT Document is efficient.

SummarizationFeedback

Feedback for conversation summarization.

JSON representation
{
  "startTime": string,
  "submitTime": string,
  "summaryText": string,
  "textSections": {
    string: string,
    ...
  }
}
Fields
startTime

string (Timestamp format)

Timestamp when composing of the summary starts.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

submitTime

string (Timestamp format)

Timestamp when the summary was submitted.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

summaryText

string

Text of actual submitted summary.

textSections

map (key: string, value: string)

Optional. Actual text sections of submitted summary.

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

KnowledgeSearchFeedback

Feedback for knowledge search.

JSON representation
{
  "answerCopied": boolean,
  "clickedUris": [
    string
  ]
}
Fields
answerCopied

boolean

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[]

string

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.

KnowledgeAssistFeedback

Feedback for knowledge assist.

JSON representation
{
  "answerCopied": boolean,
  "clickedUris": [
    string
  ]
}
Fields
answerCopied

boolean

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[]

string

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.

CompanionFeedback

This type has no fields.

Feedback for companion agent.

AgentAssistantRecord

Represents a record of a human agent assist answer.

JSON representation
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "articleSuggestionAnswer": {
    object (ArticleAnswer)
  },
  "faqAnswer": {
    object (FaqAnswer)
  },
  "dialogflowAssistAnswer": {
    object (DialogflowAssistAnswer)
  },
  "generatorSuggestion": {
    object (GeneratorSuggestion)
  },
  "companionSuggestion": {
    object (CompanionSuggestion)
  },
  "reactiveCompanionSuggestion": {
    object (ReactiveModeResponse)
  }
  // End of mutually exclusive fields.
}
Fields
Output only. The agent assist answer. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
articleSuggestionAnswer

object (ArticleAnswer)

Output only. The article suggestion answer.

faqAnswer

object (FaqAnswer)

Output only. The FAQ answer.

dialogflowAssistAnswer

object (DialogflowAssistAnswer)

Output only. Dialogflow assist answer.

generatorSuggestion

object (GeneratorSuggestion)

Output only. The generator suggestion.

companionSuggestion

object (CompanionSuggestion)

Output only. The companion suggestion.

reactiveCompanionSuggestion

object (ReactiveModeResponse)

Output only. The reactive companion suggestion.

End of mutually exclusive fields.

DialogflowAssistAnswer

Represents a Dialogflow assist answer.

JSON representation
{
  "answerRecord": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "queryResult": {
    object (QueryResult)
  },
  "intentSuggestion": {
    object (IntentSuggestion)
  }
  // End of mutually exclusive fields.
}
Fields
answerRecord

string

The name of answer record, in the format of "projects//locations//answerRecords/"

Result from DetectIntent for one matched intent. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
queryResult

object (QueryResult)

Result from v2 agent.

intentSuggestion

object (IntentSuggestion)

An intent suggestion generated from conversation.

End of mutually exclusive fields.

IntentSuggestion

Represents an intent suggestion.

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

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "intentV2": string
  // End of mutually exclusive fields.
}
Fields
displayName

string

The display name of the intent.

description

string

Human readable description for better understanding an intent like its scope, content, result etc. Maximum character limit: 140 characters.

The name of the intent. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
intentV2

string

The unique identifier of this intent. Format: projects/<Project ID>/locations/<Location ID>/agent/intents/<Intent ID>.

End of mutually exclusive fields.

ReactiveModeResponse

The complete response generated by the reactive mode capturing the entire accumulated streaming response, grounding metadata, and tool calls.

JSON representation
{
  "response": string,
  "groundingMetadata": {
    object (GroundingMetadata)
  },
  "toolCalls": [
    {
      object (ToolCallSuggestion)
    }
  ]
}
Fields
response

string

Optional. The full reactive suggestion generated by the Companion Agent. After the last streaming chunk is sent, this is the final response concatenating all the streaming response chunks together to represent the full reactive suggestion.

groundingMetadata

object (GroundingMetadata)

Optional. Grounding metadata for the generated response.

toolCalls[]

object (ToolCallSuggestion)

Optional. Captures all the rich structured tool calls and their associated citations used by the reactive agent to generate the reactive suggestion.