admin.roles.*: list, add and remove admin role assignments (Channel
Manager, Workflow Admin, and other system roles) on the org, a
workspace, or a channel. entity_ids are org (E...), team (T...)
or channel (C...) ids. Scope: admin.roles:read / admin.roles:write.
Example
::roles ::slack::admin::roles
managers ::roles/list-assignments(::roles/ListAssignmentsRequest({role_ids: ["Rl0A"]}))
::roles/add-assignments(::roles/AddAssignmentsRequest({
role_id: "Rl0A",
entity_ids: ["C0123ABCDEF"],
user_ids: ["U0123ABCDEF"]
}))
Functions
add-assignments
fn (request: AddAssignmentsRequest): Map
fn (request: AddAssignmentsRequest, opts: Map): Map
admin.roles.addAssignments - Assign a role to users on the given entities. Partial failures come back in rejected_users / rejected_entities.
Scope: admin.roles:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
list-assignments
fn (): Map
fn (request: ListAssignmentsRequest): Map
fn (request: ListAssignmentsRequest, opts: Map): Map
admin.roles.listAssignments - List role assignments (role_assignments), filtered by role_ids and/or entity_ids.
Scope: admin.roles: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-assignments-all.
list-assignments-all
fn (): Vec
fn (request: ListAssignmentsRequest): Vec
fn (request: ListAssignmentsRequest, max-items: Int): Vec
fn (request: ListAssignmentsRequest, max-items: Int, opts: Map): Vec
Every role_assignments entry from admin.roles.listAssignments, following next_cursor until the last page or max-items (default 1000). request sets the filters; its cursor is the starting point.
remove-assignments
fn (request: RemoveAssignmentsRequest): Map
fn (request: RemoveAssignmentsRequest, opts: Map): Map
admin.roles.removeAssignments - Remove a role from users on the given entities.
Scope: admin.roles:write. Returns Slack's response body; ok: false comes back as an Err(SlackError).
Types
AddAssignmentsRequest
AddAssignmentsRequest type {
role_id: Str,
entity_ids: Vec<Str>,
user_ids: Vec<Str>
}
ListAssignmentsRequest
ListAssignmentsRequest type {
role_ids: Vec<Str>?,
entity_ids: Vec<Str>?,
sort_dir: Str?,
cursor: Str?,
limit: Int?
}
RemoveAssignmentsRequest
RemoveAssignmentsRequest type {
role_id: Str,
entity_ids: Vec<Str>,
user_ids: Vec<Str>
}