team_members_add

Management

Invite Team Members

Invite people to a team by email (bulk). Each address receives an invitation email — members join when they accept. Requires a team admin (OAuth) or a team-scoped API key with the team.members.manage scope; other credentials get a permission error. Args: - team_id: required - emails: required — 1-32 email addresses to invite - role: optional — 'admin' or 'member' (default 'member'), applied to all - project_ids: optional — projects the invitees join on acceptance - response_format: optional — 'json' (default) or 'markdown' Returns: per-email outcome rows (invited | failed | skipped) with reasons (already a member, already invited, seat limit reached). Processes members one by one and reports a per-member outcome. If the response has status "partial", call the tool again with the "remaining" list to finish. Examples: - "Invite these 5 contractors as members with access to project X" -> emails=[...], role="member", project_ids=["<project_id>"] Don't use when: Adding an existing team member to a project — use project_members_add.
open-world

Parameters

NameTypeRequiredDescription
team_idstringTeam ID. Get it from teams_list.
project_idstringTenant context for OAuth sessions only — does NOT grant project access; use project_ids for that.
emailsarrayEmail addresses to invite (1-32). Each receives an invitation email.
roleenum(admin | member)memberTeam role granted on acceptance. Default 'member'.
project_idsarrayProjects the invitees join on acceptance.
response_formatenum(json | markdown)jsonOutput format: 'json' for structured data, 'markdown' for human-readable text.