NeitClem End-to-End Workflow

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-PROJ01 NI-2026-PROJ01-UW NI-2026-PROJ02 Rev 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.

NeitClem end-to-end workflow overview Seven-stage flowchart from Marketing Campaign to insured portal, with UW decision branches and communication channel legend. BUSINESS DEVELOPMENT Marketing activity runs upstream of NeitClem Nexus. Every submission entering Stage 1 originates from a campaign source. Stage 0 — Marketing Campaign Email campaigns · flyers · agent referrals · social media Qualified prospect → retail agent submits NeitClem application Stage 1 — Online Application Insured / retail agent fills one of 20+ NeitClem forms PDF generated · POST /intake/webhook with pdf_base64 Stage 2 — Nexus intake (automated) Validate key · create risk_submissions · emit submission:new Submission card appears in broker dashboard (real-time) Stage 3 — Broker Workspace Review · vote · assign carrier · DM agent · line chat Send to UW review → status: under_uw_review Stage 4 — Underwriter Dashboard Property Review → assess → worksheet → decide Formal UW decision Approve Decline DEC-01–07 · Email-08 status: declined (terminal) Refer Senior UW review Channel UW-2 responds Stage 5 — quote & binding Broker attaches quote · agent reviews · broker marks Bound Portal updated · insured notified Stage 6 — insured portal (Phase 2) Status tracking · policy details · message retail agent Communication channels — all nine Ch 1 Line chat Ch 2 Submission DM Ch 3 Support chat Ch 4 Admin broadcast Ch 5 Bound banner Ch 6 Comments Ch 7 Insured-to-agent UW-1 Assessment thread UW-2 Referral thread UW-3 UW-to-broker chat Actors Agent Broker Underwriter Senior UW System Insured Click any stage to jump to detail · NI-2026-PROJ01 · NI-2026-PROJ01-UW · NI-2026-PROJ02

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)
target_premium: 12500.00
line_id: 2  source_app: "garage"
exposure_detail: "3 lifts, 8 employees..."
pdf_base64: "JVBERi0x..."
Communication active
Ch 3
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
  • Validates required fields: source_app, applicant_name, line_id, target_premium, exposure_detail
  • Decodes pdf_base64 → writes PDF to /uploads/attachments/ with UUID filename
  • Inserts new record into risk_submissions with status = received
  • Inserts record into file_attachments linking PDF to submission_id
  • Writes to audit_logs: action_type = WEBHOOK_INTAKE
  • Emits socket event submission:new to line:{lineId} room — broker card appears live, no refresh
  • Sends optional broker notification email (Email-07)
  • 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.
Stage 4 of 6 · NI-2026-PROJ01-UW Sections 2, 3
Underwriter Dashboard
UnderwriterSenior UW (if referred)NI-2026-PROJ02 Property Review
Sub-flow: risk assessment → premium worksheet → decision
  • 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
Quote & binding
NeitClem brokerRetail agentSystem
What happens
  • Broker attaches a formal quote: carrier name, quoted premium, coverage terms, effective/expiry dates
  • 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.
Stage 6 of 6 · NI-2026-PROJ01 Section 19.2 · Phase 2
Insured portal (Phase 2 — portal.neitclem.com)
Insured businessRetail agent
What the insured sees
  • Insured logs in at portal.neitclem.com with credentials from submission confirmation email
  • Real-time status timeline: Received → Reviewed → Quoted → Bound
  • Once Quoted: carrier name, quoted premium, coverage limits, effective/expiry dates visible
  • Once Bound: full policy details — carrier, bound premium, policy number, agent contact card
  • Agent contact card: name, agency, email, phone, license number — always visible
  • 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.