Tags: JavaScript, React, Vue, Angular, Website, Web App
AI tools allow you to create deep integrations between your app / website and Kai (our AI bot). A few use-cases might include:
- A banking app allowing to initiate transactions
- Performing a password reset directly in the messenger
- Canceling orders
- …
The possibilities are almost endless. The following example shows how to add a new AI tool allowing users to initiate bank transactions directly inside Kai.
let aiTool = GleapAiTool(
name: "send-money",
// Describe the tool. This can also contain further instructions for the LLM.
toolDescription: "Send money to a given contact.",
// Let the LLM know what the tool is doing. This will allow Kai to update the customer accordingly.
response: "The transfer got initiated but not completed yet. The user must confirm the transfer in the banking app.",
// Set the execution type to auto or button.
executionType: 'button',
// Specify the parameters (it's also possible to pass an empty array)
parameters: [
GleapAiToolParameter(
name: "amount",
parameterDescription: "The amount of money to send. Must be positive and provided by the user.",
type: "string",
required: true
),
GleapAiToolParameter(
name: "contact",
parameterDescription: "The contact to send money to.",
type: "string",
required: true,
enums: ["Alice", "Bob"]
)
]
)
// Set the available tools as array of tools
Gleap.setAiTools([aiTool])
Execution type
auto
: The tool will be executed automatically.
button
: Kai adds a button to it’s reply, that allows the user to execute the tool. The tool will not be executed automatically
Implement the onToolExecution
delegate of GleapDelegate to get notified when a tool should be executed.
func onToolExecution(_ toolExecution: [AnyHashable : Any]) {
guard let name = toolExecution["name"] as? String else {
return
}
print("Tool: " + name)
print(toolExecution["params"] ?? "No params.")
}