UserProfile
Retrieve a user's profile information, including their custom status. This table supports only Select and Update operations.
Select
The add-in will use the Slack API to process search criteria that refer to the UserId column. This column support server-side processing for the =,IN operator. The add-in processes other filters client-side within the add-in.
For example, the following queries are processed server side by the Slack APIs:
SELECT * FROM UserProfile WHERE UserId='W1234567890'; SELECT * FROM UserProfile WHERE UserId in ('W1234567890','W1234567891','W1234567892');
Insert
Slack does not support inserting new users.
Update
There are a number of requirements for updating the user profile:
- Workspace must be on a paid plan to update the profile value for other users.
- Must select “API” as the “Data source” within the Configure Profiles admin tool.
- This operation requires to use a user access token (Not a bot token) that is users.profile:write.
- Org users cannot change their own profile details.
- You cannot change the profile details for another user unless you use a token that was generated by an Owner or Admin.
- You also can only change the profile details for a user if your role level is higher than theirs.
You can update a user profile by providing the Id of the user. For example:
UPDATE UserProfile SET DisplayName = 'Steve', RealName='Steve Smith' , customfields='{"Xf0111111": {"value": "Engineer","alt": ""},"Xf0222222":{"value": "2022-04-11","alt": ""}}', StatusText='riding a train', StatusEmoji=':train:' WHERE userId = 'W1234567890';
Delete
Slack does not support deleting users.
Columns
Name | Type | ReadOnly | Description |
AvatarHash | String | True |
Avatar Hash |
DisplayName | String | False |
The display name the user has chosen to identify themselves by in their workspace profile. |
DisplayNormalisedName | String | True |
The DisplayName field, but with any non-Latin characters filtered out. |
String | False |
The Email of the user. The users:read.email OAuth scope is required to access the email field. | |
CustomFields | String | False |
All the custom profile fields for the user. |
FirstName | String | False |
The user's first name |
LastName | String | False |
The user's last name. |
Phone | String | False |
The user's phone number, in any format. |
ProfileImage1024 | String | True |
URL to square, web-viewable image of a user's profile of size 1024. |
ProfileImage192 | String | True |
URL to square, web-viewable image of a user's profile of size 192. |
ProfileImage24 | String | True |
URL to square, web-viewable image of a user's profile of size 24. |
ProfileImage32 | String | True |
URL to square, web-viewable image of a user's profile of size 32. |
ProfileImage48 | String | True |
URL to square, web-viewable image of a user's profile of size 48. |
ProfileImage512 | String | True |
URL to square, web-viewable image of a user's profile of size 512. |
ProfileImage72 | String | True |
URL to square, web-viewable image of a user's profile of size 72. |
ProfileImageOriginal | String | True |
URL to square, web-viewable image of a user's profile of original size. |
IsCustomImage | Boolean | True |
Whether the image of a user's profile is custom image or not. |
Pronouns | String | False |
The pronouns the user prefers to be addressed by. |
HuddleState | String | True |
Huddle state of the user. |
HuddleStateCallId | String | True |
Call Id of the huddle state |
HuddleStateExpirationTime | Datetime | True |
The timestamp of when the huddle state will expire. |
RealName | String | False |
The user's first and last name. |
RealNormalisedName | String | True |
The RealName field, but with any non-Latin characters filtered out. |
Skype | String | True |
A shadow from a bygone era. It will always be an empty string and cannot be set otherwise. |
StartDate | String | False |
The date the person joined the organization. |
StatusEmoji | String | False |
The displayed emoji that is enabled for the Slack team, such as :train:. |
StatusEmojiDisplayInfo | String | True |
The information about the status emoji display. |
StatusExpireTime | Datetime | False |
The timestamp of when the status will expire. Providing 0 or omitting this field results in a custom status that will not expire. |
StatusText | String | False |
The displayed text of up to 100 characters. |
StatusTextCanonical | String | False |
The Status text of the user. |
Title | String | False |
The user's title. |
Pseudo-Columns
Pseudo column fields are used in the WHERE clause of SELECT statements. These offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
UserId | String |
User Id to retrieve profile info for. |
IncludeLabels | String |
Include labels for each ID in custom profile fields. Using this parameter will heavily rate-limit your requests and is not recommended. Default value is False |