manage_workspace_member
Invite, update, or remove a workspace colleague. This SENDS EMAILS and CHANGES WHO CAN ACCESS the workspace. Works with an API key that has the Manage team permission, or from ChatGPT, Claude and other OAuth connections; either way the user must be a workspace owner or admin. ALWAYS preview first: call without confirm, show the returned preview summary to the user, and only call again with confirm: true plus the returned preview_id after the user explicitly approves. action=invite: email and role required (publisher, editor or viewer), optional brand_ids and resend; always sends a pending invite email, never adds anyone instantly. action=update: member_id or invite_id (from list_workspace_members) plus role and/or brand_ids; or member_id plus api_access (true or false, on its own) to turn API and AI app access on or off for that teammate, which lets them use the workspace API plan from their own keys and AI apps (off by default; you cannot change your own; only the owner can change it for an admin; turning it off stops their keys, AI app connections and webhooks for this workspace). action=remove: member_id (removes the teammate and revokes their API keys for this workspace) or invite_id (cancels a pending invite). Admin seats can only be granted in the posterly dashboard. The workspace owner is emailed about every change.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | No | action=invite (required) or action=update: publisher, editor, or viewer. Admin is dashboard-only. | |
| No | action=invite only: the colleague email address. | ||
| action | Yes | invite, update, or remove. | |
| resend | No | action=invite only: email an unchanged pending invite again. | |
| confirm | No | Leave out to get a preview. Set true only after the user explicitly approved the preview, together with preview_id. | |
| brand_ids | No | action=invite or action=update: limit the seat to these brand IDs (from list_brands). Empty array means every brand. Omit on update to keep the current brands. | |
| invite_id | No | action=update or action=remove: a pending invite ID from list_workspace_members. | |
| member_id | No | action=update or action=remove: a member ID from list_workspace_members. | |
| api_access | No | action=update with member_id only, on its own: true lets the teammate use this workspace's API plan from their own keys and AI apps; false turns it off. | |
| preview_id | No | The preview_id returned by the preview call. Required with confirm: true. | |
| workspace_id | Yes | Workspace ID (from whoami). |