Case 1: thread broadcast (also sent to channel) - shows up as a separate message in the channel.history response, and thread_ts is equivalent to parent message ts. Also has is_thread_broadcast set to true in the message object
Case 2: thread replies - show up as replies in the parent message object, but without the reply text - retrieving them is a separate API call
Receiving threaded messages:
channel.history
response, andthread_ts
is equivalent to parent messagets
. Also hasis_thread_broadcast
set to true in the message objectreplies
in the parent message object, but without the reply text - retrieving them is a separate API callhttps://api.slack.com/docs/message-threading#finding_message_threads_in_the_wild
Sending threads: haven't investigated, but the same link has a section on this