SDKs
Use the native Open Connector SDK, or point an existing Composio client at the compatibility API.
Use @open-connector/sdk for new integrations. It calls the native /api/v1 contract and shares its request and response types. The Composio-compatible /composio mount is available when you need to migrate existing @composio/client code.
Install and configure
pnpm add @open-connector/sdkimport { createClient } from "@open-connector/sdk";
const oc = createClient({
apiKey: process.env.OPEN_CONNECTOR_API_KEY!,
baseUrl: "https://api.openconnector.dev",
});pnpm add @composio/clientimport Composio from "@composio/client";
const composio = new Composio({
apiKey: process.env.OPEN_CONNECTOR_API_KEY!,
baseURL: "https://api.openconnector.dev/composio",
});For a self-hosted deployment, replace https://api.openconnector.dev with your own origin. Only the Composio client needs the /composio suffix.
Native SDK surface
The native client currently exposes:
- Connections:
initiate,connect,listConnections,getConnection,refreshConnection,revokeConnection,deleteConnection - Auth configs:
createAuthConfig,listAuthConfigs,getAuthConfig - Toolkits and tools:
listToolkits,getToolkit,listTools,getTool,executeTool - Low-level credential proxy:
proxy
Common operations
List connected accounts
const accounts = await oc.listConnections({});
for (const account of accounts.items) {
console.log(account.id, account.status);
}const accounts = await composio.connectedAccounts.list({
toolkit_slugs: "github",
});
for (const account of accounts.items) {
console.log(account.id, account.status);
}Start an OAuth connection
const connection = await oc.initiate({
slug: "github",
authConfigId: "ac_01j9abc123",
entityId: "user-from-your-app",
});
console.log(connection.redirectUrl);const connection = await composio.connectedAccounts.create({
auth_config: { id: "ac_01j9abc123" },
connection: { user_id: "user-from-your-app" },
} as any);
console.log(connection.redirect_url);Execute a tool
const result = await oc.executeTool({
slug: "GITHUB_CREATE_AN_ISSUE",
connectedAccountId: "conn_01j9xyz789",
arguments: {
owner: "my-org",
repo: "my-repo",
title: "Bug found by agent",
body: "The agent detected an anomaly in production.",
},
});const result = await composio.tools.execute("GITHUB_CREATE_AN_ISSUE", {
connected_account_id: "conn_01j9xyz789",
arguments: {
owner: "my-org",
repo: "my-repo",
title: "Bug found by agent",
body: "The agent detected an anomaly in production.",
},
});Composio compatibility boundary
The compatibility adapter covers the core connection, auth-config, toolkit, tool discovery, execution, and proxy workflows exercised by the repository's integration tests. Compatibility is route-specific; it is not a promise that every Composio product feature exists.
Events, triggers, and webhooks are currently WIP. Do not build a production workflow around those surfaces until their documentation is promoted from WIP.
Before a production migration, verify the exact methods your agent uses against the live Open Connector API.