admin.functions.*: list the custom functions apps provide and
control who can use them in workflows. Scope: admin.workflows:read
/ admin.workflows:write.
Example
::functions ::slack::admin::functions
fns ::functions/list(::functions/ListRequest({app_ids: ["A0123ABCDEF"]}))
::functions/permissions-set(::functions/PermissionsSetRequest({
function_id: first(fns.functions).id,
visibility: "app_collaborators"
}))
Functions
list
fn (request: ListRequest): Map
fn (request: ListRequest, opts: Map): Map
admin.functions.list - List the functions of up to 50 apps (functions).
Scope: admin.workflows: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 (request: ListRequest): Vec
fn (request: ListRequest, max-items: Int): Vec
fn (request: ListRequest, max-items: Int, opts: Map): Vec
Every functions entry from admin.functions.list, following next_cursor until the last page or max-items (default 1000). request sets the filters; its cursor is the starting point.
permissions-lookup
fn (request: PermissionsLookupRequest): Map
fn (request: PermissionsLookupRequest, opts: Map): Map
admin.functions.permissions.lookup - Get the visibility and allowed users for functions.
Scope: admin.workflows:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
permissions-set
fn (request: PermissionsSetRequest): Map
fn (request: PermissionsSetRequest, opts: Map): Map
admin.functions.permissions.set - Set who can use a function: everyone, app_collaborators, named_entities (with user_ids) or no_one.
Scope: admin.workflows:read. Returns Slack's response body; ok: false comes back as an Err(SlackError).
Types
ListRequest
ListRequest type {
app_ids: Vec<Str>,
team_id: Str?,
cursor: Str?,
limit: Int?
}
PermissionsLookupRequest
PermissionsLookupRequest type {
function_ids: Vec<Str>
}
PermissionsSetRequest
PermissionsSetRequest type {
function_id: Str,
visibility: Str,
user_ids: Vec<Str>?
}