PPromptReports
← All postsWorkflows

Cost per outcome: what a recovered incident, a kept promise and a won deal cost in agent spend

How the Cost per outcome workflow will join agent spend to the results it produced across products, and hold spend over budget for a person.

Cost per outcome is a workflow for founders and engineering leaders who pay for agent work. It will join what agents spend to what that spending produced: dollars per recovered incident in RepoOps, per kept promise in CommitOps, and per won deal in Sales as Code. PromptCompute will hold any spend that would go over the budget until a person approves it.

Sales as Code already shows its share of the answer. The other parts are still to go.

The problem

Agent spend arrives as tokens and dollars, one bill per model vendor. The bill tells you how much you spent. It does not tell you what you got for it.

So the questions a board or a co-founder asks have no answer. What did it cost to recover from last week’s incident? What did the agents spend on the promises we kept this quarter? Is the outreach agent paying for itself? Nobody can say, because the spend lives in one place and the outcomes live in three others.

How the workflow solves it

Each product already knows its own outcomes. RepoOps knows which incidents recovered. CommitOps knows which promises were kept. Sales as Code knows which deals were won and how its forecasts scored. The workflow will join agent spend to those outcomes across the products and report one figure per outcome.

The budget is the second half. You will set a budget for the period, and PromptCompute will hold any request that would take the total past it, so a person decides whether the extra spend is worth it.

Step by step

When the workflow runner ships, a run will take these steps. Present tense means the part works in its product today; “will” means it is still to build.

A run will start once a month, or when spend crosses a budget line.

  1. RepoOps reads spend per outcome with its spend_outcome tool, for the work inside RepoOps.
  2. RepoOps sends agent cost back to CommitOps. Each hour it sends the measured agent spend of merged pull requests. This is built and switching on.
  3. Sales as Code reports cost per forecast and per won deal.
  4. The runner will join spend to outcomes across the products, so a single report covers incidents, promises and deals.
  5. PromptCompute will hold spend above the budget for a person. It enforces cumulative limits today. Budget approvals per agent and per action bucket are still to build.

The plan states the budget rule plainly: any agent spend that takes the period total past the budget goes to a person, and PromptCompute holds the request instead of passing it.

What the workflow will report

Each run will report:

  • The cost per recovered incident.
  • The cost per kept promise.
  • The share of agent spend tied to an outcome. The plan sets the target above 80%.

That last number matters most, because spend not tied to any outcome is the spend to look at first.

Each figure will carry its evidence state. A cost the run read from a product is measured; a cost it could not find is missing, and the report will say so instead of showing zero.

Why it matters to a founder

Agent spend is easy to defend in the abstract and hard to defend line by line. With cost per outcome you will be able to walk into a board meeting with what a recovered incident cost and what a won deal cost, each figure traced to the runs behind it.

The same numbers will tell you what to cut. An agent that spends heavily and shows up in no outcome is a candidate to turn off, and you will see it before the next bill.

How to set it up

The only outside connection is your model provider’s billing export, and it is optional. RepoOps already measures agent spend for the work it records.

Once the runner and the signed-in app ship, setup will be:

  1. Sign in with PromptReports ID and pick your org.
  2. Connect RepoOps, PromptCompute, CommitOps and Sales as Code.
  3. Register the agent that will run the report.
  4. Set the budget for the period, and the approval policy for the actions that add spend, such as topping up credits (credits.top_up) or changing a plan (subscription.plan.change).
  5. Choose the trigger, monthly or when spend crosses a line, and start a dry run. It will show which outcomes the run could not measure.
  6. Start the run and read the report.

An agent will start the run through the PromptReports MCP server or API with the proposed start_run tool, and read the result with get_run.

Cost per outcome is on every plan. Plans are per user per month: $25 for 100 workflow requests, $50 for 500, and Enterprise above 500. There is no free tier. A monthly report is one request each time it runs.

Today you can read the parts yourself. RepoOps serves spend_outcome on its MCP server, and Sales as Code shows cost per forecast and per won deal. You would join them by hand, and the budget hold would be PromptCompute’s cumulative limit, not a budget per agent.

What is built today and what is planned

The workflows page lists Cost per outcome as partly built: two of four parts are merged, and the RepoOps spend join and the PromptCompute budget approvals are still to go.

Built:

  • Sales as Code shows cost per forecast and per won deal (Sales-Intelligence #2810).
  • CommitOps works out cost per kept promise from the measured spend RepoOps sends on the changes behind each kept promise (commitops #151).
  • In the products, RepoOps reads spend per outcome for its own work, PromptCompute enforces cumulative limits, and RepoOps sending agent cost to CommitOps is built and switching on.

Still to go:

  • RepoOps joining agent spend to outcomes across the family.
  • Budget approvals in PromptCompute, per agent and per action bucket.
  • The workflow runner. No runner exists today. The plan is a durable runner service in the PromptCompute stack, with one run id across products, approvals as steps, and each run metered as one workflow request.

Read more

AS
Post record
This post has no record on AI Source of Truth yet. Once it does, its verdict badge shows here and links to the record.