Phone deployments require a telephony provider (Twilio, Vonage, Exotel, Asterisk, or SIP) with valid credentials configured in your credential vault.
Deployment channels
| Channel | Direction | Protocol |
|---|---|---|
| Twilio | Inbound + Outbound | WebSocket media streams |
| Vonage | Inbound + Outbound | WebSocket audio streaming |
| Exotel | Inbound + Outbound | Cloud telephony (India & SEA) |
| Asterisk | Inbound + Outbound | AudioSocket + WebSocket |
| SIP Trunk | Inbound + Outbound | Direct SIP (RFC 3261) |
Creating a Phone Deployment
Navigate to your assistant, click Configure Assistant, then select Deployments from the sidebar. Click Add Deployment and choose Phone Call. The phone deployment wizard walks you through four steps:Telephony
Select and configure your telephony provider for inbound and outbound calls.Required fields:
- Provider — Choose from Twilio, Vonage, Exotel, Asterisk, or SIP
- Credentials — Select stored credentials from your vault for the chosen provider
- Phone Number — The phone number associated with this deployment (for outbound caller ID and inbound routing)
General Experience
Define how the assistant greets callers and handles session lifecycle.Required fields:
- Greeting — The opening message spoken when a call connects. Supports
{{variable}}syntax for dynamic content (e.g.,Hello {{name}}, how can I help you?)
- Error Message — Fallback message spoken when an unexpected error occurs mid-call
- Idle Silence Timeout — Duration of caller silence before Rapida prompts them (15-120 seconds, default: 30s)
- Idle Timeout Backoff — How many times the idle timeout multiplies before ending the session (0-5, default: 2)
- Idle Message — Message spoken when the caller hasn’t responded (default: “Are you there?”)
- Maximum Session Duration — Hard limit before the call is automatically ended (180-600 seconds, default: 300s)
Voice Input (Speech-to-Text)
Configure how caller audio is transcribed into text for the LLM.Required fields:
- STT Provider — Deepgram, AssemblyAI, Google, Azure, OpenAI Whisper, AWS Transcribe, Cartesia, Rev.ai, Speechmatics, Sarvam, Groq, or Nvidia
- Model — Provider-specific model (e.g., Nova-3 for Deepgram)
- Language — Primary transcription language
- Encoding — Audio encoding format. Use Mulaw for Twilio, PCM for most other providers
- Sample Rate — Audio sample rate (typically 8000 Hz for telephony)
- VAD Provider — Silero VAD (default) for detecting when the caller starts and stops speaking
- VAD Threshold — Sensitivity threshold (0.0-1.0, default: 0.8). Higher values require more confident speech detection
- Noise Cancellation Provider — RNNoise (default). Removes background audio before transcription for improved accuracy
- EOS Provider — Silence-based EOS (default). Determines when the caller has finished their turn
- EOS Timeout — Duration of silence that signals turn completion (default: 1000ms). Lower values make the assistant more responsive; higher values accommodate natural pauses
The EOS timeout is the primary control for perceived latency. For IVR-style interactions, try 700ms. For conversational use cases where callers pause mid-thought, try 1200-1500ms.
Voice Output (Text-to-Speech)
Configure how assistant text responses are converted to speech audio.Required fields:
- TTS Provider — ElevenLabs, Deepgram, Azure, Google, OpenAI, AWS Polly, Cartesia, Resemble, Rime, Sarvam, Neuphonic, MiniMax, Groq, Speechmatics, or Nvidia
- Model — Provider-specific model (e.g., Sonic-2 for Cartesia)
- Language — Output speech language
- Voice ID — The specific voice to use from your TTS provider
- Encoding — Audio encoding. Use PCM Mulaw for Twilio
- Sample Rate — Output sample rate
- Pronunciation Dictionaries — Custom pronunciation rules for domain-specific terms, names, acronyms, and technical jargon
- Conjunction Boundaries — Conjunctions treated as valid boundaries for adding natural pauses before delivering to the voice provider
- Pause Duration — Length of pause at conjunction boundaries (100-300ms, default: 240ms)
Configuring Inbound Calls
After deploying, you need to point your telephony provider’s webhook to Rapida so incoming calls reach your assistant.Twilio
- Log in to Twilio Console
- Navigate to Phone Numbers > Manage > Active numbers
- Select the phone number linked to this deployment
- Under Voice & Fax, set A CALL COMES IN to Webhook
- Enter the webhook URL:
- Set the HTTP method to POST and click Save
Vonage, Exotel, Asterisk, SIP
Each provider has a specific webhook format. See the integration guides:Triggering Outbound Calls
Use the Rapida SDK or REST API to programmatically initiate outbound calls:Create Call API
Trigger a single outbound call to a phone number with your assistant.
Bulk Call API
Launch outbound dialing campaigns to multiple numbers in parallel.
Related
- Create an Assistant — Set up your assistant before deploying
- Twilio Integration — Detailed Twilio setup guide
- Conversation Logs — Monitor call transcripts and metrics
- Webhooks — Receive post-call events