Changelog
What's new.
Every improvement to the platform, as it ships.
· kamo-internal
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.
· SecurityService
A call on the floor resolves the lead's due callbacks
My Call List shows those callbacks too.
· kamo-shared-library
Read a due callback as a call to make
· kamo-internal
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.
· SecurityService
Take the occupancy filter from the query string
· kamo-shared-library
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.
· kamo-internal
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 outcomes, which is how an organization counts what it calls a handoff. Tiles use the same metric names as goals. These screens also draw MUI's controls in the organization's colours rather than default blue.
· SecurityService
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 rather than the mean. A goal can be set for everyone, each measured alone, and can count chosen call outcomes. Two live goals on one measure for the same people are refused, because that was two answers to one question.
· kamo-shared-library
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. DialTally moves here from automation-service, ledger read included, so a scoreboard and a goal can't disagree about what a dial is. Goal metrics take MetricRegistry's names, and every scoreboard tile is one of them. Member targets leave OrgCallFloorSettings.
· kamo-internal
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.
· kamo-internal
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 Action rights, stay off until an organization turns on the cockpit, and each also needs the right governing its work, so the cockpit follows a role. Settings gains Goals & Cockpit and Loan Revenue & Cost, and a loan gains a Revenue & Cost section that shows its deal and account rollups.
· kamo-internal
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 its own dialer, and the call matches back from its log. Stop all outreach, do-not-contact and contact hours show on the lead, and a lead with an open loan in another loan system is labeled and stays out of the auto-advance.
· SecurityService
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 categories, with what its deal and account add up to. The lead grid answers which of a member's leads have nothing booked or have gone quiet, over that member's book only. All of it stays off until an organization turns it on.
· InitializerService
Add the goals and cockpit package to the repository scan
· kamo-shared-library
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 cost hang off the loan file in categories the organization names, and a deal or account is the sum of its loans. A commission line is linked rather than retyped. The lead grid can now ask which of a member's leads have nothing booked or have gone quiet. Loan Revenue & Cost is a Report Studio report.
· MCPGatewayService
The SI's floor tools, and the optional loan statuses on the MCP tools
· EmailService
The triage door: read, label and save a draft, with no way to send
· SecurityService
An SI's scheduled floor duty, a person's lead from a capture, and the owner's call on SI loan access
The duty and its tool scope commit together. Only the org owner, in their own session, may change SI_LOAN_ACCESS.
· kamo-shared-library
The SI layer's tables, two rights, and the org switch for SI loan access
Sales floor M11. New tables only, applied by hand. Rights 685 and 686. SI_LOAN_ACCESS is off by default and lifts an org's own SI to loan officer level, read live and never written to the applied rights. An hourly charter duty may name several marks in the hour.
· kamo-internal
Borrower outreach switches in the mortgage Automation tab
· kamo-shared-library
An outcome answers for its own call, even one reported late
A person's No answer or Voicemail on a dial now corrects that call and no other. A phone sync that arrives afterwards can't put the conversation back, because the ledger links the call to the outcome through its attempt.
· EmailService
Write to an org's owner each week a domain is unfinished
Covers ownership, web addresses, alias-domain mail and what we need to send system mail as the domain. From the platform, one letter per owner, and it stops by itself once everything is done.
· SecurityService
The outreach check applies the lender's mortgage switches to stream sends
· VOIPService
Tell the dial ledger about calls and first texts
· kamo-shared-library
Mortgage switches for every way a stream reaches a borrower, off by default
Six new MlosAutomationAction switches in BORROWER_OUTREACH, asked by OutreachCheck on every automated send. A mortgage lead, or one tied to a mortgage loan, gets nothing until the lender turns the channel on, and OUTREACH_LOS_LINKED_LOANS keeps outreach off anyone with an open loan linked to another system. Facts that can't be read refuse and ask again; a person's own send is never asked.
· kamo-shared-library
A weekly reminder template for an unfinished domain
· kamo-shared-library
The append-only dial ledger, call floor settings, and rights 673-674
Attempts and outcomes get a table of their own that is only ever inserted into, and the phone system's calls join the press that started them. PhoneCallLog changes after the fact, so scoreboards can't read it.
· kamo-internal
The send queue, They replied, SI calling and the starter templates
Text, email and call steps can be set up and published on the canvas, a wait can take a "They replied" path, and each call chooses a person or the SI. /automation/queue is where a member reviews, edits and sends. New lead follow-up and Long-term nurture start with neutral words, every message human-sends.
· VOIPService
A lead calling back a shared number tells the member a stream worked for
The call rings on JustCall's side, where Kamo can't move it, so the live call signal goes to the routed member.
· EmailService
Stream emails on the drip road, and a lead's mail reply tells their streams
/api/internal/stream-email queues one edition per run and step through DripEditions, so the campaign path keeps the opt-out check, hosts, warm-up and unsubscribe, and a repeat lands on the same row. Replies go to the lead's owner. Mail from the lead itself tells their live runs; a message that only copies them, an out-of-office and a back-fill do not.

Your universe is waiting.
Start free in minutes. Add products whenever you are ready — no migration, no new logins.
Free forever — no credit card required