One API for every enterprise system your agent touches.
Your agent calls a capability — crm.update(), ticket.create(), chat.send(). OpenConnection routes each call to whatever system that customer actually runs. Same code for Salesforce, HubSpot, or Dynamics.
Every agent builder is rewriting the same five integrations.
Agents are suddenly the consumer — generating high-volume write actions across every customer's stack. But each customer runs a different CRM, a different ticketing tool, a different chat system. Today that means N integrations per capability, built and maintained by you.
Product-shaped, not capability-shaped
iPaaS and MCP servers still make you connect "to Salesforce" and learn its object model. Multiply that by every vendor each customer happens to use.
Write actions are the hard part
Read-normalization tools skip the dangerous half. Idempotency, partial failures, approvals, and audit differ per system — and they're on you.
Switching a customer means changing code
A customer moves from Salesforce to HubSpot and your integration breaks. The vendor leaked into your agent logic where it never belonged.
Target a verb. We route it to the vendor.
Three primitives are all you work with. Your agent code stays identical across every customer — the mapping lives in policy, not in your codebase.
Capability verbs
A small, stable vocabulary — crm.upsert_contact, ticket.create, chat.send, email.send — each with one normalized schema.
Providers
Per-system adapters that implement the verbs. Salesforce, HubSpot, Jira, Slack — each owns its own auth, quirks, retries, and error mapping.
Connections
A customer's authorized instance of a provider. A routing policy maps crm.* to it. Change the policy, not the agent, to switch vendors.
A clean common path — without giving up provider-native power.
The trap with unified APIs is exposing only what all vendors share. OpenConnection gives you three tiers in a single call, so you're never forced to leave the platform to reach a Salesforce-only field.
crm.update({ email, stage, value }) behaves the same across every provider you route to.raw passthrough when you need a vendor-specific feature — while keeping auth, logging, and governance intact.Because letting an agent write to production systems should be safe.
This is the part read-only unified APIs never had to solve. Every action passes through a governance layer built for agents that change real data.
Idempotency
Every write carries an idempotency key, so retries are safe and duplicates never reach the underlying system.
Dry-run & preview
Resolve and validate an action against the target system without committing it — see exactly what would happen first.
Human-in-the-loop
approval.request → wait → resume. Pause any action for a person to approve before it commits.
Full audit trail
Per-call logs, latency, normalized errors, and cost attribution per tenant — every action accounted for.
Four capabilities. The systems your customers already run.
Stop integrating products. Start integrating capabilities.
We're onboarding a first group of agent builders. Get early access to the SDK, help shape the verb vocabulary, and integrate once instead of five times.