Skip to main content

🤖 AI tools

Tags: Android

What are AI tools?

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.

Ticket custom data

Specify AI tools

// Creating parameters
GleapAiToolParameter amountParameter = new GleapAiToolParameter(
"amount",
"The amount of money to send. Must be positive and provided by the user.",
"string",
true
);

String[] possibleEnumValues = {"Alice", "Bob"};

GleapAiToolParameter contactParameter = new GleapAiToolParameter(
"contact",
"The contact to send money to.",
"string",
true,
possibleEnumValues
);

GleapAiToolParameter[] params = {amountParameter, contactParameter};

// Creating the AI tool with the parameters
GleapAiTool transactionTool = new GleapAiTool(
"send-money",
"Send money to a given contact.",
"The transfer got initiated but not completed yet. The user must confirm the transfer in the banking app.",
params
);

GleapAiTool[] tools = {transactionTool};

// Set the available tools using the static method
Gleap.getInstance().setAiTools(tools);

Perform actions

Implement the setAiToolExecutedCallback callback to get notified when a tool should be executed.

Gleap.getInstance().setAiToolExecutedCallback(new AiToolExecutedCallback() {
@Override
public void aiToolExecuted(JSONObject jsonObject) {
try {
String toolName = jsonObject.getString("name");
JSONObject params = jsonObject.getJSONObject("params");

System.out.println(jsonObject.toString());
// {"name":"send-money","params":{"amount":"20","contact":"alice"}}
} catch (JSONException e) {
throw new RuntimeException(e);
}
}
});