Every limit here is enforced by the OnCallAlerting server. Character counts are characters unless the table says bytes. Rate limits count requests in one-minute windows.
| Item | Limit |
|---|
| Your name, organization name | 1-100 characters |
| Email address | Up to 254 characters, one account per address |
| Password | 12-72 bytes |
| Invitation link | Expires after 72 hours, works once |
| Session | 7 days |
| Sign-in, signup, accepting an invitation | 10 per minute per address |
| Item | Limit |
|---|
| Roster name | 1-100 bytes |
| Simple rotation length | 1-90 days |
| People in a simple rotation | 1-100 |
| Layers per roster | Up to 20 |
| Layer name | 1-100 bytes |
| People per layer | 1-100 turns (a person can take several) |
| Layer rotation | 1-365 days or 1-2160 hours |
| Restrictions per layer | Up to 50 |
| Working shifts per follow-the-sun roster | Up to 24 |
| Wait before paging the primary | 1-60 minutes |
| Substitution length | Up to 90 days, ending in the future |
| Substitution reason | Up to 500 bytes |
| Substitutions per roster | Up to 500, including past ones, with no overlaps |
| Schedule preview | 1-42 days per request. The editor shows 7 days. |
| Item | Limit |
|---|
| Policy name | 1-100 bytes |
| Levels | 1-10 |
| Rosters and people per level | 1-10 |
| Wait per level | 1-1440 minutes |
| Repeat the whole policy | 0-9 more times |
| Channel per level | In-app inbox, or Slack + in-app |
| Item | Limit |
|---|
| Source name | 1-100 bytes |
| Alerts per source | 240 per minute, across the webhook and compatible APIs |
| Requests to one webhook URL | 240 per minute per address |
| Unknown integration keys | 60 per minute per address |
| Test alerts | 30 per minute per address |
| Webhook body | 1 MB |
| PagerDuty- and Opsgenie-compatible body | 512 KB |
| Alerts in one Alertmanager or Grafana webhook | 1-100 |
| Title (native and generic webhooks) | 1-300 bytes, else rejected |
| Title (compatible APIs) | Shortened to 300 characters |
| Description | Up to 10000 characters |
| Deduplication key (native and generic webhooks) | 1-500 bytes |
dedup_key, incident_key (PagerDuty-compatible) | Up to 255 characters |
payload.summary (PagerDuty-compatible) | Up to 1024 characters |
alias (Opsgenie-compatible) | Up to 512 characters |
| Tags kept (Opsgenie-compatible) | First 20 |
| Details per incident | 50 keys, each key up to 100 characters, each value up to 2000 characters |
| Links per incident | 20, http or https, each up to 2000 characters |
| Change events | Kept 90 days. The workspace shows the 50 most recent; a source shows 10. |
| Opsgenie request status | Kept 3 days |
| Item | Limit |
|---|
| Incidents listed in the workspace | The 500 most recent |
| Activity timeline | The 500 most recent entries |
| Note | 1-2000 characters |
| Notes per incident | Up to 100 |
| Snooze | 5-1440 minutes |
| Incidents per merge | 1-20 |
| Merged incidents per incident | Up to 200, including nested merges |
| Rosters and people per responder request | 1-10 |
| Responder requests per incident | Up to 50 |
| Item | Limit |
|---|
| Name | 1-100 bytes, unique in the organization |
| Interval | 1 minute to 30 days (43200 minutes) |
| Severity | critical, warning (default) or info |
| Pings | 60 per minute per heartbeat, and 240 per minute per address |
| Item | Limit |
|---|
| Slack attempts | Up to 6 |
| Slack attempt timeout | 8 seconds |
| Slack retry waits | About 30 seconds, 2 minutes, 10 minutes, 30 minutes, 1 hour, each +-20%, and at least Retry-After up to 1 hour |
| Attempts kept per notification | The last 20 |
| Notifications in an incident's delivery log | Up to 1000 |
| Slack connections per organization | 1 |
| Item | Limit |
|---|
| Webhooks per organization | Up to 10 |
| Name | 1-100 characters |
| URL | Up to 2000 characters, https, no credentials or fragment, public address |
| Attempts per event | 8, over about 3 hours 40 minutes |
| Test ping | 1 attempt; 30 tests per minute per address |
| Attempt timeout | 10 seconds |
| Response read | Up to 64 KB |
| Consecutive failures before auto-disable | 20, or at once on 410 Gone |
| Previous secret still signs after rotation | 24 hours |
| Signature timestamp tolerance to check | 5 minutes |
| Deliveries shown | The 50 most recent |
| Deliveries kept | 30 days |
| Attempts kept per delivery | The last 20 |
| Item | Limit |
|---|
| Any request body | 1 MB |
| Workspace refresh | Every 15 seconds |