Subscribe to only the message events that mention your app or bot
{
"type": "app_mention",
"user": "U061F7AUR",
"text": "<@U0LAN0Z89> is it everything a river should be?",
"ts": "1515449522.000016",
"channel": "C0LAN2Q65",
"event_ts": "1515449522000016"
}
This app event allows your app to subscribe to message
events that directly mention your bot user.
Your Slack app must have a bot user configured and installed to use this event.
If a user mentions your app in a conversation that your app isn't party to, the user has the option to invite your app to the conversation. In that case, you'll receive an app_mention
event for the invite.
You'll receive only the messages pertinent to your app with this event. If your app is mentioned but not part of a conversation (and not invited to join), you won't receive an event.
The app_mention
event is not a message
like the message.*
event types. However, your app can treat its contents similarly.
Messages sent to your app in direct message conversations are not dispatched via app_mention
, whether the app is explicitly mentioned or otherwise. Subscribe to message.im
events to receive messages directed to your bot user in direct message conversations.
app_mention
events are just like other message
events sent over the Events API, but their type
indicates app_mention
.
Whether your app has just been invited to a channel or is receiving a mention after it's already in a channel, the format and shape is the same.
Read on for more detail on the two scenarios with full Events API envelopes.
When your app is directly invited to a channel as a result of being mentioned, you'll receive that inciting message as an app_mention
:
{
"token": "ZZZZZZWSxiZZZ2yIvs3peJ",
"team_id": "T061EG9R6",
"api_app_id": "A0MDYCDME",
"event": {
"type": "app_mention",
"user": "W021FGA1Z",
"text": "You can count on <@U0LAN0Z89> for an honorable mention.",
"ts": "1515449483.000108",
"channel": "C0LAN2Q65",
"event_ts": "1515449483000108"
},
"type": "event_callback",
"event_id": "Ev0MDYHUEL",
"event_time": 1515449483000108,
"authed_users": [
"U0LAN0Z89"
]
}
You'll need to monitor your app's channel membership separately from this event. Consider subscribing to member_joined_channel
events too.
Here's the happiest path: you're already part of a conversation and your app is mentioned. It can respond freely after receiving an event like this:
{
"token": "ZZZZZZWSxiZZZ2yIvs3peJ",
"team_id": "T061EG9R6",
"api_app_id": "A0MDYCDME",
"event": {
"type": "app_mention",
"user": "U061F7AUR",
"text": "What is the hour of the pearl, <@U0LAN0Z89>?",
"ts": "1515449522.000016",
"channel": "C0LAN2Q65",
"event_ts": "1515449522000016"
},
"type": "event_callback",
"event_id": "Ev0LAN670R",
"event_time": 1515449522000016,
"authed_users": [
"U0LAN0Z89"
]
}
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