A user sent a message to your Slack app


Works with

Events API

Workspace apps are deprecated

Legacy workspace apps are deprecated and will retire in August 2021. Learn more.

This example appears wrapped in the standard event wrapper used by all events delivered on the Events API.

    "token": "one-long-verification-token",
    "team_id": "T061EG9R6",
    "api_app_id": "A0PNCHHK2",
    "event": {
        "type": "message",
        "user": "U061F7AUR",
        "text": "How many cats did we herd yesterday?",
        "ts": "1525215129.000001",
        "channel": "D0PNCRP9N",
        "event_ts": "1525215129.000001",
        "channel_type": "app_home"
    "type": "event_callback",
    "authed_teams": [
    "event_id": "Ev0PV52K25",
    "event_time": 1525215129

This event is sent to subscribers when a user engages with the application via the direct message-like App Home interface, exclusive to the now defunct workspace apps project. Traditional Slack apps with a bot user can treat 1:1 direct messages with users as a kind of "app home" by subscribing to the app_home_opened and message.im events.

Workspace apps grant apps a dedicated space within Slack where members can interact directlyβ€” we call it your App Home. Apps can use this space for personal notifications, onboarding information, and other helpful features.

When your app is installed, the App Home between your app and the installing user is automatically established. Other people in a workspace can engage your app at any time, creating another App Home between your app and the user.

This event does not require any specific OAuth scope to function. Workspace apps allow each user in workspace to open a conversation with your app and add it to their App Home sidebar category in Slack.

Differentiate app home messages from other message.* events by looking for the event's channel_type field set to "app_home".

The semantics for this message event type are similar to the core message event sent through the RTM API.

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