
AI tools
AI tools are C# methods the LLM can call during a chat turn. The workspace discovers them, advertises them to the LLM, and routes calls back.
A minimal tool:
public class GreeterTool
{
[Tool("Greet the user by name. Use when the user says hello.")]
public static string Greet(ToolScope scope,
[Parameter("The person's name", required: true)] string name)
{
scope.SetToolCallDisplayName($"Greeted {name}");
return $"Hello, {name}!";
}
}
return new GreeterTool();
The ToolScope contract:
| Property | What it gives you |
|---|---|
scope.Graph |
Full graph and search access |
scope.CurrentUser |
The user who started the chat |
scope.ChatAI.GetTextFromNode(uid, limit) |
Pull indexed text for grounding |
scope.AddSnippet(uid, text) |
Register a citation, returns snippet ID |
scope.SetToolCallDisplayName(text) |
Human-readable label in the chat trace |
Tool description quality matters. The LLM picks tools by description alone. Be specific about intent ("Search the support-ticket KB"), the trigger ("use when user describes a symptom"), and what it returns.
→ AI tools