Skip to main content

Channel object

A channel object is a legacy object that contains information about a workspace channel. These channel objects are not the same object type as private channels, which are considered group objects. Channels and groups are now considered a type of conversation.

Channel object fields

FieldTypeDescription
accepted_useruser_idThe user ID of the user who accepted a shared channel invite.
connected_team_idsArray of team_idTeam IDs of external workspaces connected via Slack Connect.
context_team_idteam_idThe workspace or enterprise ID that provides the context for this channel object. Required field.
createdUnix timestampTimestamp of when the channel was created.
creatorStringThe user ID of the member that created the channel.
enterprise_identerprise_idThe Enterprise org ID this channel belongs to.
frozen_reasonStringReason the channel was frozen (e.g. Slack Connect disconnection).
idStringThe channel ID.
internal_team_idsArray of workspace_idWorkspace IDs of internal (home-org) workspaces connected to this channel.
is_archivedBooleantrue if the channel is archived.
is_channelBooleanIndicates if it is a channel.
is_frozenBooleanWhether the channel is frozen (e.g. a disconnected Slack Connect channel becomes a read-only frozen copy on the away-team side).
is_generalBooleantrue if this channel is the "general" channel that includes all regular members. In most workspaces this is called #general, but some workspaces have renamed it.
is_global_sharedBooleanWhether the channel is shared across an entire Enterprise Grid org.
is_memberBooleantrue if the calling member is part of the channel.
is_movedIntegerIndicates whether the channel has been moved; non-zero when a move has occurred.
is_mpimBooleanIndicates if the channel is a multi-party instant message.
is_non_threadableBooleanWhether threading is disabled in the channel; messages cannot have thread replies.
is_org_defaultBooleanWhether the channel is a default org-wide channel (all new members are auto-added).
is_org_mandatoryBooleanWhether membership in the channel is mandatory (members cannot leave).
is_org_sharedBooleanIndicates if the organization which the channel belongs to is shared.
is_pending_ext_sharedBooleanWhether the channel is pending an external/Slack Connect share (invite sent but not yet accepted).
is_privateBooleanIndicates if the channel is private.
is_read_onlyBooleanWhether the channel is read-only; members cannot post messages.
is_sharedBooleantrue if the channel is shared.
is_starredBooleanWhether the user has starred this channel.
is_thread_onlyBooleanWhether the channel is thread-only; new messages can only be posted as thread replies.
last_readUnix timestampThe timestamp for the last message the calling user has read in this channel.
latestObjectThe latest message in the channel.
membersArrayA list of user IDs for all users in this channel. This includes any disabled accounts that were in this channel when they were disabled.
nameStringIndicates the name of the channel-like thing, without a leading hash sign. Don't get too attached to that name. It might change. Don't even bother storing it. When thinking about channel-like things, think about their IDs, their type, and the team/workspace they belong to.
name_normalizedStringA normalized string of the name.
num_membersIntegerNumber of members in the channel.
pending_sharedArray of workspace_idWorkspace IDs for workspaces that have a pending share invitation to this channel.
previous_namesArrayA list of prior names the channel has used.
priorityNumberSort priority of the channel in the user's sidebar.
propertiesObjectAdditional channel properties.
purposeObjectThe purpose of the channel.
retention_durationIntegerCustom message retention duration for the channel, in days.
shared_team_idsArray of workspace_idWorkspace IDs of all workspaces that are part of this shared channel.
topicObjectThe topic of the channel.
unlinkedIntegerWhether channel was ever shared/disconnected.
unread_countIntegerA full count of visible messages that the calling user has yet to read.
unread_count_displayIntegerA count of messages that the calling user has yet to read that matter to them (this means it excludes things like join/leave messages).

Example

{
"channel": {
"id": "C1H9RESGL",
"name": "busting",
"is_channel": true,
"created": 1466025154,
"creator": "U0G9QF9C6",
"is_archived": false,
"is_general": false,
"name_normalized": "busting",
"is_shared": false,
"is_org_shared": false,
"is_member": true,
"is_private": false,
"is_mpim": false,
"last_read": "1503435939.000101",
"latest": {
"text": "Containment unit is 98% full",
"username": "ecto1138",
"bot_id": "B19LU7CSY",
"attachments": [
{
"text": "Don't get too attached",
"id": 1,
"fallback": "This is an attachment fallback"
}
],
"type": "message",
"subtype": "bot_message",
"ts": "1503435956.000247"
},
"unread_count": 1,
"unread_count_display": 1,
"members": [
"U0G9QF9C6",
"U1QNSQB9U"
],
"topic": {
"value": "Spiritual containment strategies",
"creator": "U0G9QF9C6",
"last_set": 1503435128
},
"purpose": {
"value": "Discuss busting ghosts",
"creator": "U0G9QF9C6",
"last_set": 1503435128
},
"previous_names": [
"dusting"
]
}
}