invite_team_member
Invite a collaborator into a team by email, onto a role that already exists.
Purpose
Invites someone into a team. Addressed by email, not by user id — the invitee may not have a Subscriby account yet, which is what separates inviting from adding. They receive an invitation with a link; the membership appears when they accept.
role is a role code on that team, such as support-agent. Create it first with create_role if it does not exist.
Growth-tier capability. On a lower tier this returns TEAM_TIER_REQUIRED and
sends nothing.
Required ability
team-member:invite
Input schema
{
"type": "object",
"properties": {
"team_id": {
"type": "string",
"description": "UUID of the team to invite into."
},
"email": {
"type": "string",
"description": "Email address of the invitee."
},
"role": {
"type": "string",
"description": "Role code the invitee will hold. Must already exist on the team."
}
},
"required": ["team_id", "email", "role"]
}Output shape
{
"data": {
"team_id": "a83f0d51-4c92-4b7e-8615-2fd9e70a3c86",
"email": "[email protected]",
"role": "support-agent",
"status": "invited"
}
}status is always invited — nobody is a member until they accept, so there is no id to return yet.
Emits team.member.invited now, then team.member.joined when they accept.
Example prompts
"Invite [email protected] to the Research team as a manager."
"Add a support agent to my team — their email is [email protected]."
Failure modes
AUTHENTICATION_REQUIRED— no authenticated user on the request.TOKEN_MISSING_ABILITY— token lacksteam-member:invite.TEAM_TIER_REQUIRED— the caller's platform tier does not include Teams.RESOURCE_NOT_FOUND— no such team, or the caller is not a member.VALIDATION_FAILED— malformed email, unknownrolecode, or the person is already in the team. Calllist_rolesto see the codes available.
Related
update_team_member_roleremove_team_membercancel_team_invitation— withdraw before they accept.list_team_members- Team Members API
How is this guide?