Closed-loan auto-trainer panel on the platform Document AI tab
Top-level owners can run + monitor the MeridianLink closed-loan trainer across every tenant from Settings → Platform → Document AI. Per-org rows show status, lo...
Platform review queue on the Document AI tab
The Document AI tab now hosts the cross-tenant review queue: low-confidence extractions from every lender, lowest-confidence first, with inline confirm/correct/...
Platform "Document AI" configuration tab
Adds a Document AI tab to **************** the auto-apply confidence threshold, the registered fine-tuned model id, the platform-wide training-corpus size + per...
Org-wide "Document QC" steward sub-tab
Adds a Document QC console to the mortgage steward strip (?sub=docqc): the org-wide queue of low-confidence AI extractions grouped by loan, with inline confirm/...
Steward Document-QC review box on the application detail
Adds a "Document QC" section to the loan detail: the queue of low-confidence AI extractions with confirm / correct / reject per field (each decision trains the ...
Wire CRM Integration tab to real data
Replace the mock CRM tab with a live reverse-phone-lookup panel. - Resolve the active call / dialpad number to a CRM lead via leadsApi.searchByPhone (new ?pho...
Add "unblock forever" option for blocked external images
The external-images gate now offers two actions: Unblock (this message, as before) and Unblock forever, which displays external images in every message going fo...
Load history via per-tab OTK path + retry/error UI; drop preview toggle
- Root cause of empty chat history on long-lived tabs: media proxy routes forwarded only the *** cookie (lapses ~30min) instead of the per-tab X-***-Token; ...
Missed-message email deep links, auth-continuity stash, unread chat auto-popup, notification settings
DeepLinkToolBootstrap opens ?openChat/?openTicket tool windows (params survive the login round-trip via a sessionStorage stash captured pre-auth and preserved a...
Update Microsoft 365 setup instructions for Graph app-only
The M365 help described registering a per-org Azure app (client secret, redirect URI) — stale: Kamo uses one platform-verified multi-tenant app, so customers ju...
Never render literal "null" in lead view header name
The header and headerName memo built the contact name with template literals, so a NULL middle/last name stringified to the word "null" (e.g. "Sage null"). Buil...
Member tooltip shows last active datetime + time ago
Interaction Center member rows now show a two-line tooltip: availability status plus when the member was last active — 'Active now' while online, otherwise 'Las...
Reply-all no longer CCs yourself; blank lines survive send
Reply All excluded only activeMailbox.emailAddress, which is unset on the default personal mailbox view — so your own address (from the original To:) landed in ...
Company NMLS ID field in org Company Info
Edit + read row + hydration + PUT (nmlsId). Feeds the borrower portal footer trust pill and the originator projection's company NMLS.
Mortgage fields as 3 column panes on the Client Lead Data tab (reuse form via layout prop)
Add layout?: 'tabs' | 'panes' to MortgageFieldsComponent (default 'tabs', byte-identical to the existing Mortgage Workshop rendering). editControls, loanFields,...
Live header KPIs from the draft; sellerCredits in cash-to-close; nav guard only when actually dirty
Keep form + What-If as one grid cell so the outputs panel stays in the right column
The What-If move made MortgageFieldsComponent render Card + whatIfSlot as sibling children; since MortgageDetailsTab lays out its children in a 2-col grid, What...
Rebuild to pull renamed 'Mortgage Workshop' leads tab from translation dictionary
Make What-If Studio its own pane below the form (drop the 4th tab)
Removes the "What-If Studio" sub-tab; the Scenario Sandbox now renders as its own pane below the Loan/Borrower/Subject Property form. Retitled "Scenario Sandbox...
Address-field layout + move agent block to Borrower tab + Payment above Eligibility
- Subject Property: Address + Address Details half-width side by side; City/State/Zip on one row (md 5/4/3, Zip narrowest). - Move buyer's-agent block (Repres...
Restore two-column outputs layout (Rate above Insights in the left column)
Prior reorder pushed Rate/Insights into the right column, collapsing the balance onto one side. Keep the short summary cards in the LEFT column (Rate directly a...
Remove Cash-to-Close card; move buyer's-agent fields to Subject Property tab
Drop response-only enum string mirrors from mortgage save payload
The lead update was 400ing — UpdateLeadRequest rejects unknown fields and the form round-tripped LeadDTO's **************** strings (which only exist on the res...
Clear core-card edit on nav + guard communications composer draft
Discard the open core-card edit (release its pane lock) when the user proceeds past the unsaved-changes confirm in setTab/guardedNavigate, so editingCard no lon...
Remove estimate/disclaimer footnotes from scenario cards
Drop the EstimatedNote component and its plumbing, and the AI-narrative verify-before-relying disclaimer, per owner request to stop showing estimate/disclaimer ...
Surface recommended (yellow) fields even before a loan purpose is set
The blank-lead fallback returned only the required set, so a purpose-less lead showed red markers but never yellow. Now **************** are flagged as recommen...
Inline red/yellow field markers + tab rollups; drop Profile Completeness pane
Translate Residential-Mortgage grid columns + Purpose filter
Replace the literal column headers (Purpose/Loan Amount/LTV/DTI), the Loan Purpose filter label, and the filter option labels with next-intl t() keys **********...
Residential-Mortgage columns (Purpose/Loan Amount/LTV/DTI) + Purpose filter
On /leads, when the selected market is a Residential Mortgage market, show four columns to the right of State: - Purpose — mortgageFields.loanPurpose, title-ca...
Renovation family (203k/HomeStyle) + streamline refis (FHA Streamline/VA IRRRL)
Adds two new stated-lead inputs (renovationCost, currentLoanType) and five eligibility rows gated on real borrower signal, matching the existing show-only-when-...
Projected Close section — surfaces the §5 close-date forecast
Capital & Risk console now fetches /closing-forecast and shows each active loan's projected close date (stage-based business-day horizon), soonest-first. Best-e...
Veteran-status field + map subject state/zip; enable VA eligibility; dedupe insights/completeness
Phase 2 review polish — drop dead prop, dedupe LTV/equity warn, guard 0-value mismatch checks
Split form into Loan / Borrower / Subject Property tabs
Splits the mortgage sub-form's mega-grid into four sub-tabs (Loan, Borrower, Subject Property, What-If Studio) and renames "Property Address" to "Subject Proper...
Honest DTI/payment labels for missing inputs (partial PITI, no-debts back-end, conventional-PMI MI)
Use dictionary t() keys for MLOS integration UI strings
Replaces the `// i18n: dictionary key TODO` placeholder literals in LeadMarketManager (MLOS Integration select), MeridianLinkConfigDialog (field labels, Test Co...
Purpose-gate Eligibility Snapshot; hide unevaluable programs; merge HomeReady/Home Possible; sort UNKNOWN last
Lead Create/Open Application button + LOS proxy routes + leadsApi
Phase 7 of the MeridianLink external-LOS integration: adds the header button that creates or opens a lead's linked MeridianLink loan file, the Next.js proxy rou...
Checkbox selection no longer reloads the grid
Selecting a row checkbox called setSelectedIds(new Set(...)), which was listed in loadLeads' useCallback deps. That gave loadLeads a new identity on every click...
Use the full logo in the masthead (top-left)
Was the icon logo (64x64 square). Switch to variant="logoFull" (logo-full), sized 56px tall with auto width (capped 320px) so the wordmark isn't squished.
MLOS integration dropdown on market modal
Add a MLOS Integration dropdown **************** to the market Add/Edit modal, shown only for Service > Residential Mortgage markets, plus a Configure button be...
Like what you see shipping?
Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.