or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

audio

audio-processing.mdrealtime-transcription.mdspeech-to-speech.mdspeech-to-text.mdtext-to-speech.md
index.md
tile.json

phone.mddocs/conversational/

Phone Integration

Manage phone numbers and telephony for agent calls.

Quick Reference

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const client = new ElevenLabsClient({ apiKey: "your-api-key" });
// Access this API via: client.conversationalAi.phoneNumbers

Phone Number Management

/**
 * List phone numbers
 */
client.conversationalAi.phoneNumbers.list(
  requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersListResponseItem[]>;

/**
 * Import phone number from provider configuration (Twilio or SIP trunk)
 */
client.conversationalAi.phoneNumbers.create(
  request: PhoneNumbersCreateRequestBody,
  requestOptions?: RequestOptions
): HttpResponsePromise<CreatePhoneNumberResponseModel>;

/**
 * Get phone number details
 */
client.conversationalAi.phoneNumbers.get(
  phone_number_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersGetResponse>;

/**
 * Delete phone number by ID
 * @param phone_number_id - The phone number ID to delete
 * @param requestOptions - Optional request configuration
 * @returns Promise resolving to unknown
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.phoneNumbers.delete(
  phone_number_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<unknown>;

/**
 * Update assigned agent of a phone number
 * @param phone_number_id - The phone number ID to update
 * @param request - Update request with optional agent_id
 * @param requestOptions - Optional request configuration
 * @returns Promise resolving to updated phone number response
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.phoneNumbers.update(
  phone_number_id: string,
  request?: UpdatePhoneNumberRequest,
  requestOptions?: RequestOptions
): HttpResponsePromise<PhoneNumbersUpdateResponse>;

interface UpdatePhoneNumberRequest {
  /** Optional agent ID to assign to this phone number */
  agent_id?: string;
}

Batch Calls

Submit and manage batch phone calls.

/**
 * Submit batch call request
 */
client.conversationalAi.batchCalls.create(
  request: BodySubmitABatchCallRequestV1ConvaiBatchCallingSubmitPost,
  requestOptions?: RequestOptions
): HttpResponsePromise<SubmitBatchCallResponseModel>;

/**
 * List batch calls
 */
client.conversationalAi.batchCalls.list(
  request?: BatchCallsListRequest,
  requestOptions?: RequestOptions
): HttpResponsePromise<WorkspaceBatchCallsResponse>;

/**
 * Get batch call details
 */
client.conversationalAi.batchCalls.get(
  batch_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallDetailedResponse>;

/**
 * Cancel a running batch call
 * @param batch_id - The batch call ID to cancel
 * @param requestOptions - Optional request configuration
 * @returns Updated batch call response
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.batchCalls.cancel(
  batch_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallResponse>;

/**
 * Retry failed and no-response recipients in a batch call
 * @param batch_id - The batch call ID to retry
 * @param requestOptions - Optional request configuration
 * @returns Updated batch call response
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.batchCalls.retry(
  batch_id: string,
  requestOptions?: RequestOptions
): HttpResponsePromise<BatchCallResponse>;

interface BatchCallResponse {
  /** Batch call ID */
  batch_id: string;
  /** Status of the batch call */
  status: string;
  /** Call statistics */
  stats?: {
    total: number;
    completed: number;
    failed: number;
    pending: number;
  };
}

Usage Example

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const client = new ElevenLabsClient({ apiKey: "your-api-key" });

// List available phone numbers
const numbers = await client.conversationalAi.phoneNumbers.list();

console.log("Available phone numbers:", numbers);