Skip to main content

What are Notification Profiles?

Notification profiles group multiple integrations together and define which events should trigger notifications. They act as reusable notification configurations that can be assigned to one or more monitors.
Think of notification profiles as “alert routing rules” that determine who gets notified and when.

Creating a Notification Profile

1

Navigate to Notification Profiles

From your dashboard, go to SettingsNotification Profiles and click “Create Profile”.
2

Basic Information

Name: Production Alerts
Description: Critical alerts for production services
Use descriptive names that indicate the profile’s purpose (e.g., “Team Frontend”, “Critical Only”, “Business Hours”).
3

Configure Profile-Level Events

Select which events this profile should handle:
  • ✅ Monitor failures
  • ✅ Monitor recoveries
  • ✅ SSL certificate expiry
  • ❌ Domain expiry
  • ✅ DNS errors
  • ✅ Slow response alerts
  • ❌ Slow response resolved
Events disabled here will NOT trigger notifications for ANY integration in this profile.
4

Add Integrations

Select existing integrations to add to this profile:Each integration has its own event preferences that further filter notifications.
5

Create Profile

Click “Create Profile” to save. You can now assign this profile to monitors.

Profile Event Configuration

Profile-level events act as the first filter in the notification cascade:

on_failure

Monitor fails health checks (down)

on_recovery

Monitor recovers after being down

on_ssl_expiry

SSL certificate approaching expiration

on_domain_expiry

Domain registration approaching expiration

on_dns_error

DNS resolution failures

on_slow_response

Response time exceeds threshold

on_slow_response_resolved

Response time returns to normal

Assigning Profiles to Monitors

During Monitor Creation

When creating a monitor, select one or more notification profiles:
Monitor: API Server
URL: https://api.example.com
Notification Profiles:
  - Production Alerts
  - Team Backend

For Existing Monitors

  1. Go to monitor details page
  2. Click “Edit”
  3. Scroll to “Notification Profiles”
  4. Select/deselect profiles
  5. Click “Save”
You can assign multiple profiles to a single monitor. All integrations from all assigned profiles will receive notifications (with deduplication).

Default Profile

When you create an organization, UptimeIO automatically creates a “Team Notification Profile”:
Name: Team Notification Profile
Description: Default profile for team notifications
Events: All enabled
Integrations: None (add your own)
You can edit or delete the default profile. It’s just a starting point.

Managing Profiles

Editing Profiles

1

Navigate to profile

Go to SettingsNotification Profiles and click on the profile name.
2

Make changes

Update:
  • Profile name and description
  • Event preferences
  • Assigned integrations
3

Save changes

Click “Save”. Changes apply immediately to all monitors using this profile.
Changes to profiles affect ALL monitors using that profile. Be careful when editing profiles assigned to many monitors.

Deleting Profiles

1

Check usage

Before deleting, check how many monitors use this profile. This is shown on the profile details page.
2

Reassign monitors (if needed)

If monitors are using this profile, either:
  • Assign them to different profiles first, OR
  • Accept that they’ll have no notifications
3

Delete profile

Click “Delete Profile” and confirm.
Deleting a profile removes it from all monitors. Monitors without any profiles won’t send notifications.

Profile Strategies

Strategy 1: Team-Based Profiles

Organize profiles by team:
Profile: Frontend Team
  Integrations:
    - [email protected]
    - Slack #frontend
  Events: All enabled

Profile: Backend Team
  Integrations:
    - [email protected]
    - Slack #backend
  Events: All enabled

Profile: DevOps Team
  Integrations:
    - [email protected]
    - PagerDuty
    - SMS (on-call)
  Events: All enabled
Assign to monitors:
  • Frontend monitors → Frontend Team profile
  • Backend monitors → Backend Team profile
  • Infrastructure monitors → DevOps Team profile

Strategy 2: Severity-Based Profiles

Organize profiles by alert severity:
Profile: Critical Alerts
  Integrations:
    - SMS (on-call)
    - PagerDuty
    - Email (team)
  Events: Only failures and SSL expiry

Profile: Important Alerts
  Integrations:
    - Email (team)
    - Slack
  Events: Failures, recoveries, SSL, DNS

Profile: Informational
  Integrations:
    - Email (archive)
  Events: All events
Assign to monitors:
  • Production APIs → Critical Alerts + Important Alerts
  • Staging services → Important Alerts
  • Development services → Informational

Strategy 3: Time-Based Profiles

Organize profiles by time of day:
Profile: Business Hours (9 AM - 5 PM)
  Integrations:
    - [email protected]
    - Slack #monitoring
  Events: All events

Profile: After Hours (5 PM - 9 AM)
  Integrations:
    - [email protected]
    - SMS (on-call)
    - PagerDuty
  Events: Only failures and critical issues
Assign to monitors:
  • All production monitors → Both profiles
  • UptimeIO routes to appropriate profile based on time
Time-based routing requires assigning both profiles. UptimeIO doesn’t automatically switch based on time - you control this through event preferences and integration settings.

Strategy 4: Environment-Based Profiles

Organize profiles by environment:
Profile: Production
  Integrations:
    - [email protected]
    - SMS (on-call)
    - PagerDuty
    - Slack #production
  Events: All enabled

Profile: Staging
  Integrations:
    - [email protected]
    - Slack #staging
  Events: Failures and recoveries only

Profile: Development
  Integrations:
    - [email protected]
  Events: Failures only

Bulk Profile Assignment

Assign profiles to multiple monitors at once:
1

Navigate to Monitors

Go to Monitors page.
2

Select monitors

Check the boxes next to monitors you want to update.
3

Bulk actions

Click “Bulk Actions”“Assign Notification Profiles”.
4

Select profiles

Choose profiles to assign and click “Apply”.
Bulk assignment adds profiles to monitors without removing existing profile assignments. To replace, first remove old profiles, then assign new ones.

Profile Analytics

View profile usage and notification statistics:
Number of monitors using this profile.Helps identify:
  • Widely used profiles (be careful when editing)
  • Unused profiles (candidates for deletion)
Number of notifications sent through this profile in the last 30 days.Helps identify:
  • High-volume profiles (may need tuning)
  • Silent profiles (check configuration)
Percentage of notifications successfully delivered.Low success rate indicates:
  • Integration configuration issues
  • Invalid email addresses or phone numbers
  • Webhook endpoint problems

Best Practices

Good names:
  • “Frontend Team - Business Hours”
  • “Critical Production Alerts”
  • “Staging Environment Notifications”
Bad names:
  • “Profile 1”
  • “Test”
  • “Notifications”
Enable all events at the profile level, then use integration-level settings to filter.This gives you flexibility to add integrations later without editing the profile.
Each profile should serve a clear purpose:
  • One team
  • One severity level
  • One time window
  • One environment
Avoid creating “catch-all” profiles that try to do everything.
Monthly review:
  • Delete unused profiles
  • Consolidate similar profiles
  • Update integrations (remove departed team members)
  • Check notification volumes

Troubleshooting

Check:
  1. Profile is assigned to monitor
  2. Event is enabled at profile level
  3. Event is enabled at integration level
  4. Integration is configured correctly
  5. Monitor has actually failed (check incident history)
Solutions:
  1. Disable non-critical events at profile level
  2. Adjust integration-level events (e.g., SMS only for failures)
  3. Increase check intervals for non-critical monitors
  4. Use separate profiles for different severity levels
Causes:
  • Same integration in multiple profiles assigned to same monitor
  • Integration added directly to monitor AND in profile
Solution: UptimeIO automatically deduplicates, but check your configuration to simplify.
Check:
  1. Changes were saved (look for confirmation message)
  2. Browser cache (refresh page)
  3. Profile is actually assigned to the monitor
  4. Wait for next incident (changes don’t apply retroactively)

API Management

Manage profiles programmatically via API:
curl -X POST https://api.uptimeio.com/v1/notification-profiles \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Alerts",
    "description": "Critical production notifications",
    "events": {
      "on_failure": true,
      "on_recovery": true,
      "on_ssl_expiry": true
    },
    "integration_instance_ids": [
      "int_abc123",
      "int_def456"
    ]
  }'
See the API Reference for complete documentation.

Next Steps