Sending a response
Every reply your agent sends is an AgentResponse carrying exactly one payload variant.
Node
Python
AgentResponse
AgentResponse payload variants
Streaming text content
Node
Python
ContentChunk
ContentChunk.type lifecycle
MessageOptions
ResponseAttachment (set exactly one variant)
Formatting
Write content in standard Markdown. The web chat renders it, and the Slack adapter posts it to Slack as a native markdown block, so one reply renders the same in both. Don’t use Slack mrkdwn in content: the web chat shows <url|label> as raw text and renders *bold* as italic.
Slack mrkdwn belongs only inside Block Kit JSON in a card attachment, as in the Slack example.
Status updates
Node
Python
StatusUpdate
StatusUpdate.status values: THINKING, SEARCHING, GENERATING, PROCESSING, ANALYZING, CUSTOM.
Suggested prompts
Node
Python
SuggestedPrompts
Prompt
Errors
Node
Python
ErrorResponse
ErrorResponse.code values: RATE_LIMIT, CONTEXT_TOO_LONG, INVALID_REQUEST, AGENT_ERROR, TOOL_ERROR, PLATFORM_ERROR.
Thread metadata
Node
Python
ThreadMetadata
Transcript
Sent after STT to replace the “[audio]” placeholder on the platform.
Node
Python
Transcript
Next steps
- Trace context: correlate a response back to its trace
- Audio: the STT flow that produces a
Transcript - Worked examples: these pieces assembled into an agent