Channel plugins should model receive paths with inbound and message nouns:Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw/plugin-sdk/channel-inbound for inbound event normalization,
formatting, roots, and orchestration. Use
openclaw/plugin-sdk/channel-outbound for native
send, receipt, durable delivery, and live preview behavior.
Core Helpers
buildChannelInboundEventContext(...): project normalized channel facts into the prompt/session context.runChannelInboundEvent(...): run ingest, classify, preflight, resolve, record, dispatch, and finalize for one inbound platform event.dispatchChannelInboundReply(...): record and dispatch an already assembled inbound reply with a delivery adapter.
runtime.channel.inbound.* for bundled/native channels that already receive the
runtime object.
dispatchChannelInboundReply(...)
inputs and keep platform delivery in the delivery adapter. New send paths should
prefer message adapters and durable message helpers.
Migration
The oldruntime.channel.turn.* runtime aliases were removed. Use:
runtime.channel.inbound.run(...)for raw inbound events.runtime.channel.inbound.dispatchReply(...)for assembled reply contexts.runtime.channel.inbound.buildContext(...)for inbound context payloads.runtime.channel.inbound.runPreparedReply(...)only for channel-owned prepared dispatch paths that already assemble their own dispatch closure.
turn-named channel APIs. Keep model or
agent turn vocabulary inside agent/provider code; channel plugins use inbound,
message, delivery, and reply terms.