pub struct ApiRequestTool {Show 16 fields
pub messages: Option<Vec<CreateDtmfToolDtoMessagesInner>>,
pub type: TypeTrue,
pub method: MethodTrue,
pub timeout_seconds: Option<f64>,
pub id: String,
pub org_id: String,
pub created_at: String,
pub updated_at: String,
pub function: Option<OpenAiFunction>,
pub name: Option<String>,
pub description: Option<String>,
pub url: String,
pub body: Option<JsonSchema>,
pub headers: Option<JsonSchema>,
pub backoff_plan: Option<BackoffPlan>,
pub variable_extraction_plan: Option<VariableExtractionPlan>,
}
Fields§
§messages: Option<Vec<CreateDtmfToolDtoMessagesInner>>
These are the messages that will be spoken to the user as the tool is running. For some tools, this is auto-filled based on special fields like tool.destinations
. For others like the function tool, these can be custom configured.
type: TypeTrue
The type of tool. "apiRequest" for API request tool.
method: MethodTrue
§timeout_seconds: Option<f64>
This is the timeout in seconds for the request. Defaults to 20 seconds. @default 20
id: String
This is the unique identifier for the tool.
org_id: String
This is the unique identifier for the organization that this tool belongs to.
created_at: String
This is the ISO 8601 date-time string of when the tool was created.
updated_at: String
This is the ISO 8601 date-time string of when the tool was last updated.
function: Option<OpenAiFunction>
This is the function definition of the tool. For endCall
, transferCall
, and dtmf
tools, this is auto-filled based on tool-specific fields like tool.destinations
. But, even in those cases, you can provide a custom function definition for advanced use cases. An example of an advanced use case is if you want to customize the message that’s spoken for endCall
tool. You can specify a function where it returns an argument "reason". Then, in messages
array, you can have many "request-complete" messages. One of these messages will be triggered if the messages[].conditions
matches the "reason" argument.
name: Option<String>
This is the name of the tool. This will be passed to the model. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 40.
description: Option<String>
This is the description of the tool. This will be passed to the model.
url: String
This is where the request will be sent.
body: Option<JsonSchema>
This is the body of the request.
headers: Option<JsonSchema>
These are the headers to send in the request.
backoff_plan: Option<BackoffPlan>
This is the backoff plan if the request fails. Defaults to undefined (the request will not be retried). @default undefined (the request will not be retried)
variable_extraction_plan: Option<VariableExtractionPlan>
This is the plan that controls the variable extraction from the tool’s response.
Implementations§
Source§impl ApiRequestTool
impl ApiRequestTool
pub fn new( type: TypeTrue, method: MethodTrue, id: String, org_id: String, created_at: String, updated_at: String, url: String, ) -> ApiRequestTool
Trait Implementations§
Source§impl Clone for ApiRequestTool
impl Clone for ApiRequestTool
Source§fn clone(&self) -> ApiRequestTool
fn clone(&self) -> ApiRequestTool
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read more