Skip to content

Choose a tool type

A tool is something the agent may do. Each Agent Tool record belongs to one agent and has one tool type. The agent can only do what its active tools allow.

Tool typeNameUse it to
Query RecordsQueryRecordsRead records with one SOQL query you write. See Read records.
Create RecordCreateRecordCreate one record with the fields you list. See Create and update records.
Update RecordUpdateRecordChange the fields you list on one record. See Create and update records.
Run FlowRunFlowRun an autolaunched Flow that only reads or changes this org. See Run a Flow.
Run Flow With External EffectsRunFlowWithExternalEffectsRun an autolaunched Flow that makes callouts, sends email, or publishes events. See Run a Flow.
Post to ChatterPostChatterPost one message to a feed. See Post to Chatter.

Developers can add more tool types in Apex. See Extend Pluto.

FieldWhat to enter
Developer NameThe name the model calls the tool by, such as set_case_priority. Unique within the agent.
DescriptionWhat the tool does, what it needs, and what it changes, written for the model. The model reads this to decide when to call the tool.
Tool TypeOne of the names above, or a custom type from your developers.
Implementation ConfigurationThe tool’s settings, as JSON. The model never sees them.
Input SchemaThe inputs the model may send, as JSON Schema. Leave it blank for a tool type that builds its inputs: every Core tool type, and Search Knowledge, Run Report, and the channel tools. Fill it in for Call API, Read from API, the MCP tools, and a custom type that does not build its inputs.
Sort OrderLower numbers are listed to the model first.
Is ActiveUnchecked by default. Check it to give the tool to the agent.
Always Require Approval and the approval fieldsSee Require approval.
Allowed Sensitive Data CategoriesLeave empty unless the tool needs real values, such as a real email address to send to. See Sensitive data.

In Pluto Console, the tool editor shows a form for the settings, so most tools need no JSON.

  • Start with a verb: “Sets the Priority of the case this run is about.”
  • Say what the tool needs and what it returns.
  • Say what it changes, and what it never does.
  • Keep it short. The model reads every description on every call.

Each tool type has an Effects value. It tells Core what to do when a call fails or its outcome is unclear. It also decides where the call runs. A Stays in This Org call runs in the same job as the model turn or Reads Outside Systems call before it, so it adds no wait. The others run in a job of their own. Calls always run in the order the agent asked for them.

EffectsMeaningWhen a call fails or is lost
Stays in This OrgThe tool only reads or changes records in this org.Core undoes the tool’s changes and tries again or tells the agent. Never Unknown.
Reads Outside SystemsThe tool calls an outside system but only reads.Core tries again. Running it twice is harmless.
Changes Outside SystemsThe tool may create, change, send, or delete something outside the org.Core never repeats an unconfirmed call. It marks the call Unknown and waits for an operator to check. See Settle an Unknown call.

Effects is set on the tool type by the developer, not on each tool. The Tool types reference lists the value for each type.

Pluto is licensed under the GNU Affero General Public License, version 3 only.