#[non_exhaustive]pub struct Intent {Show 20 fields
pub name: String,
pub display_name: String,
pub webhook_state: WebhookState,
pub priority: i32,
pub is_fallback: bool,
pub ml_disabled: bool,
pub live_agent_handoff: bool,
pub end_interaction: bool,
pub input_context_names: Vec<String>,
pub events: Vec<String>,
pub training_phrases: Vec<TrainingPhrase>,
pub action: String,
pub output_contexts: Vec<Context>,
pub reset_contexts: bool,
pub parameters: Vec<Parameter>,
pub messages: Vec<Message>,
pub default_response_platforms: Vec<Platform>,
pub root_followup_intent_name: String,
pub parent_followup_intent_name: String,
pub followup_intent_info: Vec<FollowupIntentInfo>,
/* private fields */
}answer-records or intents or participants or sessions only.Expand description
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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringOptional. The unique identifier of this intent.
Required for
Intents.UpdateIntent and
Intents.BatchUpdateIntents
methods.
Format: projects/<Project ID>/agent/intents/<Intent ID>.
display_name: StringRequired. The name of this intent.
webhook_state: WebhookStateOptional. Indicates whether webhooks are enabled for the intent.
priority: i32Optional. 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
Normalpriority in the console. - If the supplied value is negative, the intent is ignored in runtime detect intent requests.
is_fallback: boolOptional. Indicates whether this is a fallback intent.
ml_disabled: boolOptional. 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.
live_agent_handoff: boolOptional. 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.
end_interaction: boolOptional. 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.
input_context_names: Vec<String>Optional. The list of context names required for this intent to be
triggered.
Format: projects/<Project ID>/agent/sessions/-/contexts/<Context ID>.
events: Vec<String>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.
training_phrases: Vec<TrainingPhrase>Optional. The collection of examples that the agent is trained on.
action: StringOptional. The name of the action associated with the intent. Note: The action name must not contain whitespaces.
output_contexts: Vec<Context>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/<Project ID>/agent/sessions/-/contexts/<Context ID>.
reset_contexts: boolOptional. Indicates whether to delete all contexts in the current session when this intent is matched.
parameters: Vec<Parameter>Optional. The collection of parameters associated with the intent.
messages: Vec<Message>Optional. The collection of rich messages corresponding to the
Response field in the Dialogflow console.
default_response_platforms: Vec<Platform>Optional. The list of platforms for which the first responses will be copied from the messages in PLATFORM_UNSPECIFIED (i.e. default platform).
root_followup_intent_name: StringOutput 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/<Project ID>/agent/intents/<Intent ID>.
parent_followup_intent_name: StringRead-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/<Project ID>/agent/intents/<Intent ID>.
followup_intent_info: Vec<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.
Implementations§
Source§impl Intent
impl Intent
pub fn new() -> Self
Sourcepub fn set_display_name<T: Into<String>>(self, v: T) -> Self
pub fn set_display_name<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_webhook_state<T: Into<WebhookState>>(self, v: T) -> Self
pub fn set_webhook_state<T: Into<WebhookState>>(self, v: T) -> Self
Sets the value of webhook_state.
§Example
use google_cloud_dialogflow_v2::model::intent::WebhookState;
let x0 = Intent::new().set_webhook_state(WebhookState::Enabled);
let x1 = Intent::new().set_webhook_state(WebhookState::EnabledForSlotFilling);Sourcepub fn set_priority<T: Into<i32>>(self, v: T) -> Self
pub fn set_priority<T: Into<i32>>(self, v: T) -> Self
Sourcepub fn set_is_fallback<T: Into<bool>>(self, v: T) -> Self
pub fn set_is_fallback<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_ml_disabled<T: Into<bool>>(self, v: T) -> Self
pub fn set_ml_disabled<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_live_agent_handoff<T: Into<bool>>(self, v: T) -> Self
pub fn set_live_agent_handoff<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_end_interaction<T: Into<bool>>(self, v: T) -> Self
pub fn set_end_interaction<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_input_context_names<T, V>(self, v: T) -> Self
pub fn set_input_context_names<T, V>(self, v: T) -> Self
Sets the value of input_context_names.
§Example
let x = Intent::new().set_input_context_names(["a", "b", "c"]);Sourcepub fn set_events<T, V>(self, v: T) -> Self
pub fn set_events<T, V>(self, v: T) -> Self
Sourcepub fn set_training_phrases<T, V>(self, v: T) -> Self
pub fn set_training_phrases<T, V>(self, v: T) -> Self
Sets the value of training_phrases.
§Example
use google_cloud_dialogflow_v2::model::intent::TrainingPhrase;
let x = Intent::new()
.set_training_phrases([
TrainingPhrase::default()/* use setters */,
TrainingPhrase::default()/* use (different) setters */,
]);Sourcepub fn set_action<T: Into<String>>(self, v: T) -> Self
pub fn set_action<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_output_contexts<T, V>(self, v: T) -> Self
pub fn set_output_contexts<T, V>(self, v: T) -> Self
Sets the value of output_contexts.
§Example
use google_cloud_dialogflow_v2::model::Context;
let x = Intent::new()
.set_output_contexts([
Context::default()/* use setters */,
Context::default()/* use (different) setters */,
]);Sourcepub fn set_reset_contexts<T: Into<bool>>(self, v: T) -> Self
pub fn set_reset_contexts<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_parameters<T, V>(self, v: T) -> Self
pub fn set_parameters<T, V>(self, v: T) -> Self
Sets the value of parameters.
§Example
use google_cloud_dialogflow_v2::model::intent::Parameter;
let x = Intent::new()
.set_parameters([
Parameter::default()/* use setters */,
Parameter::default()/* use (different) setters */,
]);Sourcepub fn set_messages<T, V>(self, v: T) -> Self
pub fn set_messages<T, V>(self, v: T) -> Self
Sourcepub fn set_default_response_platforms<T, V>(self, v: T) -> Self
pub fn set_default_response_platforms<T, V>(self, v: T) -> Self
Sets the value of default_response_platforms.
§Example
use google_cloud_dialogflow_v2::model::intent::message::Platform;
let x = Intent::new().set_default_response_platforms([
Platform::Facebook,
Platform::Slack,
Platform::Telegram,
]);Sourcepub fn set_root_followup_intent_name<T: Into<String>>(self, v: T) -> Self
pub fn set_root_followup_intent_name<T: Into<String>>(self, v: T) -> Self
Sets the value of root_followup_intent_name.
§Example
let x = Intent::new().set_root_followup_intent_name("example");Sourcepub fn set_parent_followup_intent_name<T: Into<String>>(self, v: T) -> Self
pub fn set_parent_followup_intent_name<T: Into<String>>(self, v: T) -> Self
Sets the value of parent_followup_intent_name.
§Example
let x = Intent::new().set_parent_followup_intent_name("example");Sourcepub fn set_followup_intent_info<T, V>(self, v: T) -> Self
pub fn set_followup_intent_info<T, V>(self, v: T) -> Self
Sets the value of followup_intent_info.
§Example
use google_cloud_dialogflow_v2::model::intent::FollowupIntentInfo;
let x = Intent::new()
.set_followup_intent_info([
FollowupIntentInfo::default()/* use setters */,
FollowupIntentInfo::default()/* use (different) setters */,
]);