Platform API
Webhooks

Webhooks

With webhooks turned on in your SendBird application, your server will receive HTTP POST requests from SendBird server in the form of the response containing information on all events that occur within the application.

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


Configuration

You can configure your webhook endpoint URL and other settings on the Settings > Application > Webhooks in your dashboard.


Webhook endpoint requirements

HTTP POST requests with JSON payloads are sent to your webhook endpoint upon specific events in your SendBird application.

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

By default, SendBird server sends an HTTP POST request and waits for a response from your webhook endpoint for 5 seconds. The server sends the same POST request up to three times until it receives a response. To avoid too many requests, you should implement the endpoint to respond immediately to the server with a 200 OK response.

Note: When you need a process or function which handles webhook payloads, it should be implemented to be executed asynchronously from that of which responds to the server. If they are executed synchronously, it can cause the endpoint to stop working properly when many events happen on your application.


Headers

HTTP POST requests from SendBird server will include the following headers.

Light Color Skin
Copy
user-agent: SendBird
content-type: application/json
x-sendbird-signature: {x_sendbird_signature}
...

x-sendbird-signature

Used as a request header to ensure that the source of the request comes from SendBird server and the request is not altered by external influences. Based on both the POST request body and your API token, the value of the x-sendbird-signature is generated by SHA-256 encryption on the SendBird server side. To verify the request on your server side, create a comparison value exactly the same way as SendBird server does, and then check if the result is equal to the value of the x-sendbird-signature.

Python sample: how to create a comparison value to identify the x-sendbird-signature header value
Light Color Skin
Copy
from __future__ import unicode_literals

import hashlib, hmac, json

# Preparing items to encrypt for comparison to the x-sendbird-signature header
api_token = b'YOUR_API_TOKEN'   # Convert a string of your API token to a bytes object
request_body = json.dumps(REQUEST_BODY_OF_RECEIVED_PAYLOAD, # In cases when the request body indcludes unicode characters such as emojis,  
            separators=(',', ':'), ensure_ascii=False)  # 'ensure_ascii' should be set to 'false'.  

signature_to_compare = hmac.new(key=api_token, 
            msg=bytes(request_body.encode('utf8')), digestmod=hashlib.sha256).hexdigest()

assert signature_to_compare == 'x_sendbird_signature'   # Check if the value of the 'x-sendbird-signature' request header is the same as the comparison value you've created. 

Note: The x-signature request header can still be used for verification. When the request body contains non-ASCII characters such as emojis, the encrypted value on your server side and the value of the x-signature generated from SendBird server will always be different. For this reason, the x-signature could be deprecated in the near future, therefore we recommend that you use the x-sendbird-signature instead.


Webhook events

Open channel
EventTriggered when

open_channel:create

An open channel is created.

open_channel:remove

An open channel is removed.

open_channel:message_send

A message is sent within an open channel.

open_channel:message_update

A message is updated in an open channel.

open_channel:message_delete

A message is deleted from an open channel.

Group channel
EventTriggered when

group_channel:create

A group channel is created.

group_channel:changed

A group channel information is changed.

group_channel:remove

A group channel is removed.

group_channel:invite

A user invites another user.

group_channel:decline_invite

A user declines an invitation.

group_channel:join

A user joins a group channel.

group_channel:leave

A user leaves a group channel.

group_channel:message_send

A message is sent within a group channel.

group_channel:message_read

A user has no more unread messages in a group channel.

group_channel:message_update

A message is updated in a group channel.

group_channel:message_delete

A message is deleted from a group channel.

User
EventTriggered when

user:block

A user blocks another user.

user:unblock

A user unblocks another user.

Report
EventTriggered when

message:report

A message is reported by a user.

user:report

A user is reported by another user.

open_channel:report

An open channel is reported by a user.

group_channel:report

A group channel is reported by a user.

Profanity filter
EventTriggered when

profanity_filter:replace

Explicit words in a message are replaced with asterisks (*).

profanity_filter:block

A message with explicit words is blocked.

Alert
EventTriggered when

alert:user_message_rate_limit_exceeded

A user exceeds the allowed number of messages to send.

Notice that the unread_message_count property of a webhook payload is changed as follow:

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

Retrieve a list of subscribed events

Retrieves a list of events for your webhook server to receive payloads for.

HTTP request

Light Color Skin
Copy
GET https://api-{application_id}.sendbird.com/v3/applications/settings/webhook

Response

If successful, this action returns the information about the webhook configuration in the response body.

Status: 200 OK
Light Color Skin
Copy
{
    "webhook": {
        "enabled": true,
        "url": "https://example.com/notification", 
        "include_members": true,
        "enabled_events": [
            "open_channel:create",
            "group_channel:create",
            "group_channel:leave"
        ]
    }
}
Property nameTypeDescription

webhook

nested object

The information about the webhook configuration.

webhook.enabled

boolean

Indicates whether webhooks are turned on in your SendBird application or not. (Default: false)

webhook.url

string

The URL of your webhook server to receive payloads for events.

webhook.include_members

boolean

Indicates whether or not to include the information on the members of group channels in payloads. (Default: false)

webhook.enabled_events[]

array

An array of subscribed events.


Choose which events to subscribe to

Chooses which events for your webhook server to receive payloads for. By subscribing to specific events based on your own needs, you can control the number of HTTP requests to your webhook server.

HTTP request

Light Color Skin
Copy
PUT https://api-{application_id}.sendbird.com/v3/applications/settings/webhook

Request body

The following table lists the properties of an HTTP request that this action supports.

Properties
RequiredTypeDescription

enabled_events[]

array

Specifies an array of one or more events for your webhook server to subscribe to. If set to an asterisk (*) only, the server will subscribe to all supported events. If set to an empty array, the server will unsubscribe from all (which indicates turning off webhooks).

subscribe-all
subscribe-some
unsubscribe-all
Light Color Skin
Copy
# Request body example
{
    "enabled_events": ["*"]
}
Light Color Skin
Copy
# Request body example
{
    "enabled_events": [
        "group_channel:create",
        "group_channel:join",
        "group_channel:invite"
    ]
}
Light Color Skin
Copy
# Request body example
{
    "enabled_events": []
}

Response

If successful, this action returns the information about the webhook configuration in the response body.

subscribe-all
subscribe-some
unsubscribe-all
Light Color Skin
Copy
# Status: 200 OK
{
    "webhook": {
        "enabled": true,
        "url": "https://example.com/notification",
        "include_members": true,
        "enabled_events": [
            "open_channel:create",
            "open_channel:remove"",
            ...
            "group_channel:create",
            "group_channel:changed",
            ...
            "user:block",
            ...
            "profanity_filter:block"
        ]
    }
}
Light Color Skin
Copy
# Status: 200 OK
{
    "webhook": {
        "enabled": true,
        "url": "https://example.com/notification",
        "include_members": true,
        "enabled_events": [
            "group_channel:create",
            "group_channel:join",
            "group_channel:invite"
        ] 
    }
}
Light Color Skin
Copy
# Status: 200 OK
{
    "webhook": {
        "enabled": true,
        "url": "https://example.com/notification",
        "include_members": true,
        "enabled_events": []
    }
}

open_channel:create

The following shows a webhook payload of an open_channel:create event.

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

open_channel:remove

The following shows a webhook payload of an open_channel:remove event.

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

open_channel:message_send

The following shows a webhook payload of an open_channel:message_send event.

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

open_channel:message_update

The following shows a webhook payload of an open_channel:message_update event.

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

open_channel:message_delete

The following shows a webhook payload of an open_channel:message_delete event.

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

group_channel:create

This webhook is triggered and delivered when a group channel with the invited members is created through the Platform API or SDKs. Since the members are already invited, the group_channel:invite webhook is not triggered but the group_channel:join webhook is triggered after this webhook. The following shows a webhook payload of a group_channel:create event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

Light Color Skin
Copy
{
    "category":"group_channel:create",
    "members":[
        {
            "user_id":"Glen",
            "nickname":"YoungAndTall",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_30_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"invited",  # joined or invited
            "unread_message_count":0,
            "channel_unread_message_count":0,
            "total_unread_message_count":0,
            "push_enabled":false,
            "channel_mention_count":0,
            "metadata":{}
        },
        ... # More members
    ],
    "created_at":1540867938000,
    "inviter":{
        "user_id":"David",
        "nickname":"TallAndStrong",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_30_512px.png",
        "metadata":{}
    },
    "channel":{
        "name":"Sport center members",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "custom_type":"personal",
        "is_distinct":true,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

group_channel:changed

This webhook is triggered and delivered when one of the following group channel properites has been changed: name and cover_url. The changes property in the payload contains the old and new values of the changed channel properties. The following shows a webhook payload of a group_channel:changed event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

Light Color Skin
Copy
{
    "category":"group_channel:changed",
    "changes":[
        {
            "key":"name",
            "old":"Sport center members",
            "new":"Sport center members - welcome everyone!"
        },
        {
            "key":"cover_url",
            "old":"https://sendbird.com/main/img/cover/cover_09.jpg",
            "new":"https://sendbird.com/main/img/cover/cover_10.jpg"
        }
    ],
    "members":[
        {
            "user_id":"Glen",
            "nickname":"YoungAndTall",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_30_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"invited",  # joined or invited
            "unread_message_count":9,
            "channel_unread_message_count":0,
            "total_unread_message_count":9,
            "push_enabled":false,
            "channel_mention_count":0,
            "metadata":{}
        },
        ... # More members
    ],
    "created_at":1540867938000,
    "inviter":{
        "user_id":"David",
        "nickname":"TallAndStrong",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_30_512px.png",
        "metadata":{}
    },
    "channel":{
        "name":"Sport center members - welcome everyone!",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "custom_type":"personal",
        "is_distinct":true,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

group_channel:remove

The following shows a webhook payload of a group_channel:remove event.

Light Color Skin
Copy
{       
    "category":"group_channel:remove",
    "channel":{
        "name":"Sport center members - welcome everyone!",
        "channel_url":"sendbird_group_channel_6122393_1379dd647e15ddb2471c933794b6cb4651498933",
        "custom_type":"personal",
        "is_distinct":true,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

group_channel:invite

The following shows a webhook payload of a group_channel:invite event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:decline_invite

The users property indicates the members who have declined invitations and are in pending status. The following shows a webhook payload of a group_channel:decline_invite event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:join

The users property indicates the members who have joined channels (when the auto-accept is on) or accepted invitations. The following shows a webhook payload of a group_channel:join event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:leave

The users property indicates those who have left a group channel, whereas the members indicates those who still remain in the channel. The channel_unread_message_count is a value for a user's unread message count of the channel when the user left. The following shows a webhook payload of a group_channel:leave event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:message_send

The following shows a webhook payload of a group_channel:message_send event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:message_read

The following shows a webhook payload of a group_channel:message_read event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

group_channel:message_update

The following shows a webhook payload of a group_channel:message_update event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

Text
File
Admin
Light Color Skin
Copy
{
    "category":"group_channel:message_update",
    "sender":{
        "user_id":"Jeff",
        "nickname":"Oldies but goodies",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_38_512px.png",
        "metadata":{}
    },
    "changes":[
        {
            "key":"message",
            "old":"I have a suggestion for our team.",
            "new":"I need some time to think about our team."
        }
    ],
    "members":[
        {
            "user_id":"Jeff",
            "nickname":"Oldies but goodies",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_38_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"joined",   # joined or invited
            "is_blocking_sender":false,
            "is_blocked_by_sender":false,
            "unread_message_count":16,
            "total_unread_message_count":16,
            "channel_mention_count":0,
            "channel_unread_message_count":5,
            "push_enabled":true,
            "metadata":{}
        },
        ... # More members
    ],
    "custom_type":"",
    "mention_type":"users",
    "mentioned_users":[],
    "type":"MESG",  # Text message
    "payload":{
        "message_id":238303376,
        "custom_type":"",
        "message":"I need some time to think about our team.",
        "translations":{
            "en":"",
            "de":"",
            ...
        },
        "created_at":1484205447940,
        "data":""
    },
    "channel":{
        "name":"SendBird engineers talking room",
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "custom_type":"business",
        "is_distinct":false,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "sdk":"Android",    # iOS, Android, JavaScript, .NET or API
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Light Color Skin
Copy
{
    "category":"group_channel:message_update",
    "sender":{
        "user_id":"Jeff",
        "nickname":"Oldies but goodies",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_38_512px.png",
        "metadata":{}
    },
    "changes":[
        {
            "key":"custom_type",
            "old":"",
            "new":"picture"
        }
    ],
    "members":[
        {
            "user_id":"Jeff",
            "nickname":"Oldies but goodies",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_38_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"joined",   # joined or invited
            "is_blocking_sender":false,
            "is_blocked_by_sender":false,
            "unread_message_count":16,
            "total_unread_message_count":16,
            "channel_mention_count":0,
            "channel_unread_message_count":5,
            "push_enabled":true,
            "metadata":{}
        },
        ... # More members
    ],
    "custom_type":"picture",
    "type":"FILE",  # File message
    "payload":{
        "message_id":238278410,
        "custom_type":"picture",
        "filename":"giraffe.jpg",
        "content_type":"image/jpeg",
        "url":"https://sendbird-upload.s3.amazonaws.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/upload/n/e52878be026f4a318f38b67efe8f7612.jpg",
        "content_size":11892885,
        "created_at":1540794889552,
        "data":"giraffe in Africa"
    },
    "channel":{
        "name":"SendBird engineers talking room",
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "custom_type":"business",
        "is_distinct":false,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "sdk":"Android",    # iOS, Android, JavaScript, .NET or API
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Light Color Skin
Copy
{
    "category":"group_channel:message_update",
    "changes":[
        {
            "key":"message",
            "old":"Regular inspection will be conducted.",
            "new":"Regular inspection will be conducted: 00:00 - 00:15"
        }
    ],
    "members":[
        {
            "user_id":"Jeff",
            "nickname":"Oldies but goodies",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_38_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"joined",   # joined or invited
            "unread_message_count":16,
            "total_unread_message_count":16,
            "channel_mention_count":0,
            "channel_unread_message_count":5,
            "push_enabled":true,
            "metadata":{}
        },
        ... # More members
    ],
    "custom_type":"",
    "type":"ADMM",
    "payload":{
        "message_id":1918124600,
        "custom_type":"",
        "message":"Regular inspection will be conducted: 00:00 - 00:15",
        "data":"",
        "created_at":1540783278180
    },
    "channel":{
        "name":"SendBird engineers talking room",
        "channel_url":"sendbird_group_channel_47226288_21c0d617e45a7db4e12a7f5efdb4df4743b11c16",
        "custom_type":"business",
        "is_distinct":false,
        "is_public":false,
        "is_super":false,
        "is_ephemeral":false,
        "data":""
    },
    "sdk":"API",    # iOS, Android, JavaScript, .NET or API
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

group_channel:message_delete

The following shows a webhook payload of a group_channel:message_delete event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

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

user:block

The following shows a webhook payload of a user:block event.

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

user:unblock

The following shows a webhook payload of a user:unblock event.

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

message:report

The following shows a webhook payload of a message:report event.

Light Color Skin
Copy
{
    "category": "message:report",
    "report_type": "message",
    "report_category": "suspicious",
    "reporting_user": {
        "user_id": "Matthew",
        "nickname": "Mooch",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_44_512px.png",
        "metadata": {
            "location": "Singapore",
            "marriage": "N"
        }
    },
    "offending_user": {
        "user_id": "Jane",
        "nickname": "Trinity",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_432_512px.png",
        "metadata": {
            "location": "London",
            "marriage": "N"
        }
    },
    "reported_message": {
        "sender": {
            "user_id": "Jane",
            "nickname": "Trinity",
            "profile_url": "https://sendbird.com/main/img/profiles/profile_432_512px.png",
            "metadata": {
                "location": "London",
                "marriage": "N"
            }
        },
        "type": "MESG",
        "custom_type": "",
        "mention_type": "users",
        "mentioned_users": [],
        "payload": {
            "message_id": 592281302 
            "custom_type": "",
            "message": "Seriously, I am waiting for you at my secret website. Would you join me?",
            "translations": {},
            "data": "",
            "created_at": 1568784875135 
        },
        "channel": {
            "name": "Looking for someone to spend my time with...",
            "channel_url": "sendbird_group_channel_15110744_67c34500c14ffa4f9ad23a80d4426e40467ebb91",
            "custom_type": "",
            "data": "",
            "is_distinct": true,
            "is_public": false,
            "is_super": false,
            "is_ephemeral": false,
            "is_discoverable": false
        },
        "sdk": "Android"    # iOS, Android, JavaScript, .NET or API
    },
    "channel": {
        "name": "Looking for someone to spend my time with...",
        "channel_url": "sendbird_group_channel_15110744_67c34500c14ffa4f9ad23a80d4426e40467ebb91",
        "custom_type": "",
        "data": "",
        "is_distinct": true,
        "is_public": false,
        "is_super": false,
        "is_ephemeral": false,
        "is_discoverable": false
    },
    "created_at": 1568791754,
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

user:report

The following shows a webhook payload of a user:report event.

Light Color Skin
Copy
{
    "category":"user:report",
    "report_type": "user",
    "report_category": "harassing",
    "reporting_user": {
        "user_id": "Elizabeth",
        "nickname": "Rolly Rolly",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_471_512px.png",
        "metadata": {
            "location": "London",
            "marriage": "Y"
        }
    },
    "offending_user": {
        "user_id": "Drake",
        "nickname": "TooLate",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_432_512px.png",
        "metadata": {
            "location": "Toronto",
            "marriage": "N"
        }
    },
    "channel": {
        "name": "PBR&B songs",
        "channel_url": "sendbird_group_channel_15458190_3ce474cfbb465c513de1728c7283bec63f00deea",
        "custom_type": "",
        "data": "",
        "is_distinct": true,
        "is_public": false,
        "is_super": false,
        "is_ephemeral": false,
        "is_discoverable": false
    },
    "created_at": 1568775527,
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

open_channel:report

The following shows a webhook payload of a open_channel:report event.

Light Color Skin
Copy
{
    "category": "open_channel:report",
    "report_type": "channel",
    "report_category": "suspicious",
    "reporting_user": {
        "user_id": "Jay",
        "nickname": "Rooster",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_13_512px.png",
        "metadata": {
            "location": "New York",
            "marriage": "Y"
        }
    },
    "channel": {
        "name": "Come on girls!",
        "channel_url": "sendbird_open_channel_eb4678e83afeb815582b97ec41faf71a59bb7708",
        "custom_type": "",
        "data": "",
        "is_distinct": false,
        "is_public": false,
        "is_super": false,
        "is_ephemeral": false,
        "is_discoverable": false
    },
    "created_at": 1568738756,
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

group_channel:report

The following shows a webhook payload of a group_channel:report event.

Light Color Skin
Copy
{
    "category": "group_channel:report",
    "report_type": "channel",
    "report_category": "inappropriate",
        "reporting_user": {
        "user_id": "Debbie",
        "nickname": "Eclipse",
        "profile_url": "https://sendbird.com/main/img/profiles/profile_183_512px.png",
        "metadata": {
            "location": "Seoul",
            "marriage": "N"
        }
    },
    "channel": {
        "name": "Talking dirty with me tonight...",
        "channel_url": "sendbird_group_channel_15458667_8d00f8ff213349e24b8c6e0fc17bc5111d66f0fc"
        "custom_type": "",
        "data": "",
        "is_distinct": true,
        "is_public": false,
        "is_super": false,
        "is_ephemeral": false,
        "is_discoverable": false
    },
    "created_at": 1568738756,
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

alert:user_message_rate_limit_exceeded

The following shows a webhook payload of an alert:user_message_rate_limit_exceeded event.

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

profanity_filter:replace

The following shows a webhook payload of a profanity_filter:replace event.

Note: By default, the members property is excluded in the payload. If you want to include the members, select the Group channel member in your dashboard under Settings > Application > Webhooks > Optional information.

Light Color Skin
Copy
{
    "category":"profanity_filter:replace",
    "sender":{
        "user_id":"Jin",
        "nickname":"JinJin",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_24_512px.png",
        "metadata":{}
    },
    "members":[
        {
            "user_id":"Jin",
            "nickname":"JinJin",
            "profile_url":"https://sendbird.com/main/img/profiles/profile_24_512px.png",
            "is_active":true,
            "is_online":false,
            "state":"joined",   # joined or invited
            "unread_message_count":5,
            "total_unread_message_count":5,
            "channel_mention_count":0,
            "channel_unread_message_count":5,
            "push_enabled":true,
            "metadata":{}
        },
        ... # More members
    ],
    "custom_type":"",
    "type":"MESG",  # Text message
    "replaced_text":"You guys suck!",
    "payload":{
        "message_id":2321360709,
        "custom_type":"",
        "created_at":1484205447940,
        "message":"You guys ****!",
        "translations":{},
        "data":""
    },
    "channel":{
        "name":"Trip to Africa",
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "custom_type":"",
        "data":""
    },
    "sdk":"Android",    # iOS, Android, JavaScript, .NET or API
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

profanity_filter:block

The following shows a webhook payload for a profanity_filter:block event.

Light Color Skin
Copy
{
    "category":"profanity_filter:block",
    "sender":{
        "user_id":"Jay",
        "nickname":"Mighty",
        "profile_url":"https://sendbird.com/main/img/profiles/profile_26_512px.png",
        "metadata":{}
    },
    "message":"you suck too!",
    "blocked_at":1557914578644,
    "channel":{
        "name":"Trip to Africa",
        "channel_url":"sendbird_group_channel_6037267_600ddc81a5e23049c804193370d47217fa2ed5f9",
        "custom_type":"",
        "data":""
    },
    "app_id":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}