Skip to main content

users.profile.get method

Welcome to the new home of Slack developer docs!

We're still building and not all features are available quite yet. Enjoy this peek into the future!

Not ready for the future? Return to the past at api.slack.com.

Usage info

Use this method to retrieve a user's profile information.

If you're frequently calling users.profile.get on behalf of a team or user, we recommend caching labels retrieved from team.profile.get. Using the include_labels parameter will severely rate-limit requests to this method.

Response

The following fields are the default fields of a user's workspace profile. A user may have additional custom fields, though! Use team.profile.get to view all the workspace's custom profile fields.

FieldTypeDescription
avatar_hashString
display_nameStringThe display name the user has chosen to identify themselves by in their workspace profile. Do not use this field as a unique identifier for a user, as it may change at any time. Instead, use id and team_id in concert.
display_name_normalizedStringThe display_name field, but with any non-Latin characters filtered out.
emailStringA valid email address. It cannot have spaces, and it must have an @ and a domain. It cannot be in use by another member of the same team. Changing a user's email address will send an email to both the old and new addresses, and also post a slackbot message to the user informing them of the change. This field can only be changed by admins for users on paid teams. When using an OAuth Access Token (that starts with xoxp-) to retrieve one's own profile details, the email field will not be returned in the response if the token does not have the users:read.email scope.
fieldsObjectAll the custom profile fields for the user.
first_nameStringThe user's first name. The name slackbot cannot be used. Updating first_name will update the first name within real_name.
image_*StringThese various fields will contain https URLs that point to square ratio, web-viewable images (GIFs, JPEGs, or PNGs) that represent different sizes of a user's profile picture.
last_nameStringThe user's last name. The name slackbot cannot be used. Updating last_name will update the second name within real_name.
phoneStringThe user's phone number, in any format.
pronounsStringThe pronouns the user prefers to be addressed by.
real_nameStringThe user's first and last name. Updating this field will update first_name and last_name. If only one name is provided, the value of last_name will be cleared.
real_name_normalizedStringThe real_name field, but with any non-Latin characters filtered out.
skypeStringA shadow from a bygone era. It will always be an empty string and cannot be set otherwise.
start_dateStringThe date the person joined the organization. Only available if Slack Atlas is enabled.
status_emojiStringThe displayed emoji that is enabled for the Slack team, such as :train:.
status_expirationIntegerthe Unix timestamp of when the status will expire. Providing 0 or omitting this field results in a custom status that will not expire.
status_textStringThe displayed text of up to 100 characters. We strongly encourage brevity. See custom status for more info.
teamStringThe ID of the workspace the user is in.
titleStringThe user's title.
Bot users may contain an always_active profile field, indicating whether the bot user is active in a way that overrides traditional presence rules.

Email addresses

Accessing email addresses

The [users:read.email](/reference/scopes/users.read.email OAuth scope is now required to access the email field in user objects returned by the users.list and users.info web API methods. users:read is no longer a sufficient scope for this data field. Learn more.

If the Email Display setting is unchecked in your Slack Admin settings, users.profile.get does not return an email value.