UserProfile
Retrieve a user's profile information, including their custom status. This table supports only Select and Update operations.
Select
The adapter 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 adapter processes other filters client-side within the adapter.
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 |