Manage workspace members
manage_membersAdminister who is in the workspace. action:"list" returns every member (user_id, email, role, joined_at, manager_id, last_active_at) and every pending invite. action:"invite" invites an email address at a role (default member) — an existing member is refused, re-inviting an address renews its invite, and the sign-in email is sent best-effort (email_sent says whether it went). action:"resend_invite" renews a pending invite by invite_id; action:"revoke_invite" withdraws one. action:"set_role" changes a member's role (admin / manager / member / viewer; the last admin can't be demoted), action:"set_manager" sets or clears (null) who a member reports to (no self-reporting, no loops), and action:"remove" drops a member (never yourself, never the last admin; their records stay and the paid seat count follows). Every action but list and revoke_invite needs confirm:true — an invite is a membership at a role, so it previews like a role change: without confirm the call changes nothing and returns a preview naming the person and the exact change. Admin-only. Leaving or switching your OWN workspace stays in the browser: this connection is bound to one membership and cannot act on itself.
When to use: When an admin wants to see who is in the workspace, invite or re-invite someone, withdraw an invite, change a member's role or reporting line, or remove a member — from the conversation instead of Settings → People. Every invite and change to a person asks for confirm:true.
Example: Invite sara@brightside.example as a manager and make Jonas report to her.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | invite (default member) and set_role: admin, manager, member or viewer. | |
| No | invite: the address to invite (lower-cased and trimmed). | ||
| action | Yes | list, invite, resend_invite, revoke_invite, set_role, set_manager or remove. One of: list | invite | resend_invite | revoke_invite | set_role | set_manager | remove. | |
| confirm | No | invite / resend_invite / set_role / set_manager / remove: true carries the change out; omitted or false returns the preview and changes nothing. | |
| user_id | No | set_role / set_manager / remove: the member's user_id from a list call. | |
| invite_id | No | resend_invite / revoke_invite: the pending invite's id from a list call. | |
| manager_id | No | set_manager: the manager's user_id, or null to clear the reporting line. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| action | No | ||
| invite | No | ||
| member | No | ||
| applied | No | ||
| invites | No | ||
| members | No | ||
| email_sent | No | ||
| requires_confirm | No |