Native SDKs for
TypeScript & Python
Type-safe SDKs that wrap the Weavz REST API. Execute actions, manage connections, control MCP servers, resolve end-user identity, and build workflows with approvals, Filesystem, State KV, and Sandbox execution.
Get started in seconds
npm install @weavz/sdkpip install weavz-sdkTypeScript
@weavz/sdkCompile-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-sdkPythonic 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: "550e8400-e29b-41d4-a716-446655440000" })PY client.end_users.create(external_id="user_123", workspace_id="550e8400-e29b-41d4-a716-446655440000")Manage partials
TS await client.partials.create({ integrationName: "slack", values: { channel: "#alerts" } })PY client.partials.create(integration_name="slack", values={"channel": "#alerts"})Write to Filesystem
TS await client.actions.execute("storage", "write_file", { integrationAlias: "files", ... })PY client.actions.execute("storage", "write_file", integration_alias="files", ...)Every resource, one client
Every action, connection, MCP server, approval, trigger, end user, and runtime primitive is documented, generated where possible, and one import away.
Start building today
20,000 free actions/month. Install the SDK, create an API key, and start executing actions in minutes.