slack_act
Change Slack — ops: create_usergroup, update_usergroup,
disable_usergroup, enable_usergroup, set_usergroup_members,
add_usergroup_members, remove_usergroup_members. Reads: slack.
create_usergroup:name(+handle,description,channels,users) — a group starts empty;userssets its members right after.update_usergroup:usergroup+ any ofname,handle(without@),description,channels(default channel IDs, replaces the list).disable_usergroup/enable_usergroup:usergroup. Disabling is how a group is emptied or retired; it is reversible and keeps the members.set_usergroup_members:usergroup+users= the FULL new list (whoever is missing leaves).add_usergroup_members/remove_usergroup_members:usergroup+usersto add or remove — the current list is read, then replaced. Every member op answers{before, after, added, removed}.
dry_run=true validates and returns that diff (or the fields that would be
sent) without writing. Slack refuses an empty member list: removing the
last members is refused here — disable the group instead.
Requires usergroups:write. ⚠️ A bot token (author="app") can only write
when the workspace lets everyone manage user groups; otherwise use
author="me" with the user token of an allowed member.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"op": "<op>"
},
"name": "slack_act"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | The change to make (see above). | |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| name | No | Display name (`create_usergroup`, `update_usergroup`). | |
| users | No | Member user IDs (U…) — the member ops; `create_usergroup` too. | |
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| author | No | Who acts — `"me"` (user token) or `"app"` (bot token). Required when the workspace holds both tokens. | |
| handle | No | Mention handle without `@` (`create_usergroup`, `update_usergroup`). | |
| _run_id | No | OBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas. | |
| dry_run | No | Validate and preview, write nothing. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| channels | No | Default channel IDs (C…) (`create_usergroup`, `update_usergroup`). | |
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| usergroup | No | User group ID (S…), from `slack(op="usergroups")`. All ops but `create_usergroup`. | |
| description | No | Description (`create_usergroup`, `update_usergroup`). |