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

twilio.mddocs/conversational/

Twilio Integration

Make outbound calls via Twilio and register incoming calls.

Quick Reference

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

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

Twilio Operations

/**
 * Handle an outbound call via Twilio
 * @param request - Call configuration with agent, phone numbers
 * @param requestOptions - Optional request configuration
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.twilio.outboundCall(
  request: BodyHandleAnOutboundCallViaTwilioV1ConvaiTwilioOutboundCallPost,
  requestOptions?: RequestOptions
): HttpResponsePromise<TwilioOutboundCallResponse>;

/**
 * Register a Twilio call and return TwiML to connect the call
 * @param request - Call registration with agent and numbers
 * @param requestOptions - Optional request configuration
 * @throws UnprocessableEntityError if request fails
 */
client.conversationalAi.twilio.registerCall(
  request: BodyRegisterATwilioCallAndReturnTwiMlV1ConvaiTwilioRegisterCallPost,
  requestOptions?: RequestOptions
): HttpResponsePromise<void>;

interface BodyHandleAnOutboundCallViaTwilioV1ConvaiTwilioOutboundCallPost {
  /** Agent ID to use for the call */
  agentId: string;
  /** Agent's Twilio phone number ID */
  agentPhoneNumberId: string;
  /** Destination phone number */
  toNumber: string;
  /** Optional metadata */
  metadata?: Record<string, unknown>;
}

interface BodyRegisterATwilioCallAndReturnTwiMlV1ConvaiTwilioRegisterCallPost {
  /** Agent ID to use for the call */
  agentId: string;
  /** Caller's phone number */
  fromNumber: string;
  /** Recipient phone number */
  toNumber: string;
}