> ## Documentation Index
> Fetch the complete documentation index at: https://docs.asisso.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Build and operate Asisso voice AI agents programmatically from Python or TypeScript

Asisso ships official SDKs for **Python** and **TypeScript** that wrap the Asisso REST API and the workflow builder. Use them to create or edit agents, place outbound calls, and inspect runs from your own code.

* **Python** — [`asisso-sdk`](https://pypi.org/project/asisso-sdk/) on PyPI
* **TypeScript** — [`@asisso/sdk`](https://www.npmjs.com/package/@asisso/sdk) on npm

Both packages are generated from the same backend OpenAPI spec, so the method surface is equivalent — only the naming convention differs (`snake_case` in Python, `camelCase` in TypeScript).

## Install

<CodeGroup>
  ```bash Python theme={null}
  pip install asisso-sdk
  ```

  ```bash TypeScript theme={null}
  npm install @asisso/sdk
  ```
</CodeGroup>

## Authenticate

Generate an API key at [`app.asisso.com/api-keys`](https://asisso.com/app/api-keys). See [API Keys](/configurations/api-keys) for details.

Both SDKs read the API key from the `ASISSO_API_KEY` environment variable by default, and the base URL from `ASISSO_API_URL` (defaults to `https://app.asisso.com`). You can also pass them explicitly.

<CodeGroup>
  ```python Python theme={null}
  from asisso_sdk import AsissoClient

  client = AsissoClient(
      base_url="https://app.asisso.com",
      api_key="YOUR_API_KEY",
  )
  ```

  ```typescript TypeScript theme={null}
  import { AsissoClient } from "@asisso/sdk";

  const client = new AsissoClient({
      baseUrl: "https://app.asisso.com",
      apiKey: "YOUR_API_KEY",
  });
  ```
</CodeGroup>

## Quick tour

List the agents in your workspace:

<CodeGroup>
  ```python Python theme={null}
  workflows = client.list_workflows()
  for wf in workflows:
      print(wf.id, wf.name)
  ```

  ```typescript TypeScript theme={null}
  const workflows = await client.listWorkflows();
  for (const wf of workflows) {
      console.log(wf.id, wf.name);
  }
  ```
</CodeGroup>

## Next steps

* [Build an agent](/sdks/build-an-agent) — assemble nodes and edges, save as a draft
* [Place an outbound call](/sdks/outbound-calls) — trigger a call from an agent to a phone number
* [MCP Server](/integrations/mcp) — let Claude and other coding agents drive the SDK for you
