Seven-stage platform lifecycle — from Marketing Campaign through Online Application submission, webhook intake, Broker Workspace, Underwriter Dashboard, quote & binding, and the insured portal. All nine communication channels and three UW decision branches are covered.
NI-2026-PROJ01NI-2026-PROJ01-UWNI-2026-PROJ02Rev 1.3 · June 10, 2026
Workflow overview
Seven stages, three UW decision branches, and all nine communication channels. All submissions originate from the Marketing Campaign stage. Click any stage box to jump to the detail below.
Stage-by-stage detail
Actors, actions, communication channels, and key data flows for each stage.
Pre-pipeline stage · Top of funnel
Marketing Campaign — email campaigns · flyers · agent referrals · social media
Marketing teamRetail agents
What happens
Lead generation: Targeted outreach to retail agents and insureds via email campaigns, digital ads, and referral programs
Agent acquisition: Onboarding campaigns introduce new retail agents to NeitClem's E&S markets and submission process
Brand awareness: Positions NeitClem as the preferred wholesale broker for surplus and specialty lines
Nurture sequences: Automated drip campaigns keep dormant agents engaged — highlights new carrier markets, binding authority updates, and current market appetites
Campaign tracking: UTM parameters and CRM integration trace which campaign source drove each submission into Nexus
A qualified prospect engages with the campaign → their retail agent submits a NeitClem application → enters Stage 1
Channels & touchpoints
Email campaigns: New market appetite bulletins, rate updates, product launches sent to agent network
Agent portal onboarding: Welcome emails with platform credentials and walkthrough guide
Digital ads: Targeted to retail agents and MGA networks in priority lines
Referral network: Existing agents refer new agents — tracked in CRM for attribution
In-platform announcements: Ch 4 admin broadcast reaches all active Nexus users
Marketing activity runs upstream of Nexus. Every submission entering Stage 1 originates from a campaign source.
The Marketing Campaign stage is the top of the funnel and the origin of all submission volume entering Nexus. Agent acquisition is the primary growth lever — every new retail agent onboarded represents a recurring source of submissions across all 20+ coverage lines.
Campaign-to-submission attribution: UTM parameters on online application links allow the marketing team to trace which campaign, channel, or agent referral generated each submission. This data informs future campaign targeting and budget allocation.
Once a prospect is engaged and their retail agent submits a completed NeitClem form, the workflow transitions automatically into Stage 1 — Online Application.
Stage 1 of 6 · NI-2026-PROJ01 Section 15
Online Application submission
InsuredRetail agent
Garage liability
Garage Application
Commercial property
Habitational Application
Lessors Risk Application
Vacant Building Supplemental
Vacant Land Supplemental
Casualty / E&S
Environmental Application
Contractors Application
Contractors Equipment
Excess Application
Janitorial Supplemental
Restaurant & Tavern
Tree Trimming / Landscape
Inland Marine Application
Professional liability
Special Events Application
Ins. Agents & Brokers PL
Medical Professional
Micro Cyber Liability
Sexual Abuse & Molestation
Specialty
Health, Nutrition & Lifestyle
Kratom Application
What happens
Agent or insured fills out the applicable form at gratusinc.org
Form captures business name, type, coverage line, target premium, and full exposure narrative
On submit: PDF summary auto-generated (existing behavior, unchanged)
A secure webhook POST fires to /intake/webhook with the full payload including pdf_base64
Agent/insured sees a confirmation number on screen (their submission_id)
Insured receives confirmation email with portal link — portal.neitclem.com (Phase 2)
Agent support chatAgents ask pre-submission questions to any available broker before filling the form — "Does NeitClem write this type of risk?" Accessible from the agent dashboard as a floating widget.
Channels 1, 2, 4–7 and UW-1–3 activate once the submission is inside Nexus.
Each application type maps to a specific insurance_lines row via the line_id in the webhook payload.
The target_premium the applicant enters becomes a read-only benchmark in the Premium Worksheet — the UW's independent pricing is compared against it, not derived from it.
The exposure_detail field carries the full serialized form data (selected limits, retention, and narrative), which auto-populates the worksheet's Coverage Selection section. The source_app field tells the UW Dashboard which line-specific Limits & Retention structure to render.
Stage 2 of 6 · NI-2026-PROJ01 Section 15.4
Webhook intake & Nexus creation (automated)
System — automated
Server-side actions (in order)
Validates X-Nexus-Key header against stored secret — returns HTTP 401 if invalid
Returns HTTP 201 with submission_id to the online application team
Communication active
Ch 1
Line chat roomsThe submission:new socket event fires into the broker's active line room. The card appears on all connected broker screens without a page refresh. Delivered via Socket.io to line:{lineId} room.
Ch 4
Admin broadcastAvailable platform-wide at all times. Admin can push urgent announcements regardless of which stage submissions are in.
Owner: Kevin Lamis (backend). Online App team fires the POST; Nexus team owns the intake handler. Payload contract locked Week 1.
The webhook is the single integration point between two teams.
Online App team: Christian Ledesma, Jaykim Fontilla, John Rey Desoy. | Nexus team: Angel Endoma, Kevin Lamis, Naehum Dela Cruz.
Payload contract was locked in Week 1 — no field names change after that point. The NEXUS_SECRET_KEY is distributed by Kevin Lamis and stored in each online application's .env.
Week 14 — Integration Day: verifies the live end-to-end connection with a real Garage Application submission.
Stage 3 of 6 · NI-2026-PROJ01 Sections 3, 17, 19
Broker Workspace
NeitClem brokerRetail agent (via DM)
What happens
Submission card appears in real-time in the broker's 3-column workspace, grouped by insurance line
Broker reviews the PDF, exposure narrative, and target premium from the webhook payload
Broker casts priority votes (up/down) to rank submissions by market viability
Broker assigns one or more carrier markets (Markel, Admiral, Lloyd's, etc.)
Broker can DM the submitting agent for clarification on exposure detail or loss runs
Brokers discuss the account in the line chat room — real-time, all brokers on the line
Broker adds threaded underwriting comments on the submission for technical notes
SLA-urgent flag: red card + countdown timer + notification broadcast to all active brokers
Broker clicks "Send to UW Review" → status: under_uw_review → moves to Stage 4
Communication active
Ch 1
Broker line chat roomsOne room per insurance line. Broker-to-broker only. Agents cannot participate. Persisted history, presence indicators, typing buffers.
Ch 2
Submission direct messagesPrivate broker-to-agent thread scoped to this submission. Used to request clarification, additional documents, or updated loss runs.
Ch 3
Agent support chatShared support room. Agents ask questions; any broker can respond. Unread badge shown in broker's left nav.
Ch 6
Threaded commentsAsync nested comment threads on the submission. Technical underwriting notes, market feedback, coverage analysis. Permanently stored and searchable.
The broker workspace is the primary real-time collaboration hub. The 3-column layout gives brokers a full operational view: left rail is line navigation + pipeline tracker, center column is the prioritized submission feed, right panel is the live line chat room.
SLA warning system: when a broker toggles the urgent flag, a Socket.io broadcast fires to all active sessions — the card turns red and a countdown timer begins immediately across every connected screen.
For straightforward risks, the broker can skip UW review and proceed directly to quoting. Routing through the UW Dashboard is the standard path for complex or high-value submissions.
Property Review linked: UW runs a NI-2026-PROJ02 lookup for the submission address. Fire class, WUI zone, flood zone, crime grade, climate scores, year built auto-populate the Location Intelligence Layer. Hazard score (1–5) auto-suggested from the composite of signals.
Manual Evaluation Layer: UW completes business classification, occupancy, years in operation, prior carrier, 5-year loss history. Red flags (AUTO from Property Review + MANUAL from UW) are checked. UW confirms or overrides the suggested hazard score.
Assessment Complete: Form locked. Premium Worksheet and Decision Module tabs unlock. Assessment marked complete in uw_assessments.
Premium Worksheet (PROVISIONAL): Carrier base rate — manual entry or carrier API auto-populated (hybrid, Decision 4 confirmed). Line-specific limits and retention pre-populated from webhook exposure_detail. Loss modifier and hazard modifier auto-applied. Server recomputes calculated premium. UW sets final quoted premium.
Approve for quoting
Binding authority confirmed. Status → reviewed. Broker notified in-app. Submission moves to Stage 5. Worksheet values pre-populate the quote form.
Decline
Reason code (DEC-01–07). Declination notes required. Optional: auto-generate declination letter. Email-08 fires to agent. Status → declined (terminal).
Refer to senior UW
Assign to senior UW (is_senior_uw=1). Referral notes auto-seed first message in Channel UW-2. Status → referred. Email-09 fires.
Communication active — three new UW-specific channels
Ch 2
Submission DM (UW → agent)UW requests exposure clarification, additional loss runs, or follows up on revision requests. Surfaced as a "Messages" tab in the submission detail view.
UW-1
UW assessment threadAsync peer-review discussion tied to the uw_assessments record. Multiple UWs can collaborate. Separate from the submission's general broker comment thread. REST-only in Phase 1.
UW-2
Referral threadReal-time private thread between referring UW and assigned senior UW. Referral notes auto-seed the first message. Thread locks once the senior UW issues their formal response.
UW-3
UW-to-broker chatPrivate real-time thread between the evaluating UW and the specific broker who routed the submission. For account strategy discussion that shouldn't broadcast to the entire line.
The UW Dashboard is the most complex stage in the workflow. The three detail tabs unlock sequentially — Premium Worksheet and Decision Module become available only after Risk Assessment is marked Complete.
Property Review (NI-2026-PROJ02) delivers location intelligence before the UW opens the assessment: fire protection class, WUI zone, flood zone, crime grade, and climate risk scores arrive pre-assembled — no external browser tabs required.
Red flags are labeled AUTO (triggered by Property Review signals) or MANUAL (requiring direct UW input). Each flag shows its source on the checklist so reviewers know what triggered it.
Stage 5 of 6 · NI-2026-PROJ01 Sections 3.5, 17, 19
Status → quoted. Email-04 fires to the submitting agent with full quote details
Agent reviews the quote in their Agent Dashboard — status timeline, carrier, premium, documents
Agent responds via DM (Channel 2) with questions or acceptance confirmation
Broker can request revisions if needed — status: revision_requested
Once confirmed, broker marks submission as Bound
Socket event submission:bound fires → Bound Flash Banner broadcasts to all active sessions simultaneously
Email-05 fires: bound confirmation to agent + all brokers
Insured Portal (Phase 2): insured sees status update to Bound, carrier, and policy dates
Communication active
Ch 2
Submission DMBroker and agent exchange messages about the quote, coverage terms, carrier conditions, and acceptance confirmation.
Ch 5
Bound flash bannerAutomated. Fires to every active Nexus session the moment any submission is marked Bound. Dismissible banner shows: business name, carrier, bound premium, broker name.
Ch 4
Admin broadcastAvailable throughout. Admin can push announcements (new carrier partner, policy updates) to all active sessions at any point.
The bound event is the most visible moment in the entire workflow — the Bound Flash Banner fires to every active session simultaneously, creating a shared real-time acknowledgment across the entire NeitClem team.
The broker's Renewals panel surfaces all bound submissions expiring within 30 days, sorted by urgency — proactive visibility before coverage lapses, no manual tracking needed.
The worksheet's final_premium value pre-populates the quoted_premium field in the quote form for compatibility with the existing quote module.
Key principle: insured never sees NeitClem broker names or contacts — the retail agent owns the client relationship throughout
Insured sends a direct message to their retail agent (Channel 7)
Agent receives in Client Messages tab in Nexus Agent Dashboard and responds from there
Communication active
Ch 7
Insured-to-agent messagingInsured messages their specific retail agent only — NeitClem brokers never see these messages. Preserves the E&S wholesale brokerage chain of representation and prevents direct broker-insured contact that would create E&O liability.
Architecture
Separate React application on the same VPS using a read-only DB user. Shares the same MySQL database as Nexus but cannot write except via the insured-to-agent messaging endpoint.
URLs: portal.neitclem.com · nexus.neitclem.com · Both on same Nginx instance, separate server blocks, individual SSL certificates via Certbot.
The portal closes a gap that currently exists: after submitting an online application, the insured has zero visibility until their agent calls them. With the portal, they can self-serve the status at any time, see when a quote arrives, view carrier and coverage details, and message their agent directly — no phone call needed.
NeitClem brokers are never exposed to the insured. The portal only shows the retail agent's contact details, enforcing the E&S wholesale brokerage model. This prevents direct broker-insured contact that would create E&O liability and breach the chain of representation.