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 | References | 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 |