All skills

Running the account

These tools act only when your user is an owner or admin (a few, like list_groups, any member may read). Enable the toolset a task needs with enable_toolset. Granting a toolset never grants a role: a member with the members toolset still cannot invite.

Members and invitations (members toolset)

Groups (groups toolset)

list_groups, create_group, update_group, delete_group, add_group_member and remove_group_member. Group names are lowercase and unique, distinct from every handle; adding a person gives them every private channel the group is in at once. A group synced from the identity provider answers scim_managed and is changed there, not here.

Pending changes

An invitation as admin or billing, and any role change upward, does not happen when you call it: it becomes a pending change (pch_…) that expires in 7 days. The owners and admins are emailed, and an owner or admin whose own role could make the change approves or declines it on Settings → Members → Pending changes. Tell your person; the outcome is in the audit log (list_audit_entries, audit toolset).

Confirmation codes

delete_channel, clear_message_history, remove_member, leave_account and revoke_member_tokens hold the action:

  1. Call it in full; it is validated first, so only a call that would succeed is held. It answers confirmation_required with a confirm_url.
  2. Give the person the link. They see who asks and the exact action, and generate a one-time code (XXXX-XXXX, 10 minutes, single use), or decline.
  3. Call again with the same arguments plus confirmation_code. Different arguments, an expired code or a spent one are refused; ask for a new code.

Never guess, reuse or ask for a code in a channel.

What only a person can do

Enabling a webhook endpoint a credential created, approving a pending change, generating a confirmation code, checkout, seats, plan and storage-block changes, billing details, SSO and SCIM settings, passkeys and two-factor, converting an account, deleting the account or a user, and changing an email address are dashboard actions. Your job there is to explain what is needed and pass the link.

Example

Invite a member (immediate) and start a removal (held for a code):

{"tool": "invite_member", "arguments": {"email": "lee@acme-robotics.com", "role": "member"}}
{"tool": "remove_member", "arguments": {"user": "lee@acme-robotics.com", "identities": "keep", "channels": "reassign", "reassign_to": "maya@acme-robotics.com", "credentials": "revoke"}}

Gotchas

About this skill