### app_installed Event Payload Structure Source: https://docs.slack.dev/reference/events/app_installed This example shows the complete structure of the app_installed event, including the event wrapper and the event payload. It is useful for understanding the data received when an app is installed. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "app_installed", "app_id": "A015CA1LGHG", "app_name": "my-admin-app", "app_owner_id": "U013B64J7MSZ", "user_id": "U013B64J7SZ", "team_id": "E073D7H7BBE", "team_domain": "ACME Enterprises", "event_ts": "1700001891.279278" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### Channel Topic Event Example Source: https://docs.slack.dev/reference/events/message/channel_topic This example shows the structure of a channel_topic event callback, including the event wrapper and the event payload. No specific scopes are required to receive this event. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "channel_topic", "ts": "1358877455.000010", "user": "U2147483828", "topic": "hello world", "text": "<@U2147483828|cal> set the channel topic: hello world" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### pref_change Event Structure Source: https://docs.slack.dev/reference/events/pref_change This example shows the event wrapper and the event structure for the pref_change event. Clients should update to reflect new changes immediately. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "pref_change", "name": "messages_theme", "value": "dense" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### file_mention Event Structure Source: https://docs.slack.dev/reference/events/message/file_mention This example shows the event wrapper and the event structure for the file_mention message subtype event. This event is no longer served. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "file_mention", "ts": "1358877455.000010", "text": "<@cal> mentioned a file: ", "file": {}, "user": "U123ABC456" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### team_join Event Structure Source: https://docs.slack.dev/reference/events/team_join This example shows the full event wrapper and the event structure for the team_join event. It is sent to all workspace connections when a new member joins. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "team_join", "user": { ... } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### team_migration_started Event Structure Source: https://docs.slack.dev/reference/events/team_migration_started This example shows the structure of the team_migration_started event, including the event wrapper and the event payload. It is sent when a Slack workspace is about to be migrated between servers. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "team_migration_started" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### channel_rename Event Structure Source: https://docs.slack.dev/reference/events/channel_rename This example includes both the event wrapper and the event structure for the channel_rename event. It is sent when a channel is renamed. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "channel_rename", "channel": { "id": "C02ELGNBH", "name": "new_name", "created": 1360782804 } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### ekm_access_denied Event Structure Source: https://docs.slack.dev/reference/events/message/ekm_access_denied This example shows the event wrapper and the event structure for the ekm_access_denied message subtype. It includes required scopes and compatible APIs. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "ekm_access_denied", "ts": "1358877455.000010", "text": "Your admins have suspended everyone's access to this content.", "user": "U123ABC456" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### channel_left Event Structure Source: https://docs.slack.dev/reference/events/channel_left This example shows the full event wrapper and the event structure for the channel_left event. It is sent when a user leaves a public channel. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "channel_left", "channel": "C123ABC456" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### shared_channel_invite_accepted Event Structure Source: https://docs.slack.dev/reference/events/shared_channel_invite_accepted This example shows the structure of the shared_channel_invite_accepted event, including the event wrapper and the event payload. ```APIDOC ## shared_channel_invite_accepted Event ### Description A shared channel invite was accepted. ### Facts **Required Scopes** No scopes required! **Compatible APIs** [`Events`](/apis/events-api) ### Usage Info This example includes both the [event wrapper](/apis/events-api/#callback-field) and the [event structure](/apis/events-api/#event-type-structure) for the `shared_channel_invite_accepted` event. ### Request Example ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "shared_channel_invite_accepted", "approval_required": false, "invite": { "id": "I028YDERZSQ", "date_created": 1626876000, "date_invalid": 1628085600, "inviting_team": { "id": "T12345678", "name": "Corgis", "icon": { "...": "..." }, "is_verified": false, "domain": "corgis", "date_created": 1480946400 }, "inviting_user": { "id": "U12345678", "team_id": "T12345678", "name": "crus", "updated": 1608081902, "profile": { "real_name": "Corgis Rus", "display_name": "Corgis Rus", "real_name_normalized": "Corgis Rus", "display_name_normalized": "Corgis Rus", "team": "T12345678", "avatar_hash": "gcfh83a4c72k", "email": "corgisrus@slack-corp.com", "image_24": "https://placekitten.com/24/24", "image_32": "https://placekitten.com/32/32", "image_48": "https://placekitten.com/48/48", "image_72": "https://placekitten.com/72/72", "image_192": "https://placekitten.com/192/192", "image_512": "https://placekitten.com/512/512" } }, "recipient_email": "golden@doodle.com", "recipient_user_id": "U87654321" }, "channel": { "id": "C12345678", "is_private": false, "is_im": false, "name": "test-slack-connect" }, "teams_in_channel": [ { "id": "T12345678", "name": "Corgis", "icon": { "...": "..." }, "is_verified": false, "domain": "corgis", "date_created": 1626789600 } ], "accepting_user": { "id": "U87654321", "team_id": "T87654321", "name": "golden", "updated": 1624406113, "profile": { "real_name": "Golden Doodle", "display_name": "Golden", "real_name_normalized": "Golden Doodle", "display_name_normalized": "Golden", "team": "T87654321", "avatar_hash": "g717728b118x", "email": "golden@doodle.com", "image_24": "https://placekitten.com/24/24", "image_32": "https://placekitten.com/32/32", "image_48": "https://placekitten.com/48/48", "image_72": "https://placekitten.com/72/72", "image_192": "https://placekitten.com/192/192", "image_512": "https://placekitten.com/512/512" } }, "event_ts": "1626877800.000000" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U12345678", "is_bot": false, "is_enterprise_install": false } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` ``` -------------------------------- ### reconnect_url Event Structure Source: https://docs.slack.dev/reference/events/reconnect_url This example shows the structure of the reconnect_url event, including the event wrapper and the event itself. It is currently experimental and unsupported. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "reconnect_url" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### file_created Event Structure Source: https://docs.slack.dev/reference/events/file_created This example shows the structure of the file_created event, including the event wrapper and the event payload. It is sent when a user uploads a file. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "file_created", "file_id": "F2147483862", "file": { "id": "F2147483862" } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### team_rename Event Structure Source: https://docs.slack.dev/reference/events/team_rename This example shows the event wrapper and the event structure for the team_rename event. Clients can use this to update the display of the workspace name as soon as it changes. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "team_rename", "name": "New Team Name Inc.", "team_id": "T1234" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### group_leave Message Event Example Source: https://docs.slack.dev/reference/events/message/group_leave This example shows the structure of a group_leave message event, including the event wrapper and the event payload. It is sent when a member leaves a private group. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "group_leave", "ts": "1358877455.000010", "user": "U2147483828", "text": "<@U2147483828|cal> has left the group" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U2147483828", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### external_org_migration_started Event Structure Source: https://docs.slack.dev/reference/events/external_org_migration_started This example shows the full structure of the external_org_migration_started event, including the event wrapper and the event payload. The 'team' object identifies the migrating workspace, and 'date_started' indicates when the migration began. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "external_org_migration_started", "team": { "id": "TXXXXXXXX", "is_migrating": true }, "date_started": 1551398400 }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### group_topic Message Event Example Source: https://docs.slack.dev/reference/events/message/group_topic This example shows the structure of a `group_topic` event, including the event wrapper and the event payload. This event is sent when a private group's topic is changed. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "group_topic", "ts": "1358877455.000010", "user": "U2147483828", "topic": "hello world", "text": "<@U2147483828|cal> set the group topic: hello world" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U2147483828", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### group_name Message Event Example Source: https://docs.slack.dev/reference/events/message/group_name This example shows the structure of the group_name message subtype event, including the event wrapper and the event payload. This event is sent when a private group is renamed. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "group_name", "ts": "1358877455.000010", "user": "U2147483828", "old_name": "random", "name": "watercooler", "text": "<@U21474783828|cal> has renamed the group from \"random\" to \"watercooler\"" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U2147483828", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### user_huddle_changed Event Payload Example Source: https://docs.slack.dev/reference/events/user_huddle_changed This example demonstrates the complete payload structure for the user_huddle_changed event, including the event wrapper and the event details. It shows user profile information and huddle status. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "user_huddle_changed", "user": { "id": "U1234567", "team_id": "T1234567", "name": "some-user", "deleted": false, "color": "4bbe2e", "real_name": "Some User", "tz": "America/Los_Angeles", "tz_label": "Pacific Daylight Time", "tz_offset": -25200, "profile": { "title": "", "phone": "", "skype": "", "real_name": "Some User", "real_name_normalized": "Some User", "display_name": "", "display_name_normalized": "", "fields": {}, "status_text": "riding a train", "status_emoji": ":mountain_railway:", "status_emoji_display_info": [], "status_expiration": 0, "avatar_hash": "g12345678910", "huddle_state": "in_a_huddle", "huddle_state_expiration_ts": 1746217265, "huddle_state_call_id": "R017QJ4PEN7", "first_name": "Some", "last_name": "User", "image_24": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=24&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-24.png", "image_32": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=32&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-32.png", "image_48": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=48&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-48.png", "image_72": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=72&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-72.png", "image_192": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=192&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-192.png", "image_512": "https://secure.gravatar.com/avatar/cb0c2b2ca5e8de16be31a55a734d0f31.jpg?s=512&d=https%3A%2F%2Fdev.slack.com%2Fdev-cdn%2Fv1648136338%2Fimg%2Favatars%2Fuser_shapes%2Fava_0001-512.png", "status_text_canonical": "", "team": "T1234567" }, "is_admin": false, "is_owner": false, "is_primary_owner": false, "is_restricted": false, "is_ultra_restricted": false, "is_bot": false, "is_app_user": false, "updated": 1648596421, "is_email_confirmed": true, "who_can_share_contact_card": "EVERYONE", "locale": "en-US" }, "cache_ts": 1648596421, "event_ts": "1648596712.000001" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U1234567", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789} ``` -------------------------------- ### Assistant Thread Started Event Structure Source: https://docs.slack.dev/reference/events/assistant_thread_started This JSON object represents the structure of the assistant_thread_started event, including the event wrapper and the event payload. It is received by assistant apps when a user starts a new AI thread. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "assistant_thread_started", "assistant_thread": { "user_id": "U123ABC456", "context": { "channel_id": "C123ABC456", "team_id": "T07XY8FPJ5C", "enterprise_id": "E480293PS82" }, "channel_id": "D123ABC456", "thread_ts": "1729999327.187299" }, "event_ts": "1715873754.429808" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### grid_migration_started Event Payload Source: https://docs.slack.dev/reference/events/grid_migration_started This example shows the complete Events API payload for the grid_migration_started event, including the event wrapper and the event structure. The team_id identifies the migrating workspace. ```json { "token": "XXYYZZ", "team_id": "TXXXXXXXX", "api_app_id": "AXXXXXXXXX", "event": { "type": "grid_migration_started", "enterprise_id": "EXXXXXXXX" }, "type": "event_callback", "event_id": "EvXXXXXXXX", "event_time": 1234567890 } ``` -------------------------------- ### Invite Requested Event Structure Source: https://docs.slack.dev/reference/events/invite_requested This example shows the full structure of the invite_requested event, including the event wrapper and the event payload. It is useful for understanding the data available when a user requests an invite. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "invite_requested", "invite_request": { "id": "12345", "email": "bront@puppies.com", "date_created": 123455, "requester_ids": [ "U123ABC456" ], "channel_ids": [ "C123ABC456" ], "invite_type": "full_member", "real_name": "Brent", "date_expire": 123456, "request_reason": "They're good dogs, Brant", "team": { "id": "T12345", "name": "Puppy ratings workspace incorporated", "domain": "puppiesrus" } } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### emoji_changed Event Structure Source: https://docs.slack.dev/reference/events/emoji_changed This example shows the general structure of the emoji_changed event, including the event wrapper and the event payload. ```APIDOC ## emoji_changed Event ### Description A custom emoji has been added or changed. ### Event Payload Example ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "emoji_changed", "subtype": "remove", "names": [ "picard_facepalm" ], "event_ts": "1361482916.000004" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` ### Usage The `emoji_changed` event is sent to all connections for a workspace when a custom emoji is updated. Clients should process the `subtype` if present or update their local cache of emoji by calling the `emoji.list` method. ``` -------------------------------- ### im_open Event Structure Source: https://docs.slack.dev/reference/events/im_open This example shows the full structure of the im_open event, including the event wrapper and the event payload. It is sent when a user opens a direct message. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "im_open", "user": "U024BE7LH", "channel": "D024BE91L" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### file_share Message Event Structure Source: https://docs.slack.dev/reference/events/message/file_share This example shows the event wrapper and the event structure for the file_share message subtype event. It includes details about the shared file, user, and channel. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "text": "We got one!", "files": [ { "id": "F0RDC39U1", "created": 1529342081, "timestamp": 1529342081, "name": "ghostrap.png", "title": "ghostrap.png", "mimetype": "image/png", "filetype": "png", "pretty_type": "PNG", "user": "U061F7AUR", "editable": false, "size": 196920, "mode": "hosted", "is_external": false, "external_type": "", "is_public": false, "public_url_shared": false, "display_as_bot": false, "username": "", "url_private": "https://files.slack.com/files-pri/T061EG9R6-F0RDC39U1/ghostrap.png", "url_private_download": "https://files.slack.com/files-pri/T061EG9R6-F0RDC39U1/download/ghostrap.png", "thumb_64": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_64.png", "thumb_80": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_80.png", "thumb_360": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_360.png", "thumb_360_w": 360, "thumb_360_h": 360, "thumb_480": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_480.png", "thumb_480_w": 480, "thumb_480_h": 480, "thumb_160": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_160.png", "image_exif_rotation": 1, "original_w": 512, "original_h": 512, "pjpeg": "https://files.slack.com/files-tmb/T061EG9R6-F0RDC39U1-f8c7b072da/ghostrap_pjpeg.jpg", "permalink": "https://episod-slackform.slack.com/files/U061F7AUR/F0RDC39U1/ghostrap.png", "permalink_public": "https://slack-files.com/T061EG9R6-F0RDC39U1-815d735817", "has_rich_preview": false } ], "user": "U123ABC456", "upload": true, "display_as_bot": false, "bot_id": null, "ts": "1529342088.000086", "channel": "D0L4B9P0Q", "event_ts": "1529342088.000086", "channel_type": "im" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789} ``` -------------------------------- ### channel_joined Event Structure Source: https://docs.slack.dev/reference/events/channel_joined This example shows the full structure of the channel_joined event, including the event wrapper and the event payload. It is sent to all connections for a user when they join a channel. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "channel_joined", "channel": { ... } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### group_deleted Event Structure Source: https://docs.slack.dev/reference/events/group_deleted This example shows the event wrapper and the event structure for the group_deleted event. It is sent to all members of a private channel when it is deleted. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "group_deleted", "channel": "G0QN9RGTT" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### email_domain_changed Event Structure Source: https://docs.slack.dev/reference/events/email_domain_changed This example shows the structure of the email_domain_changed event, including the event wrapper and the event payload. Most clients can ignore this event. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "email_domain_changed", "email_domain": "example.com", "event_ts": "1360782804.083113" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### File Change Event Structure Source: https://docs.slack.dev/reference/events/file_change This example shows the structure of the file_change event, including the event wrapper and the event payload. It is sent when a file's properties are changed. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "file_change", "file_id": "F2147483862", "file": { "id": "F2147483862" } }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### pin_removed Event Structure Source: https://docs.slack.dev/reference/events/pin_removed This example shows the structure of the pin_removed event, including the event wrapper and the event payload. It is sent when an item is un-pinned from a channel. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "pin_removed", "user": "U123ABC456", "channel_id": "C02ELGNBH", "item": { "..." }, "has_pins": false, "event_ts": "1360782804.083113" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### channel_join Event Structure Source: https://docs.slack.dev/reference/events/message/channel_join This example shows the full structure of a channel_join event, including the event wrapper and the event payload. It is useful for understanding the data received when a member joins a channel. The 'inviter' property is present if the user was invited. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "channel_join", "ts": "1358877458.000011", "user": "U2147483828", "text": "<@U2147483828|cal> has joined the channel", "inviter": "U123456789" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### im_close Event Structure Source: https://docs.slack.dev/reference/events/im_close This example shows the event wrapper and the event structure for the `im_close` event. It includes details like token, team ID, API app ID, and the event payload itself. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "im_close", "user": "U024BE7LH", "channel": "D024BE91L" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### me_message Event Structure Source: https://docs.slack.dev/reference/events/message/me_message This example shows the full event wrapper and the event structure for a me_message. It includes details like token, team ID, API app ID, and the event payload itself. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "me_message", "channel": "C123ABC456", "user": "U123ABC456", "text": "is doing that thing", "ts": "1355517523.000005" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### channel_convert_to_private Event Structure Source: https://docs.slack.dev/reference/events/message/channel_convert_to_private This example shows the event wrapper and the event structure for the channel_convert_to_private message subtype event. It is sent when a channel is made private. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "subtype": "channel_convert_to_private", "user": "U1234ABCD", "text": "made this channel *private*. Now, it can only be viewed or joined by invitation.", "type": "message", "ts": "1730984822.596869", "channel": "C1234ABCD", "event_ts": "1730984822.596869", "channel_type": "group" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U1234ABCD", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` -------------------------------- ### group_deleted Event Structure Source: https://docs.slack.dev/reference/events/group_deleted This example shows the structure of the group_deleted event, including the event wrapper and the event payload. It is sent when a private channel is deleted. ```APIDOC ## group_deleted Event ### Description A private channel was deleted. ### Event Payload - **type** (string) - The event type, which is `group_deleted`. - **channel** (string) - The ID of the deleted private channel. ### Example Usage ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "group_deleted", "channel": "G0QN9RGTT" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ``` ``` -------------------------------- ### channel_posting_permissions Event Structure Source: https://docs.slack.dev/reference/events/message/channel_posting_permissions This example shows the full event payload for a channel_posting_permissions event, including the event wrapper and the event structure itself. Ensure you have the necessary scopes like channels:history. ```json { "token": "XXYYZZ", "team_id": "T123ABC456", "api_app_id": "A123ABC456", "event": { "type": "message", "subtype": "channel_posting_permissions", "ts": "1614215651.001300", "user": "U123ABC456", "text": "changed channel posting permissions.", "channel": "C123ABC456", "event_ts": "1614215651.001300", "channel_type": "channel" }, "type": "event_callback", "authorizations": [ { "team_id": "T123ABC456", "user_id": "U123ABC456", "is_bot": false, "is_enterprise_install": false, } ], "event_id": "Ev123ABC456", "event_time": 123456789 } ```