admin.users.*: list, invite, assign and remove users; change roles
(admin, owner, regular); manage guest expiration; and list, reset or
invalidate sessions and session settings.
Example
::users ::slack::admin::users
// Sign a compromised account out everywhere
::users/session-reset(::users/SessionResetRequest({user_id: "U0123ABCDEF"}))
// Deactivated users across the org
gone ::users/list-all(::users/ListRequest({is_active: false}), 2000)
Functions
assign
fn (request: AssignRequest): Map
fn (request: AssignRequest, opts: Map): Map
admin.users.assign - Add an existing org user to a workspace.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
get-expiration
fn (): Map
fn (request: GetExpirationRequest): Map
fn (request: GetExpirationRequest, opts: Map): Map
admin.users.getExpiration - Get a guest's expiration timestamp.
Scope: admin.users:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
invite
fn (request: InviteRequest): Map
fn (request: InviteRequest, opts: Map): Map
admin.users.invite - Invite someone to a workspace, joining channel_ids. is_restricted / is_ultra_restricted invite a multi- or single-channel guest; guest_expiration_ts sets a guest's expiry.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
list
fn (): Map
fn (request: ListRequest): Map
fn (request: ListRequest, opts: Map): Map
admin.users.list - List users (users). Pass team_id for one workspace, or omit it with an org token to list the whole org.
Scope: admin.users:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
Cursor-paginated: pass cursor from response_metadata.next_cursor, or use list-all.
list-all
fn (): Vec
fn (request: ListRequest): Vec
fn (request: ListRequest, max-items: Int): Vec
fn (request: ListRequest, max-items: Int, opts: Map): Vec
Every users entry from admin.users.list, following next_cursor until the last page or max-items (default 1000). request sets the filters; its cursor is the starting point.
remove-user
fn (request: RemoveUserRequest): Map
fn (request: RemoveUserRequest, opts: Map): Map
admin.users.remove - Remove a user from a workspace.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-clear-settings
fn (request: SessionClearSettingsRequest): Map
fn (request: SessionClearSettingsRequest, opts: Map): Map
admin.users.session.clearSettings - Clear per-user session settings so the org defaults apply.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-get-settings
fn (request: SessionGetSettingsRequest): Map
fn (request: SessionGetSettingsRequest, opts: Map): Map
admin.users.session.getSettings - Get per-user session settings (duration, quit-on-close).
Scope: admin.users:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-invalidate
fn (request: SessionInvalidateRequest): Map
fn (request: SessionInvalidateRequest, opts: Map): Map
admin.users.session.invalidate - Invalidate one session by id.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-list
fn (): Map
fn (request: SessionListRequest): Map
fn (request: SessionListRequest, opts: Map): Map
admin.users.session.list - List active sessions (active_sessions). Pass both team_id and user_id, or neither for the whole org.
Scope: admin.users:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
Cursor-paginated: pass cursor from response_metadata.next_cursor, or use session-list-all.
session-list-all
fn (): Vec
fn (request: SessionListRequest): Vec
fn (request: SessionListRequest, max-items: Int): Vec
fn (request: SessionListRequest, max-items: Int, opts: Map): Vec
Every active_sessions entry from admin.users.session.list, following next_cursor until the last page or max-items (default 1000). request sets the filters; its cursor is the starting point.
session-reset
fn (request: SessionResetRequest): Map
fn (request: SessionResetRequest, opts: Map): Map
admin.users.session.reset - Sign a user out of every session (or only mobile/web ones).
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-reset-bulk
fn (request: SessionResetBulkRequest): Map
fn (request: SessionResetBulkRequest, opts: Map): Map
admin.users.session.resetBulk - Sign up to 1000 users out of their sessions (background job).
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
session-set-settings
fn (request: SessionSetSettingsRequest): Map
fn (request: SessionSetSettingsRequest, opts: Map): Map
admin.users.session.setSettings - Set session duration (seconds, 28800 to 315569520) or quit-on-close for users.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
set-admin
fn (request: SetAdminRequest): Map
fn (request: SetAdminRequest, opts: Map): Map
admin.users.setAdmin - Make a user a workspace admin.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
set-expiration
fn (request: SetExpirationRequest): Map
fn (request: SetExpirationRequest, opts: Map): Map
admin.users.setExpiration - Set when a guest account expires (Unix seconds).
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
set-owner
fn (request: SetOwnerRequest): Map
fn (request: SetOwnerRequest, opts: Map): Map
admin.users.setOwner - Make a user a workspace owner.
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
set-regular
fn (request: SetRegularRequest): Map
fn (request: SetRegularRequest, opts: Map): Map
admin.users.setRegular - Make a user a regular member (drops admin/owner, or converts a guest).
Scope: admin.users:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
unsupported-versions-export
fn (): Map
fn (request: UnsupportedVersionsExportRequest): Map
fn (request: UnsupportedVersionsExportRequest, opts: Map): Map
admin.users.unsupportedVersions.export - Ask Slackbot to send a CSV of users on unsupported Slack client versions.
Scope: admin.users:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
Types
AssignRequest
AssignRequest type {
team_id: Str,
user_id: Str,
channel_ids: Vec<Str>?,
is_restricted: Bool?,
is_ultra_restricted: Bool?
}
GetExpirationRequest
GetExpirationRequest type {
user_id: Str?,
target_team: Str?
}
InviteRequest
InviteRequest type {
team_id: Str,
email: Str,
channel_ids: Vec<Str>,
real_name: Str?,
custom_message: Str?,
is_restricted: Bool?,
is_ultra_restricted: Bool?,
guest_expiration_ts: Str?,
email_password_policy_enabled: Bool?,
resend: Bool?
}
ListRequest
ListRequest type {
team_id: Str?,
include_deactivated_user_workspaces: Bool?,
is_active: Bool?,
cursor: Str?,
limit: Int?
}
RemoveUserRequest
RemoveUserRequest type {
team_id: Str,
user_id: Str
}
SessionClearSettingsRequest
SessionClearSettingsRequest type {
user_ids: Vec<Str>
}
SessionGetSettingsRequest
SessionGetSettingsRequest type {
user_ids: Vec<Str>
}
SessionInvalidateRequest
SessionInvalidateRequest type {
session_id: Str,
team_id: Str
}
SessionListRequest
SessionListRequest type {
team_id: Str?,
user_id: Str?,
cursor: Str?,
limit: Int?
}
SessionResetBulkRequest
SessionResetBulkRequest type {
user_ids: Vec<Str>,
mobile_only: Bool?,
web_only: Bool?
}
SessionResetRequest
SessionResetRequest type {
user_id: Str,
mobile_only: Bool?,
web_only: Bool?
}
SessionSetSettingsRequest
SessionSetSettingsRequest type {
user_ids: Vec<Str>,
duration: Int?,
desktop_app_browser_quit: Bool?
}
SetAdminRequest
SetAdminRequest type {
team_id: Str,
user_id: Str
}
SetExpirationRequest
SetExpirationRequest type {
user_id: Str,
expiration_ts: Int,
team_id: Str?
}
SetOwnerRequest
SetOwnerRequest type {
team_id: Str,
user_id: Str
}
SetRegularRequest
SetRegularRequest type {
team_id: Str,
user_id: Str
}
UnsupportedVersionsExportRequest
UnsupportedVersionsExportRequest type {
date_end_of_support: Int?,
date_sessions_started: Int?
}