Skip to content

Teams ​

Teams group users together and serve as the organizational backbone for incident response in Alga. A team links members, escalation policies, and on-call schedules so that when an incident fires, the right people are notified through the right channels.

How Teams Fit In ​

Teams connect several Alga concepts together:

  Team ──────── Members (users with admin/member roles)
    │
    ├── On-Call Schedule ── one auto-provisioned schedule per team
    │       (rotating coverage: who's on call right now)
    │
    └── Services ── team owns specific services in the catalog

Escalation policies are configured separately and target teams (or individual users) as escalation targets — a team is not directly "linked" to a policy. When an alert becomes an incident on a service, Alga loads the service's escalation policy, and any level that targets a team resolves to whoever is currently on call for that team's schedule. The resolved responder is then paged through the channels they configured in their notification preferences.

Team Structure ​

A team has a unique name and an optional description, plus:

  • Members — users assigned to the team (user_id + role), each with a role:
    • Admin — can add/remove members, manage the schedule and members
    • Member — appears in the team's roster and can be targeted by escalation
  • On-Call Schedule — exactly one schedule, auto-provisioned when the team is created. Its display name is derived from the team, and its rotating coverage is defined by layers

Creating a Team ​

  1. Go to On-Call → Teams → Create Team
  2. Give the team a name (unique) and optional description
  3. Add members by searching for users and assigning roles

Creating a team automatically provisions its on-call schedule (one per team). You then configure that schedule's rotation layers separately. Escalation policies are created independently and reference the team (or its members) as targets.

Common Patterns ​

Small Team (1–5 people) ​

A single team with one escalation policy that targets the on-call schedule, then loops back. Members rotate through a weekly schedule.

Multi-Region Follow-the-Sun ​

Create separate teams per region (e.g., sre-americas, sre-emea, sre-apac), each with their own schedule. A top-level escalation policy pages the current region's on-call first, then escalates to the next region if unacknowledged.

Service-Oriented Teams ​

Map teams to your service ownership. The payments-team owns payment services and has its own escalation policy with payment-domain experts. The platform-team owns infrastructure. Incidents route to the owning team based on the service's team assignment.

API Endpoints ​

Team Management ​

MethodPathAuthPermissionDescription
GET/api/v1/teamsSessiononcall:readList teams
POST/api/v1/teamsSessiononcall:writeCreate team
GET/api/v1/teams/{id}Sessiononcall:readGet team
PATCH/api/v1/teams/{id}Sessiononcall:writeUpdate team
DELETE/api/v1/teams/{id}Sessiononcall:writeDelete team

Team Members ​

MethodPathAuthPermissionDescription
GET/api/v1/teams/{id}/membersSessiononcall:readList members with roles
POST/api/v1/teams/{id}/membersSessiononcall:writeAdd member (user_id, role)
PATCH/api/v1/teams/{id}/members/{userId}Sessiononcall:writeUpdate member role
DELETE/api/v1/teams/{id}/members/{userId}Sessiononcall:writeRemove member

See Also ​

Released under the MIT License.