1. Notifications
  2. Voice

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:

loading...

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."