OptionalidOptionalsttOptionalttsTTS configuration. Optional — can be set at the application level.
OptionalturnTurn detection strategy. String shorthand ('stt' or 'krisp') or object with tunable params.
OptionalbargeBarge-in configuration — controls user interruption of assistant speech.
Optionalenable?: booleanOptionalstrategy?: "vad" | "interruptPrediction"How interruptions are detected. 'vad' (default): speech onset tentatively interrupts the assistant and is confirmed after minSpeechDuration of sustained speech, otherwise the assistant resumes. 'interruptPrediction': an ML model scores whether caller speech is a genuine interruption attempt vs backchannel (e.g. 'uh-huh'), so the assistant is never tentatively paused and backchannel does not cut it off; requires a provisioned vendor API key.
Optionalvendor?: stringDetection vendor for strategy 'interruptPrediction'; defaults to 'krisp' (currently the only option). Not used with strategy 'vad'.
Optionalthreshold?: numberProbability threshold for interruptPrediction (0-1). Higher values require stronger evidence before interrupting the assistant. Default: 0.5.
OptionalminSpeechDuration?: numberOptionalsticky?: booleanOptionalllmLLM configuration. Optional: when omitted, the agent uses the application's default LLM (like stt/tts).
OptionalactionWebhook when agent ends.
OptionaleventWebhook for agent events.
OptionaltoolWebhook when the LLM requests a tool/function call.
OptionalhandoffDeclarative transfer-to-human: injects a transfer tool and runs the packaged transfer when the model calls it.
OptionalhangupEnable the built-in hangup tool. When present, the runtime injects a 'hangup' tool; when the model calls it the call ends with the reason placed in an X-Reason SIP header (LLM-supplied reason wins, falling back to hangup.reason).
OptionaltoolConfiguration for playing filler audio while tool calls are in progress. Prevents silence during long-running tool executions.
Filler mode. 'audio' plays a looping audio file. 'backchannel' uses TTS to speak short phrases.
OptionalstartDelaySecs?: numberSeconds to wait after tool invocation before playing filler. Default: 2.
Optionalurl?: stringAudio file URL (for type='audio'). Should be loopable.
Optionalstyle?: stringFree-form style hint for LLM-generated phrases (for type='backchannel').
OptionalescalationSecs?: numberSeconds from tool invocation before generating a longer explanatory response (for type='backchannel'). Default: 10.
OptionalgreetingWhether the LLM generates an initial greeting before the user speaks. Default: true.
OptionalearlySpeculatively prompt the LLM on final transcript before Krisp end-of-turn. Default: false.
OptionalnoiseEnable server-side noise isolation to reduce background noise on call audio. Defaults to inbound (caller) audio; set direction to 'write' for outbound.
OptionalmcpExternal MCP servers that provide tools to the LLM.
OptionalnoSeconds to wait after assistant finishes speaking before prompting user to respond. 0 disables. Default: 0.
OptionalautoAuto-adjust STT/TTS based on detected language. true=lock on first, 'always'=adapt every turn.
OptionallanguagePer-language TTS overrides. Keys are BCP-47 codes (e.g., 'es', 'fr').
STT configuration. Optional — can be set at the application level.