• contact@verticalserve.com
Home / Engineering / Post 43
Engineering Blog · Post #43

Never Miss a BOR Deadline: 5 Automated Notification Events from Issuance to Expiry

How InsightUW delivers five targeted notification events across the BOR lifecycle — ensuring underwriters and operations teams are informed at every critical moment without a single manual reminder.


The Problem

Broker of Record changes involve multiple stakeholders — the assigned underwriter, the operations team, the incumbent broker, and the new broker — and each needs to know different things at different times. In most carriers, BOR communication is ad hoc: someone sends an email when they remember, a team lead pings Slack before leaving for the weekend, or nobody says anything at all until the new broker calls asking why their quote request was ignored.

The consequences are serious. An underwriter who does not know a BOR is pending may quote the wrong broker. An operations team that misses the grace period expiry delays the broker transition by days. And when a BOR is contested, the assigned underwriter needs to know immediately — not when they happen to check a shared spreadsheet.

The InsightUW Approach

InsightUW fires five distinct notification events across the BOR lifecycle, each targeted to the right recipient at the right time. Notifications appear via the in-app bell icon in the header, with urgency-coded styling. A five day notified flag on the BOR record prevents duplicate notifications, and the check expired bors batch operation handles grace period expiry detection automatically.

graph LR subgraph Event1["Event 1: BOR Created"] A["BOR Record Created"] B["Notify: Assigned UW<br/>No quoting until<br/>grace period expires"] end subgraph Event2["Event 2: Countdown Started"] C["Grace Period Begins"] D["Notify: Ops Team<br/>BOR countdown active<br/>monitor for contests"] end subgraph Event3["Event 3: 5 Days Pass"] E["grace period end reached"] F["Notify: Assigned UW<br/>Grace period expired<br/>broker change eligible"] end subgraph Event4["Event 4: Grace Expired"] G["check expired bors<br/>updates status"] H["Notify: Ops Team<br/>Finalize broker change<br/>update records"] end subgraph Event5["Event 5: BOR Contested"] I["Incumbent Broker<br/>Files Contest"] J["Notify: Assigned UW<br/>BOR contested<br/>review required"] end A --> B B --> C C --> D D --> E E --> F F --> G G --> H I --> J

The Five Notification Events

Each event is defined by its trigger condition, recipient, message content, and urgency level:

Event 1: BOR Created — Underwriter Alert

Attribute Value
Trigger BOR record created, status set to pending
Recipient Assigned underwriter
Message "New BOR filed for {insured_name} ({lob}). {new_broker} replacing {incumbent_broker}. Do not quote until grace period expires on {grace_end}."
Urgency Normal (blue)
Purpose Prevent the UW from engaging the new broker prematurely

This is the most critical notification. It establishes the "no quoting" embargo for the assigned underwriter from the moment the BOR is created.

Event 2: Countdown Started — Operations Alert

Attribute Value
Trigger grace period start is set and BOR status moves to active
Recipient Operations team
Message "BOR countdown active for {insured_name} ({lob}). Grace period: {grace_start} to {grace_end}. Monitor for incumbent contest."
Urgency Normal (blue)
Purpose Ensure ops team tracks the grace period and watches for contest filings

Event 3: 5 Days Pass — Underwriter Notification

Attribute Value
Trigger check expired bors detects grace_period_end < now() and five_day_notified = false
Recipient Assigned underwriter
Message "Grace period expired for {insured_name} ({lob}). Broker change from {incumbent_broker} to {new_broker} is now eligible for finalization."
Urgency Warning (amber)
Purpose Signal that the UW can now engage the new broker

The five day notified flag is set to true after this notification fires, preventing duplicates on subsequent batch runs.

Event 4: Grace Expired — Operations Finalization Alert

Attribute Value
Trigger check expired bors updates BOR status from pending to expired
Recipient Operations team
Message "BOR grace period expired for {insured_name} ({lob}). Finalize broker change: update broker of record from {incumbent_broker} to {new_broker}. Update policy system records."
Urgency Warning (amber)
Purpose Prompt ops to complete the administrative broker transition

Event 5: BOR Contested — Underwriter Escalation

Attribute Value
Trigger Incumbent broker files a contest, BOR status changes to contested
Recipient Assigned underwriter
Message "BOR CONTESTED for {insured_name} ({lob}). Contested by {contested_by} — Reason: {contest_reason}. Grace period countdown paused. Review and resolve."
Urgency Critical (red)
Purpose Escalate the contest to the UW for immediate review and resolution

Duplicate Prevention: The five_day_notified Flag

The five day notified boolean field on the Bor model ensures that Event 3 (5 Days Pass) fires exactly once:

Scenario five_day_notified Notification Fires?
First batch run after grace expiry false Yes — notification sent, flag set to true
Second batch run (same BOR) true No — skipped
BOR reset after contest resolution false (reset) Yes — new countdown, new notification

Notification Delivery: In-App Bell Icon

All BOR notifications are delivered through the InsightUW header bell icon, the same channel used for submission assignments, compliance alerts, and system messages. Each notification includes:

  • Urgency color — blue (normal), amber (warning), red (critical)
  • Timestamp — when the notification was generated
  • Action link — click to navigate directly to the BOR detail modal
  • Read/unread state — unread notifications show a badge count on the bell icon

Batch Operation: check expired bors

The check expired bors function runs on a scheduled interval and can be triggered manually from the BOR dashboard:

  1. Query: SELECT * FROM uwbor WHERE status = 'pending' AND grace_period_end < NOW()
  2. For each matching record:
    - Update status to expired
    - If five_day_notified = false: send Event 3 notification to UW, set flag to true
    - Send Event 4 notification to ops team
    - Create audit trail entry: grace period expired
  3. Return count of expired BORs for dashboard display

Cyber Submission: NovaPay Technologies

Scenario: Aon Risk Solutions files a BOR letter to take over the Cyber account for NovaPay Technologies, currently brokered by Gallagher Specialty Group. The assigned underwriter is David Kim. The BOR is created on Monday, April 20, 2026.

Notification Timeline:

Day Time Event Recipient Message
Monday 9:00 AM BOR Created Event 1 David Kim (UW) "New BOR filed for NovaPay Technologies (Cyber). Aon replacing Gallagher. Do not quote until grace expires Apr 25."
Monday 9:01 AM Countdown Started Event 2 Ops Team "BOR countdown active for NovaPay Technologies (Cyber). Grace: Apr 20 - Apr 25. Monitor for contest."
Friday 9:00 AM 5 Days Pass Event 3 David Kim (UW) "Grace period expired for NovaPay Technologies (Cyber). Broker change from Gallagher to Aon eligible for finalization."
Friday 9:00 AM Grace Expired Event 4 Ops Team "Finalize broker change for NovaPay Technologies (Cyber). Update BOR from Gallagher to Aon."
Monday 10:00 AM Ops Team Ops finalizes broker change, BOR status: completed

What David sees in his bell icon throughout the week:

  • Monday morning: Blue notification — "New BOR filed for NovaPay Technologies" — he knows not to quote Aon on this account
  • Friday morning: Amber notification — "Grace period expired for NovaPay Technologies" — he can now engage Aon as the broker of record
  • No duplicate notifications — the five day notified flag ensures the Friday alert fires exactly once

If Gallagher contests on Wednesday:

The timeline changes. On Wednesday at 2:00 PM, Gallagher files a contest. David immediately receives a red critical notification: "BOR CONTESTED for NovaPay Technologies (Cyber). Contested by Gallagher Specialty Group — Reason: Active binding authority, signed BOR not received." The countdown pauses, and David must review and resolve before the BOR can proceed.

What This Means for Underwriters

  1. Zero manual reminders — five automated notifications cover every critical BOR moment from creation to expiry, eliminating sticky notes, calendar reminders, and ad hoc emails.

  2. Right person, right time — each notification targets the specific recipient who needs to act: the UW for quoting decisions and contest reviews, the ops team for administrative finalization.

  3. No quoting mistakes — Event 1 explicitly tells the underwriter "do not quote until grace period expires," preventing premature engagement with the new broker that could create E&O exposure.

  4. Duplicate-free alerting — the five day notified flag ensures that batch operations never generate redundant notifications, keeping the bell icon signal clean and actionable.

  5. Instant contest escalation — Event 5 fires immediately when a contest is filed, with red critical urgency, so the underwriter can pause all activity and review the dispute without delay.

What's Next

In the next post, we will explore the BOR contest and resolution workflow — how InsightUW handles disputes, status transitions, and account-level history tracking when an incumbent broker challenges a Broker of Record change.


InsightUW is an AI-powered underwriting workstation for P&C carriers. Request a demo to see BOR notifications in action.

See InsightUW run on your data

A 45-minute working session with a real broker email and your LOBs.

Request a demo