Properties

Link copied to clipboard
abstract var assistantMessage: String

This is the starting state for the conversation for the assistant role.

Link copied to clipboard
abstract var functionMessage: String

This is the starting state for the conversation for the function role.

Link copied to clipboard
abstract var systemMessage: String

This is the starting state for the conversation for the system role.

Link copied to clipboard
abstract var toolMessage: String

This is the starting state for the conversation for the tool role.

Link copied to clipboard
abstract var userMessage: String

This is the starting state for the conversation for the user role.

Functions

Link copied to clipboard
abstract fun functions(block: Functions.() -> Unit): Functions

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.

Link copied to clipboard
abstract fun knowledgeBase(block: KnowledgeBase.() -> Unit): KnowledgeBase

These are the options for the knowledge base.

Link copied to clipboard
abstract fun tools(block: Tools.() -> Unit): Tools

These are the tools that the assistant can use during the call. To use existing tools, use toolIds. Both tools and toolIds can be used together.