Skip to main content

Weather Alerts

The Weather Alerts module automatically ingests severe weather alerts from government meteorological agencies, notifies department members, and optionally attaches relevant alerts to dispatch calls. It is designed for first responder organizations that need real-time situational awareness of severe weather in their jurisdiction.

Authorization: Viewing alerts requires the WeatherAlert_View permission. Managing sources and zones requires Department_Update (department administrator). Creating, updating, and deleting sources requires WeatherAlert_Create, WeatherAlert_Update, and WeatherAlert_Delete permissions respectively.

Navigation: Department Menu → Weather Alerts


Overview

The Weather Alert system connects to external weather providers, polls for alerts on a configurable schedule, and surfaces them inside Resgrid. The end-to-end flow is:

Admin configures a source → Background worker polls every 5 min
→ New/updated alerts ingested → Notifications sent to members
→ Alerts optionally attached to dispatch calls → Real-time push to connected clients

Supported providers:

ProviderCoverageAuthentication
National Weather Service (NWS)United StatesNone required
Environment Canada (EC)CanadaNone required
MeteoAlarmEurope (EU countries)Optional API key

Views

Dashboard (Index)

The main weather alerts page displays all active alerts for your department. Each alert card shows the event type, headline, severity, affected area, and expiration time. Clicking an alert opens the details page.

Alert Details

The detail view for a single alert includes:

SectionContent
HeaderEvent type, sender, and current status
Alert DetailsSeverity, urgency, certainty, and category
TimingOnset, effective, sent, and expiration times (displayed in your department's time zone)
Affected AreaHuman-readable area description and geographic polygon on the map
DescriptionFull alert description text
InstructionsAction instructions from the issuing agency
SourceThe configured alert source that produced this alert

History

The history view allows you to search past alerts within a date range. Alerts are listed in descending order by received time.

Settings (Admin)

The Settings page is the administration interface for configuring alert sources and department-level settings. Requires department administrator access.

Zones (Admin)

The Zones page manages geographic zones of interest for your department. Zones can be used to scope which alerts are relevant to your area of operations.


Alert Sources

Alert sources define the upstream feeds that Resgrid polls for weather data. Each source targets a specific provider and geographic filter.

Configuring a Source

Navigate to Weather Alerts → Settings and click Add Source.

FieldRequiredDescription
NameYesA descriptive name (e.g., "NWS Nevada Alerts")
Source TypeYesThe provider: National Weather Service, Environment Canada, or MeteoAlarm
Area FilterYesGeographic scope — see provider-specific guidance below
Poll Interval (minutes)YesHow often to poll this source. Minimum: 15 minutes
API KeyNoRequired for MeteoAlarm if using authenticated access
Custom EndpointNoOverride the default provider URL (HTTPS only; restricted to known provider domains)
ActiveYesToggle to enable or disable polling for this source
Poll Interval Minimum

The system enforces a minimum poll interval of 15 minutes regardless of the value entered. Setting a lower value will be automatically clamped to 15 minutes.

Area Filter by Provider

The Area Filter field accepts different values depending on the selected provider:

National Weather Service (NWS)

  • State abbreviations (comma-separated): NV,CA,AZ
  • Specific NWS zone codes: WAZ021,ORZ001

Environment Canada (EC)

  • Province codes (comma-separated): ON,BC,AB

MeteoAlarm

  • ISO 3166-1 alpha-2 country codes (comma-separated): DE,FR,IT

Source Status

After a source has been polled, the Settings page shows its current status:

StatusDescription
ActiveSource is enabled and will be polled on schedule
InactiveSource is disabled; no polling occurs
ErrorLast poll failed; the error message is displayed
Last Poll / Last SuccessTimestamps of the most recent poll attempt and successful retrieval

Deleting a Source

Click Delete next to a source on the Settings page. Deleting a source removes its configuration; already-ingested alerts from that source are retained.


Geographic Zones

Zones define geographic areas of interest within your jurisdiction. Each zone has a center point and a radius, and can be flagged as a primary zone.

Configuring a Zone

Navigate to Weather Alerts → Zones and click Add Zone.

FieldRequiredDescription
NameYesZone name (e.g., "Station 1 Coverage Area")
Zone CodeNoNWS or Environment Canada zone code for this area
Center LocationYesLatitude and longitude of the zone center (lat,lng)
Radius (miles)YesRadius in miles for proximity filtering
ActiveYesWhether this zone is currently in use
Primary ZoneNoMarks this as the primary zone for the department

Department Settings

Weather alert behavior is controlled by department-level settings. Navigate to Weather Alerts → Settings and scroll to the Settings section.

SettingDescriptionDefault
Weather Alerts EnabledMaster toggle. When disabled, no alert processing, notifications, or call attachments occurOff
Minimum SeverityMinimum severity level to display and import. Alerts below this threshold are ignoredAll severities
Auto Message SeveritySeverity threshold for automatic system messages to all department membersSevere
Call IntegrationAutomatically attach active alerts to new and updated dispatch callsOff
Cache Duration (minutes)How long provider responses are cached to reduce duplicate API calls10 minutes

Severity Levels

Severity values range from highest to lowest priority:

LevelDescription
ExtremeExceptional threat to life or property
SevereSignificant threat to life or property
ModeratePossible threat to life or property
MinorMinimal threat
UnknownSeverity not defined by the issuing agency

The Auto Message Severity threshold works inclusively — setting it to Severe means both Extreme and Severe alerts trigger system messages.


Notifications

When a new alert meets the department's Auto Message Severity threshold, Resgrid automatically sends a broadcast system message to all department members. This message includes:

  • Alert event type and headline
  • Severity, urgency, certainty, and category
  • Onset, expiration, and effective times (in the department's configured time zone)
  • Affected area description
  • Full description and instructions from the issuing agency
  • Source attribution

Messages are delivered via push notification, email, and/or SMS based on each member's contact preferences.

One Message Per Alert

Each alert triggers at most one automatic system message. Once a notification has been sent for an alert, it will not be re-sent even if the alert is updated.


Call Integration

When Call Integration is enabled, Resgrid automatically attaches relevant active weather alerts to dispatch calls as system call notes when a call is created or updated.

  • If the call has a geolocation, only alerts within 50 miles of the call location are attached.
  • Alerts without a defined geographic polygon are treated as area-wide and are always attached.
  • Each alert is attached at most once per call — duplicate attachments are suppressed automatically.

Each attached alert note follows this format:

[WeatherAlert:{alertId}] {Event Type}
{Headline}
Area: {Affected Area Description}
Severity: {Severity Level}
Expires: {Expiration Time}
Instructions: {Instruction Text}

Real-Time Updates

Resgrid pushes real-time weather alert events to all connected web clients via SignalR. No manual refresh is needed to see new or updated alerts.

EventTrigger
WeatherAlertReceivedA new alert has been ingested for the department
WeatherAlertExpiredAn active alert has passed its expiration time
WeatherAlertUpdatedAn existing alert has been updated by the upstream provider

API Reference

Weather alert data is available through the Resgrid REST API (v4). All endpoints require authentication and the appropriate permission claim.

MethodEndpointPermissionDescription
GET/api/v4/WeatherAlerts/GetActiveAlertsViewAll active alerts for the department
GET/api/v4/WeatherAlerts/GetWeatherAlert/{alertId}ViewSingle alert by ID
GET/api/v4/WeatherAlerts/GetAlertHistory?startDate=&endDate=ViewHistorical alerts in a date range
GET/api/v4/WeatherAlerts/GetAlertsNearLocation?lat=&lng=&radiusMiles=ViewActive alerts near a coordinate (max 500 mi radius)
GET/api/v4/WeatherAlerts/GetSourcesViewAll configured sources
POST/api/v4/WeatherAlerts/SaveSourceCreate / UpdateCreate or update a source
DELETE/api/v4/WeatherAlerts/DeleteSource/{sourceId}DeleteDelete a source
GET/api/v4/WeatherAlerts/GetZonesViewAll configured zones
POST/api/v4/WeatherAlerts/SaveZoneCreate / UpdateCreate or update a zone
DELETE/api/v4/WeatherAlerts/DeleteZone/{zoneId}DeleteDelete a zone
GET/api/v4/WeatherAlerts/GetSettingsViewGet department weather alert settings
POST/api/v4/WeatherAlerts/SaveSettingsUpdateSave department weather alert settings

All timestamps returned by the API are converted to the department's configured time zone.


Alert Lifecycle

The following describes the complete lifecycle of a weather alert within Resgrid:

  1. Ingestion — The background worker runs every 5 minutes, polling all active sources whose poll interval has elapsed. The appropriate provider (NWS, EC, or MeteoAlarm) fetches alerts from the upstream API.
  2. Deduplication — Each fetched alert is matched against existing records by its external ID and source. New alerts are inserted; existing alerts are updated with the latest content.
  3. Update/Cancel chains — If a new alert references a prior alert (e.g., an update or cancellation), the referenced alert is automatically marked as Cancelled.
  4. Expiration — Each worker cycle marks alerts whose expiration time has passed as Expired.
  5. Notification — Each worker cycle sends system messages for any alert that meets the severity threshold and has not yet had a notification sent.
  6. Call attachment — When a call is created or updated via the API and Call Integration is enabled, active alerts near the call location are attached as call notes.
  7. Real-time push — Connected clients receive SignalR events for new, updated, and expired alerts immediately.

Localization

The Weather Alerts module is available in the following languages:

English, Spanish, German, French, Italian, Polish, Swedish, Ukrainian, Arabic

The display language is determined by each user's language preference.


Interactions with Other Modules

ModuleInteraction
Dispatch / CallsActive alerts can be automatically attached as system call notes when Call Integration is enabled
MessagesAutomatic broadcast messages are sent via the Messages module for qualifying alerts
Department SettingsTime zone is used for all alert timestamp display and message formatting
MappingAlert polygon geometry is displayed on the map in the alert detail view
NotificationsA link to Weather Alerts is accessible from the Notifications page
PermissionsView, Create, Update, and Delete operations are governed by dedicated weather alert permission claims