---
title: "The SuperOrgs SDK is on npm"
description: "A small Node library that reports what your agents do, what it costs, and what they produce, from inside your own agent process. Nothing is captured automatically."
date: "2026-09-17"
author: "Saleha Iftikhar, Forward Deployed Engineer"
category: "Product"
source: "https://www.superorgs.com/blog/sdk"
---

# The SuperOrgs SDK is on npm

A small Node library that reports what your agents do, what it costs, and what they produce, from inside your own agent process. Nothing is captured automatically.

In July we shipped activity streaming: your agents post their runs to SuperOrgs over an authenticated API, and you get a live feed, the real cost of every run, and a one-line summary from Orion. The API is small. The code around it is not: batch the events, retry the timeouts, keep the queue through a restart, and rotate a credential without dropping a run.

That code is now a package. `@superorgs/sdk` is on npm.

## What shipped

**A Node SDK with no runtime dependencies.** Install it, put two environment variables next to your agent, and report a run in a few lines: start it, log progress and the tool calls you choose to share, record usage and cost, link what it produced, then finish or fail. Node 20.3 or newer, ESM and CommonJS, Apache-2.0.

**Delivery you do not have to think about.** Events are sent in batches within a second. Timeouts and server errors retry with backoff. A rate limit waits exactly as long as SuperOrgs asks. A revoked credential pauses delivery and keeps the queue until you hand over the new one. One bad event is quarantined instead of holding everything behind it.

**A durable outbox in your own database.** Hand the SDK your SQLite connection and the queue lives in two tables beside your data. Record a run's finish inside your own transaction and the run row and its events commit or roll back together. A crash loses nothing.

**Credentials you manage in the app.** Open Connectors, pick SuperOrgs SDK, choose an agent, and SuperOrgs mints a credential for that one agent. Rotate it and both credentials stay valid until you revoke the old one, so a rollout never drops a run.

**Costs that say what they are.** Send a dollar figure and it is measured. Send tokens on a model we can price and it is estimated, and labeled that way. Send tokens on a model we cannot price and it shows as unpriced, never as free. Spend that was not a model call, an acquisition API or a per-seat fee, carries a source label, so a run's ledger says where each figure came from.

**The ability a run worked on.** Tell SuperOrgs which Task Library ability the run was doing and it lands under the agent's existing plan. SuperOrgs checks that the ability is assigned to the agent and records it as the agent's own declaration, never as proof that the work is done.

## Nothing is captured automatically

Every line on the timeline is one call your code made. Prompts, private reasoning, credentials, and raw conversations never leave your process unless you send them. That is a design decision, not a gap. The people reading the feed are managers and finance, and what they need is what the agent did, what it cost, and what it produced.

## Not on Node?

The SDK is a Node library today. Everything else speaks the same plain JSON over HTTPS: one endpoint, a bearer credential, a batch of events. [The docs](/docs/activity-streaming) cover both, and the Connectors page in the app shows a curl example. If you need another language first, tell us.

## Get started

Install it with `npm install @superorgs/sdk`, mint a credential on the Connectors page, and read [the docs](/docs/activity-streaming). The full reference is [on npm](https://www.npmjs.com/package/@superorgs/sdk).

- [Read the docs](/docs/activity-streaming)
- [Get a demo](/demo)
