team.member.joined
Invited collaborator accepts and joins.
project_id is always null for team events.When this fires
An invited collaborator accepts and joins the team.
Required ability
team:view-any — token must carry this at mint time to subscribe an endpoint to this event.
Payload
{
"id": "evt_01HX...",
"type": "team.member.joined",
"created_at": "2026-05-18T10:30:00Z",
"api_version": "2026-05-01",
"project_id": null,
"data": {
"team_id": "tem_01HX...",
"user_id": "usr_01HX..."
}
}Field reference
| Field | Type | Notes |
|---|---|---|
id | string ULID | Unique event id, prefixed evt_. Use for idempotent processing. |
type | string | Always team.member.joined for this event. |
created_at | ISO 8601 timestamp | Server-side emission time. |
api_version | string | Webhook API contract version. |
project_id | null | Always null — account-level event. |
data.team_id | string ULID | Team the collaborator joined. |
data.user_id | string ULID | User id of the collaborator. |
Caveats
- The collaborator's role was determined at invitation time; see the matching
team.member.invitedevent for the role. - A user can belong to multiple teams; this event is scoped per (team, user).
Related events
team.member.invited— predecessor.team.member.role_changed— typical follow-up over time.- Team events overview — back to family overview.
How is this guide?