Notifications
Voice
Explains Voice notifications for controlling a live voice call from a Stubber action. Useful for steering the assistant, muting the caller, and hanging up.
A voice notification sends a command to the stub's live voice call. The call is started with the Start Voice Chat task, and reports back to the stub with the _update_from_voice feedback action.
Voice notifications don't need send_to: the command always goes to the stub's own call.
Every command is also available as a task, eg Voice Commentary.
Basic usage
Answer a request the assistant handed to the stub, eg on the action that receives the GPT Chat Task's answer:
Common parameters
Everything inside platforms.voice is a parameter for this notification. Handlebars and ~~ work in every parameter.
command required string
One of the commands below.
voice_session_uuid optional string
The voice call to send the command to. It must belong to this stub.
Default: the stub's live voice call
When the stub has no live voice call, or the call is already ending, the command fails and nothing happens on the call.
Commands
instructions
Instructions that steer the assistant. These may interrupt what it is saying.
command required string
instructions
content required string
The instructions for the assistant. Long content is split into several parts automatically.
delegation_id optional string
Ties the content to a request the assistant handed to the stub. Use the delegation_id from the _update_from_voice that asked for it, eg {{stub.data._incoming_voice_data.delegation_id}}.
Without it, or when the id is empty or unknown, the content is context for the whole call.
thinking
Silent context the assistant can use later in the call. Nothing is said aloud.
command required string
thinking
content required string
The context to give the assistant. Long content is split into several parts automatically.
delegation_id optional string
Ties the content to a request the assistant handed to the stub. Use the delegation_id from the _update_from_voice that asked for it, eg {{stub.data._incoming_voice_data.delegation_id}}.
Without it, or when the id is empty or unknown, the content is context for the whole call.
commentary
Something for the assistant to say aloud, close to word for word. Commentary is the usual way to answer a request the assistant handed to the stub.
command required string
commentary
content required string
What the assistant should say. Long content is split into several parts automatically.
delegation_id optional string
Ties the content to a request the assistant handed to the stub. Use the delegation_id from the _update_from_voice that asked for it, eg {{stub.data._incoming_voice_data.delegation_id}}.
Without it, or when the id is empty or unknown, the content is context for the whole call.
mute
Mutes the caller, so the assistant stops hearing them. The call stays up and the assistant can still speak.
command required string
mute
unmute
Unmutes the caller.
command required string
unmute
hangup
Ends the call once the assistant has finished speaking, or after 15 seconds at most. If the caller hasn't joined yet, the call ends straight away.
The stub gets a final _update_from_voice with event: "session_ended" once the call has ended.
command required string
hangup
content optional string
Instructions for the assistant before the call ends, eg "Say goodbye briefly."