Skip to content
KORLabs
Get started

Agent as a Service

Agents that do the work. You keep the final say.

Tell KOR what needs doing. Agents plan it, run it across your tools, and stop at the one point they need you. Every step they take lands in one log you can read afterwards.

The honest version

The agent is an afternoon’s work. Handing it your keys, your budget and your audience is not.

Agent as a Service is that second part, and it is the whole product

IP partners

  • Paramount
  • Sony Pictures
  • Banijay Group
  • Black Mirror
  • EROS
  • Beatport
  • mau5trap
  • Imogen Heap
  • KDDI
6Products they work acrossOne account reaches every one of them
10Shared services underneathAuth, calendar, memory, run log. Every agent stands on the same layer
31Steps to build a run fromFork a Play we ship, or compose your own out of the catalogue
1Approval you still holdIt waits at the gate. It never guesses

every step in one log

one login

one calendar

one memory

one bill

autonomy is earned

an agent starts at propose

public actions stay gated

products keep their data

keys never reach the model

typed tools only

MCP-native

every step in one log

one login

one calendar

one memory

one bill

autonomy is earned

an agent starts at propose

public actions stay gated

products keep their data

keys never reach the model

typed tools only

MCP-native

01

The agents

Six products push in. One accountable stream comes out.

Each product hands its work to KOR, and the agents take it from there. One job each, a ceiling none of them can cross, and every step they take lands in the same log.

  • PacerPlanner L2Warden L1
  • StreamlineScout L2Caller L1
  • VRSNSDresser L2Fitter L3
  • BytesFinder L1Cutter L2
  • KORUSRegistrar L1Auditor L2
  • KOR HubsMerchant L1Teller L1
  • KOR

    Quoted · Logged · Settled

L0 watches · L1 proposes · L2 acts and asks · L3 runs to its budget · posting and payouts never reach L3

The shared layer

Every agent stands on the same foundation.

One login, one calendar, one memory, one bill, across all six products. An agent connects once and can use it everywhere, and every step it takes lands in one log.

  • Auth
  • Storage
  • Connections
  • Queue
  • Memory
  • Run log
  • Approvals
  • Intelligence
  • Calendar
  • Social

Connect once · scoped to one workspace · keys never reach the model

Dithered engraving of a domed baroque palace against deep blue.
02

The workflow

Set it up once. It prices itself, then runs.

Five Plays ship with the platform. Change a step and it re-quotes against the real API. Then run it, approve the one gate, and watch every credit land.

Workspace

Scope

Play · Content sprint

1 gate · 8 steps

  1. TriggerTrend spotted
  2. StreamlineSpots the hook at 4:12
  3. KORPicks the Play, quotes the run
  4. YouApprove it, one tap
    one tap
  5. BytesCuts three vertical clips
  6. VRSNSCovers and cards in your voice
  7. CalendarThree slots, no clash
  8. SocialPosts Tue, Wed and Fri

Run log

no active run· Pricing

Quoted

240cr

Never past

cr
We remember what worked here

Streamline never calls Bytes, it asks KOR and we do the rest · reorder it, drop the gate once you trust it, borrow a step from another Play · every node above is one row in one table that billing, debugging and audit all read

03

Trust

We make agents earn it.

Every agent ships at propose and stays there until its eval scores move it. Some things are never promoted at all.

Posting · payouts stop here

L0

It watches

Changes nothing. Reads, scores, and reports.

L1

Ships here

It proposes

Drafts the work and waits. Every agent starts here.

L2

It acts, you approve

Does the work, then asks before anything leaves.

L3

Capped

It runs alone

Up to its budget, no further. Never for public actions.

We promote on eval scores, never by flipping a setting

The other half of trust

An agent that can post is an agent worth attacking.

How it would go

Any one of these ends it on its own

01A poisoned comment in a trend feed

Arrives as data. Nothing stops that

Content is never an instructionAnything a product fetched is data. Only Plays give orders.
02Read as an instruction, not as data
Anything public stays gatedPosting and payouts never reach L3. No score unlocks it.
03An L3 agent calls a posting tool
Kill switchPer agent, per org, per tool. One click, and the run log says who used it.
04It posts to a real audience, from a real account

In this order the run dies at step two. The two barriers under it are there for the day the first one is wrong.

True of every run, attacked or not

Tools are scoped to one workspaceA run gets that workspace's keys and budget. Never the org's.
Keys never reach the modelConnections holds them. The agent gets a handle, not a token.

We design this in week four with the runtime · “harden” in week eight is too late to design anything

04

What a run costs

Priced by the action. Not by the seat.

This is the one place on the page that talks about money, and it is here because it is a fair question. Every run is quoted before it starts and settled when it ends, so an agent that sits idle costs nothing at all.

1 · You top up

40,000

Credits

One balance for the whole org. It doesn’t expire on a billing date, because there isn’t one.

2 · We cap it per workspace

  • Growth11,240 / 18,000
  • Content4,310 / 12,000
  • Catalogue9,080 / 10,000

    Near cap · we’ll ask first

Width is their cap. Shading is what they’ve spent. One workspace can never spend another’s budget.

3 · Every run is quoted

We quoted

240

We spent

203

We returned

+37

Priced before it starts, metered while it runs, settled when it ends.

37 credits back on your balance, not ours

If a run goes over

Quote 240 · we absorb to 276 · never past it

Under the quote

You pay the real cost, not the estimate.

Up to 15% over

We absorb it. You pay the quote we gave you, never more.

Past 276

We stop and ask before we spend another credit. We never run past it.

If you say stop

You pay for the steps that already ran. We keep the partial work.

Illustrative numbers · credit economics are a week-one decision, and nothing prices until they land

Agent as a Service

You decide what an agent may do. It does the rest.

Set the ceiling, approve what leaves, and read the log afterwards. No seats to buy and nothing to install.

Get started
05

Where this goes

Phase two: everyone else’s agents run on it too.

The routes below are the ones our own agents call. There is no private door behind them and no second, better API. Phase two puts an MCP server in front of each service and a scoped key in your hands.

The contract

9 routeskor-agentyour-agent
OpenAPI ↗
  • Fabric

    What the platform is. One GET each, or the lot in a single round trip.
  • GET/v1/manifestEverything at once, in one round tripthe whole fabric
  • GET/v1/productsThe products the agents work across6 products
  • GET/v1/servicesThe shared layer every agent stands on10 services
  • GET/v1/agentsEach with its level and its ceilingthe roster
  • GET/v1/playsThe Plays we ship, and the steps they are built from5 Plays
  • GET/v1/stepsEvery step a Play can borrow, and what it costs31 steps
  • Runs

    The workbench in section 02 calls all three, from your browser.
  • POST/v1/quotePrice a run before a credit is spentquote + ceiling
  • GET/v1/runs/streamThe run itself, step by step, as it happensSSE, until it settles
  • POST/v1/runs/:runId/decisionAnswer the gate. It waits, and never guessesthe run resumes

What you send

POST /v1/quote
{ "playId": "drop", "scale": "standard" }

The same request the workbench sends every time you change a step.

What comes back

200
{ "quoted": 92, "ceiling": 106, "gates": 1, "expiresInSeconds": 900 }

And one priced line per step. 6 of them for this Play.

Every route above is live in this build · the response beside it was priced by the same function the endpoint calls, at render time

Already true

Today, on the routes above
  • The contract is publishedThe OpenAPI document is generated from the routes themselves, so it cannot describe an API we do not serve.
  • The workbench is just a clientSection 02 prices and streams a real run from your browser, over the three routes above. Nothing about it is privileged.
  • The price is ours, not the caller'sSend /v1/quote a chain of steps and we price it from our catalogue. A client names the steps; it never names the numbers.

What phase two adds

The same contract, with keys attached
  • Bring your own agentClaude, ChatGPT, Cursor, or one you wrote. One path in, whether the agent is ours or yours.
  • An MCP server per serviceAuth, calendar, storage, memory and run log, each speaking the protocol natively, so a tool call is just a tool call.
  • Keys and scopes, per tenantYour keys, your data, your memory. Scoped to one workspace, never pooled, never trained on.
  • Agents as artefactsSpec, tools, evals and budget in one file. Versioned, diffable, and reviewed like code.
  • The gate, in your own queueApprovals is a service, not a screen. A run's gate can land wherever your team already answers things.
  • No partner tierThe same quote, the same run log, the same ceilings we hold our own agents to.

Phase two follows the first paying runs · the contract doesn’t change when it lands, it only gets keys

Put the agents to work.

One login reaches all six products and every service under them.