For setup and authentication options, see the Installation guide and Authentication.
Parameters
Configuration for the client connection.
Provide the
phone deployment variant.Show child attributes
Show child attributes
Phone deployment configuration.
Show child attributes
Show child attributes
Assistant ID for the deployment.
Telephony provider name, such as
twilio, vonage, exotel, asterisk, or sip.Provider-specific phone options.
First message the assistant sends when the session starts.
Controls whether users can interrupt the opening greeting in audio sessions.
Message to use when the assistant cannot understand or handle the input.
Idle timeout in seconds. Must be between
15 and 120.Number of idle-timeout retries. Must be between
0 and 5.Message sent when the session reaches the idle timeout.
Maximum session duration in seconds. Must be between
180 and 600.Speech-to-text audio provider configuration.
Text-to-speech audio provider configuration.
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.setGreetinginterruptible(false);
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());
import {
AssistantPhoneDeployment,
ConnectionConfig,
CreateAssistantDeploymentRequest,
CreateAssistantPhoneDeployment,
DeploymentAudioProvider,
Metadata,
} from "@rapidaai/nodejs";
const auth = ConnectionConfig.WithDebugger({
authorization: process.env.RAPIDA_AUTHORIZATION,
userId: process.env.RAPIDA_AUTH_ID,
projectId: process.env.RAPIDA_PROJECT_ID,
});
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(process.env.RAPIDA_ASSISTANT_ID);
deployment.setGreeting("Hi, how can I help you today?");
deployment.setGreetinginterruptible(false);
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());
import os
from pprint import pprint
from rapida import (
AssistantPhoneDeployment,
ConnectionConfig,
DeploymentAudioProvider,
Metadata,
)
from rapida.clients.protos.assistant_deployment_pb2 import (
CreateAssistantDeploymentRequest,
)
auth = ConnectionConfig.with_debugger(
authorization=os.getenv("RAPIDA_AUTHORIZATION"),
user_id=os.getenv("RAPIDA_AUTH_ID"),
project_id=os.getenv("RAPIDA_PROJECT_ID"),
)
connection_config = ConnectionConfig.default_connection_config(auth)
deployment = AssistantPhoneDeployment(
assistantId=int(os.getenv("RAPIDA_ASSISTANT_ID")),
greeting="Hi, how can I help you today?",
greetingInterruptible=False,
mistake="Sorry, I did not understand that.",
idealTimeout=30,
idealTimeoutBackoff=2,
idealTimeoutMessage="Are you still there?",
maxSessionDuration=300,
phoneProviderName="twilio",
phoneOptions=[Metadata(key="phoneNumber", value="+14155550100")],
inputAudio=DeploymentAudioProvider(
audioProvider="deepgram",
audioType="stt",
audioOptions=[Metadata(key="model", value="nova-3")],
),
outputAudio=DeploymentAudioProvider(
audioProvider="elevenlabs",
audioType="tts",
audioOptions=[Metadata(key="voiceId", value="VOICE_ID_PLACEHOLDER")],
),
)
response = connection_config.assistant_deployment_client.CreateAssistantPhoneDeployment(
CreateAssistantDeploymentRequest(phone=deployment),
metadata=connection_config.auth,
)
pprint(response)
package main
import (
"context"
"fmt"
"os"
"google.golang.org/protobuf/proto"
clients "github.com/rapidaai/rapida-go/rapida/clients"
connections "github.com/rapidaai/rapida-go/rapida/connections"
protos "github.com/rapidaai/rapida-go/protos"
)
func main() {
connectionConfig := connections.DefaultconnectionConfig(
connections.WithPersonalToken(
os.Getenv("RAPIDA_AUTHORIZATION"),
os.Getenv("RAPIDA_AUTH_ID"),
os.Getenv("RAPIDA_PROJECT_ID"),
),
)
response, err := clients.CreateAssistantPhoneDeployment(
context.Background(),
connectionConfig,
&protos.CreateAssistantDeploymentRequest{
Deployment: &protos.CreateAssistantDeploymentRequest_Phone{
Phone: &protos.AssistantPhoneDeployment{
AssistantId: 2227823180112723968,
Greeting: proto.String("Hi, how can I help you today?"),
GreetingInterruptible: proto.Bool(false),
Mistake: proto.String("Sorry, I did not understand that."),
IdealTimeout: 30,
IdealTimeoutBackoff: 2,
IdealTimeoutMessage: "Are you still there?",
MaxSessionDuration: 300,
PhoneProviderName: "twilio",
PhoneOptions: []*protos.Metadata{{
Key: "phoneNumber",
Value: "+14155550100",
}},
InputAudio: &protos.DeploymentAudioProvider{
AudioProvider: "deepgram",
AudioType: "stt",
AudioOptions: []*protos.Metadata{{
Key: "model",
Value: "nova-3",
}},
},
OutputAudio: &protos.DeploymentAudioProvider{
AudioProvider: "elevenlabs",
AudioType: "tts",
AudioOptions: []*protos.Metadata{{
Key: "voiceId",
Value: "VOICE_ID_PLACEHOLDER",
}},
},
},
},
},
)
if err != nil {
fmt.Printf("error while creating deployment: %+v\n", err)
return
}
fmt.Printf("create deployment response: %+v\n", response)
}
Response
Numeric status code for the operation.
Indicates whether the operation was successful.
Created phone deployment.
Show child attributes
Show child attributes
Unique identifier for the deployment.
Assistant ID for the deployment.
Telephony provider name.
Provider-specific phone options.
First message for the session.
Controls whether users can interrupt the opening greeting in audio sessions.
Message used when the assistant cannot understand or handle input.
Speech-to-text provider configuration.
Text-to-speech provider configuration.
Current deployment status.
Idle timeout in seconds.
Number of idle-timeout retries.
Message sent on idle timeout.
Maximum session duration in seconds.
Errors
| Code | Meaning |
|---|---|
1005001 | Invalid request. |
1005002 | Unauthenticated request. |
1005003 | Missing authentication scope. |
1005004 | Invalid assistantId. |
1005005 | Unable to create assistant phone deployment. |
1005006 | Invalid audioProvider. |
1005007 | idealTimeout must be between 15 and 120 seconds. |
1005008 | idealTimeoutBackoff must be between 0 and 5 times. |
1005009 | maxSessionDuration must be between 180 and 600 seconds. |
1005010 | Missing phoneProviderName. |