Available Now

Native SDKs for
TypeScript & Python

Type-safe SDKs that wrap the Weavz REST API. Execute actions, manage connections, and control MCP servers in your preferred language.

Get started in seconds

npm install @weavz/sdk
pip install weavz-sdk

TypeScript

@weavz/sdk

Compile-time action names and generated input types for all integrations. Works in Node.js, Deno, Bun, and edge runtimes.

import { WeavzClient } from "@weavz/sdk";

const client = new WeavzClient({
  apiKey: "wvz_your_api_key",
});

const workspaceId = "550e8400-e29b-41d4-a716-446655440000";

// Execute an action
const result = await client.actions.execute("slack", "send_channel_message", {
  workspaceId,
  integrationAlias: "office_slack",
  input: {
    channel: "#general",
    text: "Hello from the TypeScript SDK!",
  },
});

// Manage connections
const connections = await client.connections.list({
  integrationName: "slack",
});

// Create an MCP server
const server = await client.mcpServers.create({
  name: "My Server",
  workspaceId,
  mode: "TOOLS",
});

Python

weavz-sdk

Pythonic client with generated Pydantic input models and httpx under the hood. Designed for AI agent frameworks and backend services.

from weavz_sdk import WeavzClient
from weavz_sdk.integrations import SlackSendChannelMessageInput

client = WeavzClient(api_key="wvz_your_api_key")
workspace_id = "550e8400-e29b-41d4-a716-446655440000"

# Validate, then execute an action
result = client.actions.execute_typed(
    integration_name="slack",
    action_name="send_channel_message",
    workspace_id=workspace_id,
    integration_alias="office_slack",
    input=SlackSendChannelMessageInput(
        channel="#general",
        text="Hello from the Python SDK!",
    ),
)

# Manage connections
connections = client.connections.list(
    integration_name="slack",
)

# Create an MCP server
server = client.mcp_servers.create(
    name="My Server",
    workspace_id=workspace_id,
    mode="TOOLS",
)

What you can do

Quick examples of common operations across both SDKs.

Execute an action

TS await client.actions.execute("slack", "send_channel_message", { ... })PY client.actions.execute_typed("slack", "send_channel_message", ...)

Create a connection

TS const { token } = await client.connect.createToken({ integrationName: "gmail", ... })PY token = client.connect.create_token(integration_name="gmail", ...)

Enable a trigger

TS await client.triggers.enable({ integrationName: "stripe", triggerName: "new_payment", ... })PY client.triggers.enable(integration_name="stripe", trigger_name="new_payment", ...)

Create an end user

TS await client.endUsers.create({ externalId: "user_123", workspaceId: "ws-1" })PY client.end_users.create(external_id="user_123", workspace_id="ws-1")

Manage partials

TS await client.partials.create({ integrationName: "slack", values: { channel: "#alerts" } })PY client.partials.create(integration_name="slack", values={"channel": "#alerts"})

Every resource, one client

Every action, connection, and MCP server — documented, generated where possible, and one import away.

Start building today

1,000 free actions/month. Install the SDK, create an API key, and start executing actions in minutes.