A user joined a public channel, private channel or MPDM.

Facts

Works with

RTMEvents API
{
    "type": "member_joined_channel",
    "user": "W123ABC456",
    "channel": "C123ABC456",
    "channel_type": "C",
    "team": "T123ABC456",
    "inviter": "U123456789"
}

The member_joined_channel event is sent to all WebSocket connections and event subscriptions when users join all channel types including public and private channels, except direct messages between two users. For direct messages, there can only ever be two users, and members cannot be added.

This even is also triggered upon creating a new channel.

Property Description
user User ID belonging to the user that joined the channel.
channel Channel ID for a public channel or private channel (AKA group).
channel_type A single letter indicating the type of channel used in channel. Private channels created before March 2021 have a G prefix. Both public and private channels created after March 2021 have a C prefix. If you need to know the channel type, use the conversations.info method.
team Team ID, identifying which workspace the user is from.
inviter User ID of the inviting user. The value will be blank if a user manually joins a channel, is added by default, or the channel is converted from a public channel to a private channel.

This example illustrates an absent inviter property, a result of a channel converting from public to private:

{
    "type": "member_joined_channel",
    "user": "W123ABC456",
    "channel": "G123ABC456",
    "channel_type": "G",
    "team": "T123ABC456"
}

This event is supported as a bot user subscription in the Events API. Workspace event subscriptions are also available for tokens holding at least one of the channels:read or groups:read scopes. Which events your app will receive depends on the scopes and their context. For instance, you'll only receive member_joined_channel events for private channels if your app has the groups:read permission.

Even bot users receive this delightful event via Bot User subscription, when joining a channel.

When an event occurs, we will send an HTTP POST request to your Request URL. The outer payload is uniform across all Events API methods, and contains fields like team_id and event. Learn more