Agent Tool
Custom object AgentTool__c. Defines a tool exposed by an agent and the contract used to invoke it.
| Field | API name | Type | Description |
|---|---|---|---|
| Agent Definition | AgentDefinition__c | MasterDetail | Agent definition that owns this tool configuration. |
| Allowed Sensitive Data Categories | AllowedSensitiveDataCategories__c | MultiselectPicklist | Sensitive-data categories Core may restore in memory immediately before this tool executes. Values: Email, Phone, Payment Card, US SSN, IBAN, Salesforce Classified. |
| Always Require Approval | RequiresApproval__c | Checkbox | When checked, every call waits for a human decision before the tool runs. When unchecked, the tool runs unless the agent’s authorization policy denies it or asks for approval. Execution Safety never adds approval. |
| Approval Timeout (Hours) | ApprovalTimeoutHours__c | Number | Hours an approval waits for a decision, from 1 to 168. Blank uses 24 hours. An authorization policy timeout overrides it. |
| Approver Queue | ApproverQueue__c | Text | API name of the queue that owns this tool’s approvals when Approver Type is Queue. With Anchor Record Owner, the fallback queue used when the owner cannot decide or the run has no anchor. The queue must support Agent Approval records. |
| Approver Type | ApproverType__c | Picklist | Who decides this tool’s approvals. Required when Always Require Approval is checked; also used when the authorization policy asks for approval without naming an approver. Values: User, Queue, Anchor Record Owner, Requester’s Manager, Approval Process. |
| Approver User | ApproverUser__c | Lookup | Approver when Approver Type is User. The user must be active and hold Agent Kernel Human Decision. |
| Description | Description__c | LongTextArea | Model-facing explanation of when and how to use this tool. |
| Developer Name | DeveloperName__c | Text | Stable API identifier for this tool within its agent. |
| Implementation Configuration | ImplementationConfiguration__c | LongTextArea | Optional administrator-controlled JSON configuration passed only to the tool implementation. |
| Implementation Type | ImplementationType__c | Picklist | Whose logic this tool runs: Standard for Pluto Core’s own tools, Flow for an admin-built Flow, Apex for a custom ITool class. Core copies it from the tool type on every save, so it is reportable and never disagrees with the tool type. Values: Standard, Flow, Apex. |
| Input Schema | InputSchema__c | LongTextArea | JSON Schema required for model-supplied tool input. |
| Is Active | IsActive__c | Checkbox | Controls whether this tool is available to new runs. |
| Sort Order | SortOrder__c | Number | Deterministic display and model-request order for this tool. |
| Tool Type | ToolType__c | Text | API name of the Agent Tool Type record this tool runs, such as UpdateRecord. The tool type supplies the Apex class and decides how Core retries and recovers the tool. |
| When Approval Expires | ApprovalExpiryAction__c | Picklist | What Core does when nobody decides in time. The tool never runs after an expired approval. Values: Deny and Continue, Pause for Operator. |
Pluto is licensed under the GNU Affero General Public License, version 3 only.