Interface ChannelMessage

Inbound message received from an external platform.

interface ChannelMessage {
    messageId: string;
    platform: ChannelPlatform;
    conversationId: string;
    conversationType: ConversationType;
    sender: RemoteUser;
    content: MessageContentBlock[];
    text: string;
    timestamp: string;
    replyToMessageId?: string;
    mentions?: string[];
    supportsMentions?: boolean;
    rawEvent?: unknown;
}

Properties

messageId: string

Unique message ID assigned by the platform.

platform: ChannelPlatform

Platform this message came from.

conversationId: string

Conversation/chat ID.

conversationType: ConversationType

Conversation type.

sender: RemoteUser

Who sent the message.

Message content.

text: string

Raw text representation (convenience — extracted from content blocks).

timestamp: string

ISO timestamp from the platform.

replyToMessageId?: string

Message being replied to, if this is a reply.

mentions?: string[]

Platform-native user IDs mentioned in this message, when the adapter can extract them (used by GroupPolicy mention gating). Adapters that cannot detect mentions leave this undefined and SHOULD NOT set supportsMentions.

supportsMentions?: boolean

Set true by adapters that reliably populate mentions.

rawEvent?: unknown

Platform-specific raw data (for adapters that need pass-through).