platform'slack' | 'teams' | 'web' required
A supported chat platform.
Values align with integration_instances.type so a chat install's
platform and its integration row stay in lockstep.
channel_idstring required
message_idstring required
integration_idstring nullable required
thread_idstring nullable required
sent_atstring date-time required
edited_atstring date-time nullable required
user_idstring nullable required
sender_idstring nullable required
sender_type'user' | 'bot' | 'system' required
Normalized author class for a stored chat message, across platforms.
Lets consumers query "who authored this" without inspecting platform-specific
fields (Slack bot_id / subtype, Teams from.application):
- user: a human participant.
- bot: an application/bot account (Slack bot_message / bot_id;
Teams from.application).
- system: a platform-generated event message (channel joins/leaves, topic
changes, Teams systemEventMessage).
messagestring nullable required
rich_contentobject nullable required
reactionsobject[] required
subtypestring nullable required
permalinkstring nullable required
rawobject nullable required
created_atstring date-time required
last_updated_atstring date-time required
deleted_atstring date-time nullable required
channel_namestring nullable required
channel_type'public' | 'private' | 'group_chat' | 'personal' | 'dm' | 'external' required
Normalized channel classification across platforms.
The distinctions matter for routing and permissions:
- public: a channel anyone in the workspace/tenant can join.
- private: an invite-only channel with multiple members — not a 1:1.
- group_chat: an ad-hoc multi-person chat not backed by a channel
(Slack multi-person DM / Teams group chat).
- dm: a 1:1 between a user and the bot (Slack IM, Teams
conversationType: personal). Human-to-human DMs are not delivered to
the bot on either platform.
- personal: Traversal-owned private chat (the web private-chat worker)
and similar app-owned 1:1 surfaces that are not a chat-platform IM.
- external: a channel shared across orgs (Slack Connect / Teams shared
channel).
body_markdownstring nullable required
body_contentstring nullable required
body_content_type'html' | 'text' nullable required
attachmentsobject[] required
is_dmboolean nullable required
is_privateboolean nullable required
user_id_to_display_nameobject required
user_id_to_profile_photo_urlobject required
channel_id_to_display_nameobject required