
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
Humans
Available todayYour 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 todayAI 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 accessOpt 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.”