Ten live panes for the sales floor
Five for someone on the phones: Next Best Lead, Speed-to-Lead Clock, Waiting on Me, Today's Streak and Best Time to Call. Five for whoever runs the floor: Floor...
A landed call, text or email tells open screens
The contact tracker now announces each communication on the floor's domains, so a call the phone system reports reaches the board at once instead of on the next...
A landed call, text or email tells open screens
The contact tracker now announces each communication on the floor's domains, so a call the phone system reports reaches the board at once instead of on the next...
A landed call, text or email tells open screens
The contact tracker now announces each communication on the floor's domains, so a call the phone system reports reaches the board at once instead of on the next...
Text consent per lead source, and the canvas shows a step its switch holds back
A lead source's settings can count its consent field as text consent, and a file import can do the same for one file. Off by default. A step card and the side p...
Intake records text consent where a source counts its field, and a rollup back-fill job
The back-fill has no schedule. It reads leads from lead_communications, calls the same hydrate a lead's page does, and writes only the rollup. hydrated_at is it...
A lead source's text consent setting, and borrower messages stay off a linked loan
The setting needs a consent field mapped on that source, and each change goes in the access log. A file import keeps its consent proof and can count a column as...
A rebuilt database gets what entities can't declare
Expression indexes on borrowers, the borrower pairs index, and each restricted table's privileges as they stand in production: 16 tables, dial_ledger among them...
A lead import can name its text consent column, and a source's setting can be saved
The ledger's one tally answers by lead, by hour and by day, and the floor can signal live
DialTally gains what the sales floor's panes need, so none of them count for themselves: a breakdown over a set of leads, hours and days, conversations resting ...
Live sales floor events reach open screens
svc_voip and svc_daemon may publish rt.org.>, so a call the phone system reports and a lead a job creates reach the board at once. New svc_automation login, cor...
Read every deal role, loan officer included, from the one store
Backfilled and counted per org first. MortgageLoanOwnership and DealRoleService now read only mlos_deal_role_assignment. The column stays a mirror for the origi...
Reports' own-loans scope reads the one role store
The loan officer is backfilled, so every role is a row and the deal's column is a mirror.
A lead source can count its own consent field as text consent, and zones follow NANPA
Off by default, per source. When on, a lead source's chosen consent field writes the SMS consent OutreachCheck already reads, with the proof in LeadConsentValue...
Fill the loan officer into the role store on a rebuild
Idempotent, and a row already there wins. KI ships nothing on its own and was not run on production, which was backfilled by hand.
Every loan officer write goes to the role store and its mirror together
**************** is the one writer, in the caller's transaction. The lead's assignee on a new deal, a person's or SI's assignment, a creator's claim, an adopted...
Who works a deal, on the pipeline card and in the stream canvas
The loan officer's assign flow now serves every deal role: one picker, one call, one set of rules. Each deal shows who works it, a person or an SI, and a role t...
The assign tool names any deal role
mlos_assign_loan_officer keeps its name, so the charter and audit stay readable, and takes an optional role from the one catalog. Closing Scheduled leaves mlos_...
Every deal role works like the loan officer, and the MLOS's own walls hold SI moves
DealRoleService is the one door for who works a deal: a member or SI per role, with who assigned it and when, on the deal's timeline. The loan officer stays on ...
One model for who works a deal, and one list of walls
Deal roles: LoanPartyRole is the catalog, DealRoleAssignment holds a member or SI per role with who assigned it and when. The loan officer stays on the deal, so...
Lead tasks and a lead picker on the briefing, and nav entries for the SI's floor work
A person's own to-do is a task on the lead, so the briefing's own store of them is gone, and so is its stale setting: it uses the cockpit's. Nav gains the brief...
A capture's lead note, and a floor duty changes only from its own settings
Pick saved templates on stream steps, record text consent, set email hours
A text step starts from a saved text. An email step can be a saved email, previewed inside the org's template. The lead's contact card records consent to automa...
The agent gate also asks OutreachCheck about a lead
Stop all outreach, lead status, the lender's switches, do-not-contact, the organization's hours and text limits now hold for an SI's outreach as they do for a s...
A stream's email wears the org's email template, and can be a saved template
The same compose wrap a drip's email gets. A saved template's HTML goes as it stands, with the compliance lines a written email gets.
Record text consent on a lead, keep email hours, and give OutreachCheck the consent records
One decision: consent records in OutreachCheck, named email hours
An automated text now needs SMS consent on record, read from the contact state the SI's gate reads, on the lead or on a number it holds, and an opt-out there re...
Lead status replaces call outcomes on the Contact card, calling and goals
The Contact card is facts only: last attempt, last conversation, Stop all outreach and consent. Contact rules loses its outcomes section. In calling, the one-cl...
Lead status is the one control for what came of a call
Each LeadStatusType carries an optional fixed contact meaning, and a neutral Contacted (107) covers a conversation with no other status. LeadStatusLabel words t...
A press on a call sets the lead's real status, and every path keeps the stage
The stage follow moves out of LeadController into a LeadStatusFollower that LeadService calls after commit, so autosave, automation, the public application and ...
Show due callbacks on the call list, and drop the Follow-ups pane
Follow-ups Due repeated Leads Needing Action, so it goes. A member's stored choice and place for it now read as Leads Needing Action.
A call on the floor resolves the lead's due callbacks
My Call List shows those callbacks too.
Show and filter occupancy from the lead on a mortgage board
Board cards, the filter bar and the calling order read LeadClaimMortgage occupancy, using the lead page's words and one shared option list.
The grid row and filter read a lead's own occupancy
Adds propertyOccupancyId to the list row and the grid query, from LeadClaimMortgage, so the board needs no second field.
One place for targets on every screen
Call floor settings keep the ordering and the choice of tiles, and send people to Goals & Cockpit for targets. Goals gain "Everyone, each" and chosen call outco...
Goals read the shared dial count, and each-member goals
A call figure now comes from DialTally, so Home and the scoreboard agree: opening the dialer alone is no longer a call, and first-text time is the middle time r...
One source of targets and one count of the floor
OrgGoal is now the only place a target lives, so it gains EACH_MEMBER for a number everyone is held to and outcome ids for a goal on chosen call outcomes. DialT...
Briefings, the capture inbox, email triage and the owner's switch for SI loan access
Sales floor M11. A settings tab sets them up, and members work them on their own pages. Everything starts off.
The sales cockpit, goals and per-loan money
Six home panes on the existing launchpad: my call list, follow-ups due, no next action, going quiet, my pipeline and my targets. They take the Leads Needing Act...
The call floor, the scoreboard, its TV display and settings (M9)
A floor member works one lead at a time from a ranked list, with one press to dial and one to say how it went. A provider with no softphone gets the number in i...
The cockpit, goals and per-loan money
A member's call list and pipeline counts, an organization's goals measured from the permanent records, and a loan's revenue and cost in the organization's own c...
Goals, the cockpit switch, per-loan money, and rights 681-683
Goals name a metric, a target and a charter period for the organization, a team or a member, and every figure is measured from a permanent record. Revenue and c...
The SI's floor tools, and the optional loan statuses on the MCP tools
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
