Skip to main content
Creates a phone deployment for an assistant. Use user-scoped authentication because the operation requires organization and project context.
For setup and authentication options, see the Installation guide and Authentication.

Parameters

connectionConfig
ConnectionConfig
required
Configuration for the client connection.
request
CreateAssistantDeploymentRequest
required
Provide the phone deployment variant.

Usage

import {
  AssistantPhoneDeployment,
  ConnectionConfig,
  CreateAssistantDeploymentRequest,
  CreateAssistantPhoneDeployment,
  DeploymentAudioProvider,
  Metadata,
} from "@rapidaai/react";

const auth = ConnectionConfig.WithDebugger({
  authorization: "AUTHORIZATION_TOKEN_PLACEHOLDER",
  userId: "AUTH_ID_PLACEHOLDER",
  projectId: "PROJECT_ID_PLACEHOLDER",
});
const connectionCfg = ConnectionConfig.DefaultConnectionConfig(auth);

const inputModel = new Metadata();
inputModel.setKey("model");
inputModel.setValue("nova-3");

const inputAudio = new DeploymentAudioProvider();
inputAudio.setAudioprovider("deepgram");
inputAudio.setAudiotype("stt");
inputAudio.setAudiooptionsList([inputModel]);

const outputVoice = new Metadata();
outputVoice.setKey("voiceId");
outputVoice.setValue("VOICE_ID_PLACEHOLDER");

const outputAudio = new DeploymentAudioProvider();
outputAudio.setAudioprovider("elevenlabs");
outputAudio.setAudiotype("tts");
outputAudio.setAudiooptionsList([outputVoice]);

const deployment = new AssistantPhoneDeployment();
deployment.setAssistantid("ASSISTANT_ID_PLACEHOLDER");
deployment.setGreeting("Hi, how can I help you today?");
deployment.setMistake("Sorry, I did not understand that.");
deployment.setIdealtimeout("30");
deployment.setIdealtimeoutbackoff("2");
deployment.setIdealtimeoutmessage("Are you still there?");
deployment.setMaxsessionduration("300");
deployment.setInputaudio(inputAudio);
deployment.setOutputaudio(outputAudio);
const phoneNumber = new Metadata();
phoneNumber.setKey("phoneNumber");
phoneNumber.setValue("+14155550100");
deployment.setPhoneprovidername("twilio");
deployment.setPhoneoptionsList([phoneNumber]);

const request = new CreateAssistantDeploymentRequest();
request.setPhone(deployment);

const response = await CreateAssistantPhoneDeployment(connectionCfg, request);
console.dir(response.toObject());

Response

code
int32
Numeric status code for the operation.
success
boolean
Indicates whether the operation was successful.
data
AssistantPhoneDeployment
Created phone deployment.
error
Error
Error details when the operation fails.

Errors

CodeMeaning
1005001Invalid request.
1005002Unauthenticated request.
1005003Missing authentication scope.
1005004Invalid assistantId.
1005005Unable to create assistant phone deployment.
1005006Invalid audioProvider.
1005007idealTimeout must be between 15 and 120 seconds.
1005008idealTimeoutBackoff must be between 0 and 5 times.
1005009maxSessionDuration must be between 180 and 600 seconds.
1005010Missing phoneProviderName.