Skip to main content
Steer appends a user message to a session. Message envelopes are channel-agnostic, so API input and channel input use the same shape. Outbound delivery has its own page: Webhooks.

Steer (inbound)

Send a message to a running or idle session; it wakes and continues with its prior context. Minimal form is just text:
Pass idempotency_key so retries (flaky network, double-click) are de-duplicated — applied at most once per session, so the same key is safe to reuse across different sessions.

Message input

Steer with { text, idempotency_key? }, or a fuller envelope when you need a source or a threading anchor:
These fields don’t all land in one place — the appended event splits them: So a *.message event’s body is just { text, raw? }source/conversation/refs live under the event’s top-level refs, and the sender under actor (not inside body). Outbound agent.message bodies are likewise { text }. To deliver a session’s output, register a webhook destination. Deliveries carry the full Event; see Webhooks. The same envelope also underpins Channels in Labs.