Before creating an assistant, set up credentials for your LLM, STT, and TTS providers in Integration → Vault. The creation wizard will ask you to select a provider — credentials must exist first.
Create your first assistant
1
Navigate to Assistants

2
Select your LLM provider and model

3
Write your system prompt

{{variable}} syntax to inject dynamic values at runtime — caller name, account ID, or any context passed when a call is initiated.4
Add tools (optional)

5
Name and create

v1 in draft state. Configure voice, deployments, and advanced settings before going live.A newly created assistant has no deployment attached. It will not handle live calls or web sessions until you configure at least one deployment under Configure assistant → Deployments.
Next best steps
Prompt templating
Add runtime variables (
{{ args.* }}, {{ message.* }}, {{ system.* }}) so one prompt works across many customer contexts.Create new version
Make changes safely in draft, test, and release explicitly without impacting live traffic.
Configure your assistant
After creation, open Configure assistant from the top-right of the assistant page. Configuration is organized into six areas:Prompt & Model
System prompt, model selection, temperature, token limits, and advanced LLM parameters.
Configuration
Experience, Listen, and Speak settings for runtime behavior, speech input, and spoken output.
Knowledge & Retrieval
Attach knowledge bases, set retrieval method (hybrid, semantic, text), top-K, score threshold, and reranking.
Tools
Knowledge retrieval, API request, endpoint invocation, call transfer, call hold, and end-of-conversation tool types.
Deployments
Phone, web widget, web app, WhatsApp, and API deployment channels — each with its own voice and experience settings.
Webhooks & Analysis
Post-call webhooks to downstream systems and analysis pipelines for conversation scoring and custom metrics.
Prompt and model
The prompt and model configuration defines what your assistant knows, how it reasons, and how it generates responses.System prompt
The system prompt is your primary control surface. It sets the assistant’s persona, scope of knowledge, constraints, and tone. Well-written prompts are the single biggest lever for assistant quality. Dynamic variables — inject runtime context into your prompt using{{variable_name}} syntax. Variables are automatically detected from your prompt and can be populated via the SDK when initiating a call:
LLM model parameters
OpenAI / Azure OpenAI parameters
OpenAI / Azure OpenAI parameters
Anthropic parameters
Anthropic parameters
AgentKit — custom LLM backend
AgentKit — custom LLM backend
AgentKit replaces the built-in LLM with your own gRPC server. Rapida streams user speech transcripts to your server and synthesizes your text responses to audio in real time.
Your server receives a bidirectional
Talk stream. Rapida handles all audio — VAD, STT, TTS, telephony. Your server only handles text in / text out.See the AgentKit guide for implementation examples with LangChain, CrewAI, and Anthropic Claude.Runtime model overrides
Outbound phone calls can override model provider options for a single conversation throughCreatePhoneCallRequest.options. Pass the same option keys used by the assistant provider model, plus the connection keys below when you need to route a call to a different credential or model endpoint.
Configuration
Configuration controls the runtime behavior of each deployment: how a session starts, how user audio is captured and transcribed, and how assistant responses are spoken back. These settings directly affect latency, accuracy, and caller experience.Listen — STT, VAD, EOS, and noise processing
STT providers: Deepgram, AssemblyAI, Azure Cognitive Speech, Google Speech, OpenAI Whisper, Cartesia, Sarvam AI
Voice Activity Detection (VAD) — determines when the caller is speaking. Three providers available: Silero VAD (default, best general-purpose), TEN VAD (lowest latency), and FireRed VAD (best noise robustness). See Voice Activity Detection for provider details, parameters, and tuning guidance.
End of Speech (EOS) — determines when the caller has finished their turn. Three providers available: Silence-Based (default, simple fixed timeout), Pipecat Smart Turn (audio model, catches prosodic cues), and LiveKit Turn Detector (language model with conversation history). See End of Speech Detection for provider details, parameters, and tuning guidance.
EOS is the most impactful latency lever after model selection. With Silence-Based EOS at 700ms, the assistant waits 0.7 seconds of silence before responding. Model-based providers (Pipecat, LiveKit) can reduce this wait by detecting turn completion before the full silence timeout expires — the assistant responds faster while cutting off callers less often.
Speak — TTS and pronunciation
TTS providers: ElevenLabs, Cartesia, Deepgram Aura, OpenAI TTS, Azure Speech, Google Cloud TTS, PlayHT, Sarvam AIKnowledge and retrieval
Attach one or more knowledge bases to give your assistant access to documents, FAQs, product data, or any content indexed in Rapida.
See Create a Knowledge Base for document ingestion, connector setup, and embedding model configuration.
Tools
Tools extend what your assistant can do mid-conversation without breaking the voice flow. The LLM decides when to call a tool based on its description — write clear, specific descriptions.Knowledge Retrieval
Query a Rapida knowledge base in real time. Returns the most relevant document chunks to the LLM as context.
API Request
Call any external HTTP endpoint mid-conversation — CRM lookups, inventory checks, booking APIs. Define the request schema and the LLM populates the parameters from conversation context.
Endpoint (LLM Call)
Invoke a Rapida endpoint — a separately configured LLM prompt — for specialised sub-tasks: classification, extraction, or complex reasoning offloaded from the main conversation model.
Transfer Call
Hand an active phone call to a human agent, queue, department number, or SIP endpoint when the assistant should escalate the conversation.
Put On Hold
Pause the call and play hold music while a backend process completes — useful when a lookup or action takes longer than a voice turn allows.
End of Conversation
Terminate the call programmatically when the assistant determines the conversation objective has been met.
Tool names must use only letters, numbers, and underscores (no spaces). The description is passed directly to the LLM — it determines when and whether the tool is called. Be specific: “Search the product knowledge base for pricing information” outperforms “Search knowledge base”.
Conversation experience
These settings control the runtime behaviour of a live session — what happens when the caller goes silent, how long sessions last, and what the assistant says at the start of a call.Webhooks and post-call analysis
Webhooks fire for call lifecycle events such ascall.received, call.ringing, call.started, call.hangup, call.ended, call.failed, and call.cancelled; WebRTC media events such as webrtc.connected, webrtc.audio_track_received, webrtc.reconnecting, webrtc.failed, and webrtc.disconnected; and conversation lifecycle events such as conversation.begin, conversation.resume, conversation.completed, and conversation.error. Completed conversation webhooks include transcripts, metadata, metrics, and any successful post-call analysis output.
Analysis pipelines run before the conversation.completed webhook is recorded. They invoke a configured Rapida endpoint — typically an LLM prompt — against the conversation transcript to produce structured output: sentiment scores, intent labels, CSAT predictions, compliance flags, or any custom metric. Successful analysis output is added to webhook metadata as analysis.<analysis_name>.
See Webhooks and Analysis for full configuration details.
Version control
Every change to your assistant’s prompt, model, or parameters creates a new version. Versions let you safely iterate without affecting live traffic.
This model lets you run A/B tests, stage changes in a debugger deployment before pushing to phone, and maintain a full audit trail of every prompt change — who made it, when, and why.
Next steps
Set up a phone deployment
Connect a telephony provider and go live with inbound and outbound calling.
Add a knowledge base
Index documents, wikis, and data sources for retrieval during calls.
Configure webhooks
Stream call events and transcripts to external systems in real time.
Build a custom LLM backend
Use AgentKit to plug your own reasoning engine into Rapida’s audio pipeline.