A member's presence changed
Single-user presence change event:
{
"type": "presence_change",
"user": "U024BE7LH",
"presence": "away"
}
Multiple-user batch presence change event:
{
"type": "presence_change",
"users": ["U024BE7LH", "U012EA2U1"],
"presence": "away"
}
The presence_change
event is sent to connections for a workspace when a user changes presence status and the app has subscribed using presence_sub
. Clients can use this to update their local list of users' presence.
RTM API Presence is now only available via subscription.
As of January 2018, presence_change
events are not dispatched without presence subscriptions established with presence_sub
. Relatedly, current user presence status is no longer communicated in rtm.start
. Learn more.
If a user updates their presence manually, the manual_presence_change
event will also be sent to all connected clients for that user.
There are two forms of this event. When only one user's presence is being communicated, you'll receive a user
field with a single user ID present within. This form is deprecated.
Pass the batch_presence_aware=1
parameter to rtm.start
or rtm.connect
to instruct the Slack message server to batch your presence messages and send a users
attribute instead, containing an array of users changing to the same status.
Sometimes you'll get a single event for a single user but if you use batch_presence_aware=1
, that single user event will be single item in the users
array.
In case you missed that: if you send batch_presence_aware=1
then the shape of presence_change
events changes. Instead of a string-based user
field, you'll get users
, an array.
If you're writing a library that supports presence_change
events, you should be prepared to handle both kinds of presence events.
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