outbound-sdk
One small, typed, read-only TypeScript API over outbound sending tools. Read campaigns, sequences, leads, replies, senders and results from Instantly, Smartlead and HeyReach with the same code.
One small, typed, read-only API over outbound sending tools: Instantly, Smartlead and HeyReach. What the three share is normalized. Everything else each one can report is still there through a typed catalog of the vendor’s own reads. No method writes to a vendor tool, it stores nothing, and it runs no AI model.
import { createOutbound } from "outbound-sdk";
import { demoData, memory } from "outbound-sdk/memory";
// The in-memory adapter with a small demo data set: no key, no network.
const outbound = createOutbound({ adapter: memory({ data: demoData() }) });
for await (const campaign of outbound.campaigns.listAll({ status: "active" })) {
console.log(campaign.name, campaign.ref);
}
Docs
The API, the adapters and what each can do, insights, plugins, tools, the CLI and webhooks.
Guides
Complete tasks end to end: a weekly client report, replies nobody answered, a deliverability check, an MCP server for your agent.
What is verified
Which adapters were run against a live account, what was measured and what was not.
How the samples are run
Every code sample on this site is a file the test suite loads and runs. The output shown is what it printed.