Webhooks

By using webhooks, you can subscribe to all events that occur in open or group channels within your app. HTTP POST requests are sent to the configured webhooks URL whenever events are triggered on the SendBird server.

The webhooks can be useful when you want to build your own custom notification service, such as an email or SMS notification system for offline users.


Configuration

You can configure your webhooks on the Settings > Notifications > Webhooks in the SendBird Dashboard.


Webhook URL requirements

HTTP POST requests with JSON payloads are made to your webhooks endpoint upon each event.

  • The endpoint server must support HTTP/1.1 and keep-alive.
  • The endpoint server needs to respond to POST requests.
  • The endpoint server needs to parse JSON payloads.

Headers

The requests from SendBird will include the following headers.

user-agent: SendBird
content-type: application/json
x-signature: {x-signature}
...

Used as a request header to ensure that the source of the request comes from SendBird and is not altered by someone else. The value of the x-signature is a signature generated by applying SHA-256 to the POST request body and your API token. To verify the request, apply SHA-256 to the request body and your API token and ensure that the resulting value is equal to the x-signature.

Python sample: how to create a comparison value to identify the X-Signature header value.
import json
import hmac, hashlib
...
secret = API_Token
request_body = json.dumps(request_body) # Assuming request_body is from the request.
signature = hmac.new(key=str(secret), msg=str(request_body), digestmod=hashlib.sha256).hexdigest() 
# For Python3, please use byte type for key and msg.

Webhook events

Event Triggered when
open_channel:message_send A message is sent to an open channel.
group_channel:message_send A message is sent to a group channel.
open_channel:message_delete A message is deleted from an open channel.
group_channel:message_delete A message is deleted from a group channel.
group_channel:message_read A user's unread message count in a group channel falls to zero.
open_channel:create An open channel is created.
group_channel:create A group channel is created.
open_channel:remove An open channel is removed.
group_channel:invite A user invites an another user.
group_channel:join A user joins a group channel.
group_channel:decline_invite A user declines an invitation to a group channel.
group_channel:leave A user leaves a group channel.
user:block A user blocks another user.
user:unblock A user unblocks another user.
alert:user_message_rate_limit_exceeded A user sends too many messages.

Notice that unread_message_count is changed as follow:

  • unread_message_count is deprecated.
  • total_unread_message_count replaces with unread_message_count.
  • channel_unread_message_count represents a number of unread messages in a current channel.

open_channel:message_send - payloads

{
    "category":"open_channel:message_send",
    "sender": {
        "nickname":"Oldies but goodies",
        "user_id":"Jeff",
        "profile_url":"http://url/file.jpg",
        "metadata":{}
    },
     "custom_type":"",
     "mention_type":"users",
     "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type":"MESG",    # Text message
      "payload":{
        "custom_type":"",
        "created_at":1484205447940,
        "translations":{
                  "en": "",
                 "de": "",
                  ...
        },
        "message":"This is the first message!",
        "data":"",
        "message_id":1918018535
    },
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Let's talk about old pops!",
        "custom_type":""
    },
    "sdk":"Android"     # iOS, Android, JavaScript, .NET or API
}
{
    "category":"open_channel:message_send",
    "sender": {
        "nickname":"Oldies but goodies",
        "user_id":"Jeff",
        "profile_url":"http://url/file.jpg",
        "metadata":{}
    },
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type":"FILE",    # File message    
    "payload":{
        "custom_type":"",
        "url":"https:\/\/sendbird-upload.s3.amazonaws.com\/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\/upload\/n\/9081f72d84d3486ea03f70d831b82cb0.jpg",
        "content_size":11084551,
        "created_at":1540781337855,
        "filename":"lion.jpg",
        "content_type":"image\/jpeg",
        "data":"Lion in Africa",
        "message_id":1918079885
    },
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Let's talk about old pops!",
        "custom_type":""
    },
    "sdk":"Android"         # iOS, Android, JavaScript, .NET or API
}
{
    "category":"open_channel:message_send",
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type":"ADMM",    # Admin message
    "payload":{
        "created_at":1540782698985,
        "message":"We'll have a meeting tomorrow.",
        "data":"",
        "message_id":1918113162,
        "custom_type":""
    },
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Let's talk about old pops!",
        "custom_type":""
    },
    "sdk":"API"     # iOS, Android, JavaScript, .NET or API 
}

group_channel:message_send - payloads

members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{       
    "category":"group_channel:message_send",
    "sender": {
        "nickname":"Oldies but goodies",
        "user_id":"Jeff",
        "profile_url":"http://url/file.jpg",
        "metadata":{}
    },
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "members":[
        {
            "is_blocking_sender":false,
            "unread_message_count":16,
            "total_unread_message_count":16,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Oldies but goodies",
            "is_blocked_by_sender":false,
            "user_id":"Jeff",
            "channel_unread_message_count":5,
            "state":"joined",       # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_09_512px.png",
            "metadata":{}
        },
        {
            "is_blocking_sender":false,
            "unread_message_count":2,
            "total_unread_message_count":2,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SendBird Engineering leader",
            "is_blocked_by_sender":false,
            "user_id":"Harry",
            "channel_unread_message_count":2,
            "state":"joined",       # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_04_512px.png",
            "metadata":{}
        }
    ],
    "type":"MESG",    # Text message
    "payload":{
        "custom_type":"",
        "created_at":1540798555343,
        "translations":{
            "en": "",
            "de": "",
            ...
        },
        "message":"I have a suggestion for our team.",
        "data":"",
        "message_id":238303376
    },
    "channel":{
        "is_distinct":false,
        "name":"SendBird engineers talking room",
        "custom_type":"123",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "sdk":"Android"         # iOS, Android, JavaScript, .NET or API
}
{
    "category":"group_channel:message_send",
    "sender": {
        "nickname":"Oldies but goodies",
        "user_id":"Jeff",
        "profile_url":"http://url/file.jpg",
        "metadata":{}
    },
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "members":[
        {
            "is_blocking_sender":false,
            "unread_message_count":16,
            "total_unread_message_count":16,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Oldies but goodies",
            "is_blocked_by_sender":false,
            "user_id":"Jeff",
            "channel_unread_message_count":5,
            "state":"joined",       # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_09_512px.png",
            "metadata":{}
        },
        {
            "is_blocking_sender":false,
            "unread_message_count":2,
            "total_unread_message_count":2,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SendBird Engineering leader",
            "is_blocked_by_sender":false,
            "user_id":"Harry",
            "channel_unread_message_count":2,
            "state":"joined",       # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_04_512px.png",
            "metadata":{}
        }
    ],
    "type":"FILE",
    "payload":{
        "custom_type":"",
        "url":"https:\/\/sendbird-upload.s3.amazonaws.com\/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\/upload\/n\/e52878be026f4a318f38b67efe8f7612.jpg",
        "content_size":11892885,
        "created_at":1540794889552,
        "filename":"giraffe.jpg",
        "content_type":"image\/jpeg",
        "data":"giraffe in Africa",
        "message_id":238278410
    },
    "channel":{
        "is_distinct":false,
        "name":"SendBird engineers talking room",
        "custom_type":"123",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "sdk":"Android"         # iOS, Android, JavaScript, .NET or API
}
{
    "category":"group_channel:message_send",
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "members":[
        {
            "unread_message_count":16,
            "total_unread_message_count":16,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Oldies but goodies",
            "user_id":"Jeff",
            "channel_unread_message_count":5,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_09_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":2,
            "total_unread_message_count":2,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SendBird Engineering leader",
            "user_id":"Harry",
            "channel_unread_message_count":2,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_04_512px.png",
            "metadata":{}
        }
    ],
    "type":"ADMM",
    "payload":{
        "created_at":1540783278180,
        "message":"This is an admin message!",
        "data":"",
        "message_id":1918124600,
        "custom_type":""
    },
    "channel":{
        "is_distinct":false,
        "name":"SendBird engineers talking room",
        "custom_type":"123",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "sdk":"API"    # iOS, Android, JavaScript, .NET or API
}

open_channel:message_delete - payloads

{
    "category":"open_channel:message_delete",
    "sender":{
        "nickname":"TallAndStrong",
        "user_id":"David",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_16_512px.png",
        "metadata":{}
    },
    "custom_type":"",
    "type":"MESG",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Talking about movies",
        "custom_type":""
    },
    "payload":{
        "custom_type":"",
        "created_at":0,
        "translations":{
            "en": "",
            "de": "",
            ...
        },
        "message":"Hi, this text message will be deleted.",
        "data":"",
        "message_id":238309772
    }
}
{
    "category":"open_channel:message_delete",
    "sender":{
        "nickname":"Crack",
        "user_id":"Craig",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_16_512px.png",
        "metadata":{}
    },
    "custom_type":"",
    "type":"FILE",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Talking about movies",
        "custom_type":""
    },
    "payload":{
        "custom_type":"",
        "url":"",
        "content_size":0,
        "created_at":0,
        "filename":"",
        "content_type":"",
        "data":"",
        "message_id":238350081
    }
}
{
    "category":"open_channel:message_delete",
    "custom_type":"",
    "type":"ADMM",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "data":"",
        "channel_url":"sendbird_open_channel_8_2cccb696d59d9acfecfd71580c97c34b5c19f040",
        "name":"Talking about movies",
        "custom_type":""
    },
    "payload":{
        "created_at":0,
        "message":"Hi, this admin message will be deleted.",
        "data":"",
        "message_id":238421677,
        "custom_type":""
    }
}

group_channel:message_delete - payloads

members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:message_delete",
    "sender":{
        "nickname":"Mighty",
        "user_id":"Jay",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
        "metadata":{}
    },
    "members":[
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"JinJin",
            "user_id":"Jin",
            "channel_unread_message_count":5,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Mighty",
            "user_id":"Jay",
            "channel_unread_message_count":2,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
            "metadata":{}
        }
    ],
    "custom_type":"",
    "type":"MESG",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_distinct":false,
        "name":"Trip to Africa",
        "custom_type":"",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "payload":{
        "custom_type":"",
        "created_at":0,
        "translations":{},
        "message":"Hi, this text message will be deleted.",
        "data":"",
        "message_id":238303376
    }
}
{
    "category":"group_channel:message_delete",
    "sender":{
        "nickname":"Mighty",
        "user_id":"Jay",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
        "metadata":{}
    },
    "members":[
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"JinJin",
            "user_id":"Jin",
            "channel_unread_message_count":5,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Mighty",
            "user_id":"Jay",
            "channel_unread_message_count":2,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
            "metadata":{}
        }
    ],
    "custom_type":"",
    "type":"FILE",    # File message
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_distinct":false,
        "name":"Trip to Africa",
        "custom_type":"",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "payload":{
        "custom_type":"",
        "url":"",
        "content_size":0,
        "created_at":0,
        "filename":"",
        "content_type":"",
        "data":"",
        "message_id":238297901
    }
}
{
    "category":"group_channel:message_delete",
    "members":[
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"JinJin",
            "user_id":"Jin",
            "channel_unread_message_count":5,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":5,
            "total_unread_message_count":5,
            "is_active":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Mighty",
            "user_id":"Jay",
            "channel_unread_message_count":2,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
            "metadata":{}
        }
    ],
    "custom_type":"",
    "type":"ADMM",    # Admin message
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_distinct":false,
        "name":"Trip to Africa",
        "custom_type":"",
        "is_ephemeral":false,
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "is_public":false,
        "is_super":false,
        "data":""
    },
    "payload":{
        "created_at":0,
        "message":"Hi, this admin message will be deleted.",
        "data":"",
        "message_id":238305910,
        "custom_type":""
    }
}

group_channel:message_read - payloads

members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:message_read",
    "members":[    # Provide only the member who has read the message to minimize backward issues.
        {
            "unread_message_count":0,
            "user_id":"John",
            "channel_unread_message_count":0,
            "total_unread_message_count":3,
            "is_active":true,
            "state":"joined",    # joined or invited
            "push_enabled":true,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SendBirdian",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
            "metadata":{}
        }
    ],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":false,
        "name":"Let's make a good company",
        "custom_type":"",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "is_public":false
    },
    "read_updates":[
        {
            "read_ts":1540864257418,
            "user_id":"John",
            "channel_unread_message_count":0,
            "total_unread_message_count":3
        }
    ]
}

open_channel:create - payloads

{
    "category":"open_channel:create",
    "created_at":1540866408000,
    "operators":[
        {
            "nickname":"Mighty",
            "user_id":"Jay",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_26_512px.png",
            "metadata":{}    
        }
    ],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":false,
        "name":"Jeff and friends",
        "custom_type":"",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_open_channel_1_2681099203cd6b78414fe672927a43fcf3a30f09",
        "is_public":false
    }
}

group_channel:create - payloads

members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

This webhook is triggered with the invited members, who have been invited with channel creation request from Platform API or SDK, with invited member state. Since the invited members have been already included, group_channel:invite webhook is not triggered but group_channel:join webhook is triggered after this webhook.

{
    "category":"group_channel:create",
    "members":[
        {
            "unread_message_count":9,
            "user_id":"Glen",
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "is_active":true,
            "state":"invited",    # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"YoungAndTall",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":0,
            "user_id":"James",
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "is_active":true,
            "state":"invited",    # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SoccerLover",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        ...    

    ],
    "created_at":1540867938000,
    "inviter":{
        "nickname": "TallAndStrong",
        "user_id": "David",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
        "metadata": {}
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":true,
        "name":"Sport center members",
        "custom_type":"personal",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "is_public":false
    }
}

open_channel:remove - payloads

{
    "category":"open_channel:remove",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":false,
        "name":"Jeff and friends",
        "custom_type":"",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_open_channel_1_2681099203cd6b78414fe672927a43fcf3a30f09",
        "is_public":false
    }
}

group_channel:invite - payloads

members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:invite",
    "members":[
        {
            "unread_message_count":9,
            "user_id":"Glen",
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"YoungAndTall",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":0,
            "user_id":"James",
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SoccerLover",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        ...
    ],
    "inviter":{
        "nickname": "TallAndStrong",
        "user_id": "David",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
        "metadata": {}
        },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":true,
        "name":"Sport center members",
        "custom_type":"personal",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "is_public":false
    },
    "invitees":[
        {
            "nickname":"Passion Man",
            "user_id":"Mark",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_01_512px.png",
            "metadata":{}
        },
        {
            "nickname":"Nice Guy",
            "user_id":"Daniel",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_22_512px.png",
            "metadata":{}
        }
    ]
}

group_channel:join - payloads

users are members who have joined channels (when auto-accept is on) or accepted invitations. members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:join",
    "members":[
        {
            "unread_message_count":9,
            "user_id":"Aaron",
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Singer-songwriter",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":0,
            "user_id":"Jeremy",
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"Cool guy",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        ...
    ],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":true,
        "name":"Sport center members",
        "custom_type":"personal",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "is_public":false
    },
    "users":[    # Users who have joined the channel
        {
            "nickname":"YoungAndTall",
            "user_id":"Glen",
            "inviter":{
                "nickname":"TallAndStrong",
                "user_id":"David",
                "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
                "metadata":{}
            },
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        {
            "nickname":"SoccerLover",
            "user_id":"James",
            "inviter":{
                "nickname":"TallAndStrong",
                "user_id":"David",
                "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
                "metadata":{}
            },
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
            "metadata":{}
        },
        ...
    ]
}

group_channel:decline_invite - payloads

users are pending members who have declined invitations. members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:decline_invite",
    "members":[
        {
            "unread_message_count":9,
            "user_id":"Glen",
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "is_active":true,
            "state":"invited",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"YoungAndTall",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":0,
            "user_id":"James",
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SoccerLover",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        ...
    ],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":true,
        "name":"Sport center members",
        "custom_type":"personal",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "is_public":false
    },
    "users":[    # Users who have declined the invitation to the channel
        {
            "nickname":"Oldies but goodies",
            "user_id":"Jeff",
            "inviter":{
                "nickname":"TallAndStrong",
                "user_id":"David",
                "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
                "metadata":{}
            },
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_38_512px.png",
            "metadata":{}
        }
    ]
}

group_channel:leave - payloads

users are those who have left a group channel whereas members are those remaining in the channel. channel_unread_message_count is a value for a user's unread message count of the channel when the user left. members information is omitted by default. Select the Include Group Channel Members option in your Dashboard settings to include members information in payloads.

{
    "category":"group_channel:decline_invite",
    "members":[
        {
            "unread_message_count":9,
            "user_id":"Glen",
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"YoungAndTall",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
            "metadata":{}
        },
        {
            "unread_message_count":0,
            "user_id":"James",
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "is_active":true,
            "state":"joined",      # joined or invited
            "push_enabled":false,
            "is_online":false,
            "channel_mention_count":0,
            "nickname":"SoccerLover",
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_33_512px.png",
            "metadata":{}
        },
        ...
    ],
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "channel":{
        "is_super":false,
        "is_distinct":true,
        "name":"Sport center members",
        "custom_type":"personal",
        "is_ephemeral":false,
        "data":"",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "is_public":false
    },
    "users":[       # Users who have left the channel
        {
            "nickname":"Oldies but goodies",
            "user_id":"Jeff",
            "channel_unread_message_count":2,
            "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_38_512px.png",
            "metadata":{}
        }
    ]
}

user:block - payloads

{
    "category":"user:block",
    "blocker":{
        "nickname":"Soulmate",
        "user_id":"Benjamin",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
        "metadata":{}
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "blockee":{
        "nickname":"GameStart",
        "user_id":"Matthew",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
        "metadata":{}
    }
}

user:unblock - payloads

{
    "category":"user:unblock",
        "unblocker":{
        "nickname":"Soulmate",
        "user_id":"Benjamin",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_30_512px.png",
        "metadata":{}
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "unblockee":{
        "nickname":"GameStart",
        "user_id":"Matthew",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_24_512px.png",
        "metadata":{}
    }
}

alert:user_message_rate_limit_exceeded - payloads

{
    "category":"alert:user_message_rate_limit_exceeded",
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "user":{
        "nickname":"TamTam",
        "user_id":"Taem",
        "profile_url":"https:\/\/sendbird.com\/main\/img\/profiles\/profile_41_512px.pn",
        "metadata":{}
    }
}