> ## Documentation Index
> Fetch the complete documentation index at: https://docs.happyuptime.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build your first on-call rotation

Five team members, weekly handoff Monday 9am. Five minutes.

# Build your first on-call rotation

**Make sure your team exists**

Go to **On-Call → Team**. The list shows everyone in your workspace.

    Missing people? Click **Invite member**, enter their email + role. They get an email with a magic link — when they accept, they appear here.

  **Create the schedule**

Switch to **On-Call → Schedules**, click **+ New schedule**.

    Fill in:
    - **Name** — "Engineering On-Call" (or whatever)
    - **Slack channel** (optional but recommended) — pick the channel where pages should land. Searchable; polls every 5 seconds while open in case you create one in Slack.

    Leave **Layers (1)** showing one Primary layer. Inside that layer:
    - **Rotation** — Weekly
    - **Handoff day** — Monday
    - **Handoff time** — 9:00 AM
    - **Timezone** — your team's main TZ
    - **When is this layer active?** — Always on-duty (24/7)
    - **Rotation order** — Click **Add all** to add every team member, then drag to reorder. Each person on top will take the first shift.

  **Create the schedule**

Click **Create Schedule**. The Currently On-Call banner appears at the top showing the first person + how long until handoff.

  **Wire alerts to it**

Open any monitor's alert rule, toggle **Notify on-call**, optionally pick this schedule. Now when that monitor goes down, the alert posts to the schedule's Slack channel and @-mentions whoever is on call.

    Test the flow: schedule's **Test** button fires a synthetic page. The current on-call person sees it in Slack within ~2 seconds.

  **Link your Slack identity**

Go to **Settings → Integrations → Slack identity**. Click **Auto-match by email** — Happy Uptime calls Slack's `users.lookupByEmail`, finds you, stores your `slack_id`. Now alerts can @-mention you specifically.

    Each team member should do this for themselves (or use the **Link team by email** bulk button on the Team tab — admin only).

## What you got

- A weekly rotation that hands off every Monday at 9am in your timezone, even across DST.
- A Slack channel that gets paged when monitors fire, with @-mentions of whoever is on call right now.
- An iCalendar URL (Schedule card → ICS button) you can subscribe to in Google Calendar / Outlook.

## Next steps

**[Add a secondary layer](/guides/multi-layer-schedules)**

Cover after-hours with juniors, business hours with seniors.
  **[Add escalation](/guides/escalation-policies)**

"If unacked in 5 min, page the CTO".
  **[Manage overrides](/guides/overrides-and-shifts)**

Cover for someone going on vacation.
  **[Restrict by hours](/guides/restrictions)**

Make a layer only active Mon–Fri 9am–5pm.