type field that identifies what it contains, a payload with the relevant data, and a time value recording when that trace was generated as a Unix timestamp. The time field can be useful for debugging: steps like message generation may take noticeably longer than simple text steps, and the timestamps make that visible.
Trace types
text
Returned by the Message step, Playbooks, and no-match and no-reply reprompts.message field contains the plain text content. The slate field contains the same content in a structured rich-text format. delay controls the pause in milliseconds before the next trace is rendered, defaulting to 1000ms.
cardV2
Returned by the Card step. When a card contains buttons, each button’srequest.type is a Voiceflow-generated path ID. Pass that value as the action.type in your next request to advance the conversation along the corresponding path.
carousel
Returned by the Carousel step. The same button handling applies as withcardV2 - pass the button’s request.type as the action.type in your next request.
choice
Returned by the Condition step and Playbooks or the Agent when the buttons system tool is enabled. How you handle a choice trace depends on what’s in each button’srequest.type.
Path buttons
When buttons are connected to specific paths in your workflow,request.type is a Voiceflow-generated path ID. Pass it directly as action.type in your next request. The label field is optional - if included, its value is set as the last_utterance variable.
Agent-generated buttons
When the buttons system tool is enabled on Playbook or on the Agent, the agent may dynamically generate buttons. These userequest.type: "text" and simulate raw user input rather than triggering a specific path:
no-reply
Returned when a No Reply timeout is active. Thetimeout value is in seconds.
no-reply action to retrieve the configured reprompt:
Additional trace types
Every remainingtype value in the runtime schema. Field tables are projected from the spec. Some payloads have several shapes, distinguished by a field such as state; where they do, the table says under which condition each field appears, and marks a field required only when every shape requires it.
audio
An audio response event. The payload’s state field selects the shape: start announces a messageID, content carries the audio in content with its encoding, and end carries the state alone.
block
Marks the conversation entering a block, identified by its block ID.
call-forward
Signals that the call is being forwarded. The payload always carries the destination in address and its kind in addressType; a phone forward may also carry an extension and a callerIDPassthrough flag. See the call forward step for configuration.
channel-action
A channel-specific action, named by the channel integration, with an action-defined payload.
completion
Marks a model completion event during the turn. Streaming clients receive the completion lifecycle described under completion event traces.
debug
Debug output for the turn, with a message and optional level, context, and metadata. Surfaced in agent logs rather than to end users.
dtmf
Configures keypad (DTMF) input collection on a call: whether it is enabled, the timeout, the ending delimiter, and the digit cap.
entity-filling
Requests a value for a named entity, wrapping the intent request being filled.
flow
Marks the conversation entering a flow, identified by its diagram ID.
goto
Instructs the client to re-send the wrapped request on the next turn.
knowledgeBase
Reports a knowledge base retrieval: the chunks returned and the query that produced them.
live-agent-handoff
Signals a handoff of the conversation to a live agent platform. Every shape of the payload carries conversationID, message, and event; the remaining fields vary by shape, and some carry a provider naming the platform.
This payload has 4 shapes; a field is listed once, and marked required only when every shape both has and requires it.
log
Diagnostic log output attached to the turn. The payload is always present and is a free-form object: the spec declares no named fields on it and permits any.
path
Reports which path the conversation took out of a step.
realtime-agent
Marks realtime agent activity on the turn. The payload’s action field selects the shape: START carries input and output, while END and INTERRUPTED carry the action alone.
reasoning
Marks model reasoning activity during the turn. The payload’s state field selects the shape: content carries a content string, final carries a message, and start and end carry the state alone.
speak
A spoken response for voice channels, carrying the message text and optionally a synthesized audio source and voice name.
stream
An audio stream event. The payload carries the source in src, a token, and an action of LOOP, PLAY, PAUSE, or END; title, description, iconImage, backgroundImage, and loop are optional.
tool-call
Marks a tool call made by the agent during the turn. The payload always carries the callID and a state of start or end; a start may also carry a sound.
visual
Displays an image, with optional device sizing and layout options.
Custom actions
Custom action traces can be returned by functions and use the string you defined in Voiceflow as thetype value. The defaultPath field indicates which path is set as the default: 0 for the first path, 1 for the second, and so on. Their payload is provided as JSON, as shown:
end
Returned when the conversation reaches an End step. On receiving this trace, your application should treat the session as closed.Completion event traces
When using the streaming endpoint, you may also encountercompletion traces. A single completion type marks the lifecycle of an AI generation event within a stream: the payload’s state field moves through start, content, and end. See Completion events for the full stream format.