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. |
| Approval Mode | ApprovalMode__c | Picklist | Whether a call of this tool waits for a person. Not Required runs every call, and the agent’s authorization policy is not asked. Always Required waits for the Approver Type on every call; the policy is not asked. Decided by Policy asks the agent’s authorization policy about each call: it runs the call, denies it, or holds it for an approver the policy names. Blank means Not Required. Values: Not Required, Always Required, Decided by Policy. |
| Approval Timeout (Minutes) | ApprovalTimeoutMinutes__c | Number | Minutes an approval waits for a decision, from 1 to 10080 (7 days). Blank uses 1440 (24 hours). With Decided by Policy, a timeout the policy gives for a call replaces this one. Must be blank when Approval Mode is Not Required. |
| Approver Queue | ApproverQueue__c | Text | API name of the queue that owns this tool’s approvals when Approval Mode is Always Required and 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 when Approval Mode is Always Required. Required then, and blank otherwise: with Decided by Policy, the policy names the approver for each call it holds. 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. Required when Approval Mode is Always Required or Decided by Policy, and blank when it is Not Required. Values: Deny and Continue, Pause for Operator. |
Pluto is licensed under the GNU Affero General Public License, version 3 only.