Agent Tool Type
Custom metadata type AgentToolType__mdt. Catalog of tool types an admin can give an agent. Pluto Core ships the standard types; a developer registers each custom ITool class with its own record. Each record names the Apex class and its Effects, which decide how Core recovers a failed call and which job runs it.
| Field | API name | Type | Description |
|---|---|---|---|
| Description | Description__c | Text | What the tool type does, shown to admins choosing a tool type. |
| Effects | Effects__c | Picklist | What a tool of this type can change, which decides how Core recovers a failed or lost call. Stays in This Org: Core runs each call inside a savepoint, so a failed or lost call leaves nothing behind and may repeat. Reads Outside Systems: the tool calls outside systems but never changes anything there, so Core repeats a failed or lost call. Changes Outside Systems: Core never repeats a call whose outcome is unconfirmed unless the tool itself asks for a retry, and an operator reconciles it instead. Core treats an unknown value as Changes Outside Systems. Values: Stays in This Org, Reads Outside Systems, Changes Outside Systems. |
| Implementation Type | ImplementationType__c | Picklist | Whose logic a tool of this type runs: Standard for Pluto Core’s own tools, Flow for an admin-built Flow that a standard tool runs, Apex for a custom ITool class. Core copies it to each tool’s Implementation Type so reports and reviews can separate them. Values: Standard, Flow, Apex. |
| Requires Object | RequiresObject__c | Checkbox | Whether a tool of this type acts on one Salesforce object that the admin chooses. Its Implementation Configuration must then name the object in objectApiName; Core rejects the tool at save when it is missing, and authoring tools ask for the object first. |
| Tool Class | ToolClass__c | Text | Apex class that implements ITool for this tool type. |
Pluto is licensed under the GNU Affero General Public License, version 3 only.