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