Skip to content

Pluto

AI agents that run inside your Salesforce org, on the licenses you already have, with the model provider you choose. Every step is recorded, and a person approves what matters.

An agent reads records, calls the tools you give it, and writes an answer. It runs as Apex in your org. Your data stays in Salesforce except for what the agent sends to the model.

Standard licenses

Pluto runs on the Salesforce licenses your users already have. It needs no paid AI add-on and no extra per-conversation fee. You pay your model provider for the tokens you use.

Any model provider

Connect OpenAI, Azure OpenAI, or any endpoint that serves the OpenAI Responses API. For another provider, a developer writes one Apex class.

Approvals before actions

Make a person approve a tool call before it runs. Send it to a user, a queue, the record owner, or the requester’s manager. A policy can ask only for large refunds and let small ones through. The agent never approves its own work.

A record of every step

Each run stores every model call, tool call, approval, and decision. The run story in Pluto Console shows who started it, what the agent saw, what it did, and who approved it.

Runs that recover

A schedule checks every 10 minutes for runs that stopped and continues them. A tool call that changed an outside system is never repeated blindly. An admin can rescue or cancel any run without code.

Sensitive data stays out of the model

Emails, phone numbers, card numbers, US SSNs, IBANs, and classified fields become tokens before the model sees them. Only tools you allow get the real values back.

Tools without code

Give an agent tools to query records with your own SOQL, create or update records with fields you allow, post to Chatter, or run a Flow. Developers add Apex tools through a published contract.

Spending limits per run

Each agent caps model calls, tool calls, and tokens per run. Set token prices on the model, and each call records its estimated cost.

  1. You keep your current licenses. An agent runs as Apex in your org, with no AI add-on to buy.
  2. You choose the model and can change it later. Agents point to an Agent Model record. Switching providers changes that record, not the agents.
  3. You can explain every result. When someone asks why the agent changed a record, the run story answers with the model call, the tool call, and the approval behind it.
  4. Admins build with records and Flows. An agent is an Agent Definition with tools attached. You start it from a Flow action, so record-triggered, scheduled, and screen Flows all work.
  5. You can read and change the source. Pluto is free under the AGPL. Your own tools, model providers, and policies can stay private.
Use an agent toFor example
Sort or summarize work as it arrivesTriage each new Case: set its Priority and post a short note to its Chatter feed.
Draft text a person checks before it goes outDraft a reply to a customer for the case owner to review.
Change records only after someone agreesUpdate an Opportunity stage only after the account owner approves.
Work through many records without a personReview every open Case each night and flag the ones that need attention.
Help a user on a record pageA screen Flow on the Case page where the user asks questions over several messages.
Wait for a slow outside systemStart a credit check, wait hours for the answer, then continue the run.

Pluto Core

Required. Runs agents: model calls, tools, approvals, recovery, and the record of each run.

Pluto Model Adapters

A ready-made connection to OpenAI and other endpoints that serve the OpenAI Responses API. Skip it only if you write your own model connection.

Pluto Console

Optional, and recommended. Edit agents and tools, follow a run step by step, and rescue runs that stopped.

Pluto Core works on its own. The other two packages only use Core’s published extension points.

Pluto is free. The only official source is the GitHub repository and the packages it publishes. Pluto is not sold on AppExchange. If you paid for a copy, or see it listed under another name, it did not come from this project.

Pluto is licensed under the GNU Affero General Public License, version 3 only, with an exception that lets your own extensions stay private. The license does not cover the Pluto name or logo.

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