Docsvoxioagent 2.0.0

Build your agent

AI reply

The AI answers out loud, word by word, so the caller hears it sooner. Best for normal chat.

Type: llm-streaming.

What it does

  1. Builds the AI's instructions from the prompt template, your system_prompt, and the shape of the reply.
  2. Adds this turn's input (each name in input_variables with its value) to the step's memory (history_key).
  3. Streams the reply. The pipeline speaks speak as the words arrive, ends the call after speaking if the reply sets hangup, and uses interruption_type if the reply includes one.
  4. Saves the exchange to memory. The reply's fields are not saved to the call's state.

Settings

Everything goes in the step's parameters. In the editor, click the step to open its settings.

system_promptstring
In the editor: Instructions. Tell the agent who it is, what to do and how to talk. Default: "".
modelstring
In the editor: Model. Which AI writes the reply. The provider comes with it. Default: "openai/gpt-oss-120b".
llm_return_type{ name: { type, description } }
In the editor: What it decides (More tab). Things the AI fills in every turn. The spoken reply is what the caller hears; the rest goes to your webhook.
interruption_typestring
In the editor: If the caller interrupts. What happens when the caller talks over the agent. Default: "full".
input_variables{ name: { type, description } }
In the editor: What it reads (More tab). Information from earlier steps the AI can use.
history_keystring
In the editor: Shared memory (More tab). Steps with the same name here remember the same conversation. Default: "conversation_history".
summariserboolean
In the editor: Summarise long calls (More tab). Keeps long conversations quick by summarising older turns.
stream_timeoutnumber (seconds)
In the editor: Give up after (More tab). When two AI replies race, drop this one if it takes longer than this.
interruption_typestring
What happens if the caller talks while this is being said. See Interruptions. Default "full".
interruption_metadataobject
Numbers for the timed and length-based interruption types: duration (seconds), length (words), ignore-words.
interruption_type_keystring
Read the interruption type from this value in the state instead, so an earlier step can decide it.
interruption_metadata_keystring
The same, for the interruption numbers.
prompt_templatestring
Built-in instructions to start from. See Prompt templates. Default "base_llm".
summariser_configobject
Tune summariser. See Memory.

Examples

A chatty receptionist

The usual conversational step:

{
"type": "llm-streaming",
"parameters": {
"system_prompt": "You are the receptionist at Sunrise Dental. Be warm and brief.",
"service": "groq",
"model": "openai/gpt-oss-120b",
"input_variables": {
"user_input": {
"type": "str",
"description": "What the caller said."
}
},
"llm_return_type": {
"speak": {
"type": "str",
"description": "What to say."
},
"hangup": {
"type": "bool",
"description": "True to end the call."
}
},
"history_key": "conversation_history"
},
"next": "ask_for_input"
}

Next steps