Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.zeptar.com/llms.txt

Use this file to discover all available pages before exploring further.

A conversation is a single voice call between a user and an agent. Starting a conversation:
  1. Creates a LiveKit room.
  2. Dispatches the Python agent runtime to join the room as a participant.
  3. Returns a participant access token the client can use to join the same room.
The web UI uses this endpoint for the “Preview” button on the agent detail page. Third-party clients can use it to integrate voice calls into their own product.

Request body

{
  "overrides": {
    "system_prompt": "You are a helpful assistant."
  }
}
overrides are optional. When present, the agent runtime uses them in place of the persisted agent configuration — useful for previewing unsaved drafts. Each call gets a fresh override (they are not persisted).

Response

The response contains:
  • conversation_id — the database row id (matches the LiveKit room name).
  • room_name — the LiveKit room name.
  • ws_url — the LiveKit WebSocket URL to connect to.
  • participant_token — a short-lived (~15 minute) JWT signed with the project’s LiveKit secret.
  • expires_at — ISO timestamp when the token expires.
Use the participant_token with livekit-client to join the room:
import { Room } from "livekit-client";

const room = new Room();
await room.connect(result.ws_url, result.participant_token);

Rate limits

Each preview conversation provisions a LiveKit agent dispatch. Bursting through this endpoint can saturate your LiveKit project’s worker pool. If you need volume, contact us about provisioned agent pools.