Duct

We're building the interaction layer
between AI and the rest of software.

Companies ship products.
AI agents try to use them.

Right now there's no standard interface. Agents scrape UIs, call undocumented APIs, and guess at state. It works until it doesn't. And it never leaves a trail.

Duct is the layer that was missing. Not a model. Not a framework. The wire between your product and everything that talks to it.

We built Duct because we kept seeing the same gap — products that knew how to do things, but had no clean way to expose that surface to the agents and humans trying to reach them. The problem wasn't AI capability. It was interface.

One widget. Your product. The world.

Everything flows through Duct. You define what's allowed.

Your API doesn't change.

One manifest, three callers

The same action surface — for humans, agents, and other products.

Humans

Available today

Your users ask in the embedded shell and get work done — without clicking through your UI. Duct answers, runs the action, confirms anything irreversible, and hands off with context.

Agents

Available today

AI agents and backend automations call the same declared actions through a permissioned invoke API — scoped profiles or shell tokens, consent on side effects, and an audit row per call. No scraping, no blanket API keys.

The network

Early access

Opt in, and your shell can delegate to another product's shell with runtime consent and single-use tokens. Off by default — and it grows as more products join.

“If you're building something that needs this, we'd like to hear from you.”