Lumi.
Lumi · private beta · EU · LatAm · MENA

Your second brain
for closing deals.

Speak after a showing. Forward an email. Pull up a client. Lumi captures the soft signals, fills the brief, and feeds Claude — automatically.

  • Voice → CRM, auto. No forms.
  • Works offline. Syncs when you're back.
  • Free for agents in EU · LatAm · MENA.

10-min read · Updated April 2026

9:41

Lumi · Wednesday

Good morning, Niki.

Two showings · three leads need a nudge.

Clara Ruiz
Tomorrow 11am showing at Passeig de Gràcia 84 with Clara Ruiz. She wants to bring her partner.
Got it — creating the showing.
Suggested event · 92%

Showing · Passeig de Gràcia 84

Thu · 11:00–11:45Gràcia
What’s the HOA for Apt 4?
€210 per month, covers elevator, concierge, and rooftop.DOC 12
Ask Lumi or speak…
Calendar
Todos
Lumi
Clients
Settings
agent toolkit · field guide

I haven't written call notes
in six months. CRM is sharper than ever.

Hand-written call notes are a lossy compression algorithm — agents capture maybe 30% of what mattered in a 14-minute call, and the soft signals (tone shifts, repeated unprompted mentions) get dropped first because they're hardest to write down. The agents who've handed this to AI aren't losing accuracy. They're gaining the 70% of signal hand-notes never captured.

10-min readUpdated April 2026Pack 06 of 30 · @lumi.estate
marina_call_2026-04-23.log
outcome:    Sunday batched — Foz 11 + Cascais 12:30
            (was Saturday solo Foz; husband added)
next_step:  Send fresh garden photo by Wed EOD
objections: 2 unhandled (Cascais price, garden size)
group:      husband co-equal · mother + sister
            influencing
soft signals (4):
  · schools/kindergarten unprompted ×2
  · price flexibility hinted ("but…")
  · garden = hard constraint (slower voice)
  · husband decision-co-equal, not invitee

Five fields. Twelve seconds to read. Four soft signals that would have died with the call if a human were taking notes.

the schema

Five fields. No prose. No paragraphs.

The schema is the contract between Claude and the agent. Each field is constrained to one sentence or a short array — that constraint is what makes the brief readable in 12 seconds, not 12 minutes.

field
outcome
What changed in the deal during this call.
Most agents leave this vague ("good call"). Specificity here is what makes the brief actionable a week later when memory has faded.
next_step
Concrete action + date or trigger.
If you can't write the next step in one sentence with a date, the call didn't actually advance the deal. The discipline of capturing this exposes calls that felt productive but weren't.
objections
Specific concerns raised by the client.
Every unhandled objection is a friction point that will resurface. Logging them puts a debt on the books — the next call has to address them or the deal stalls.
decision_group_update
Who else is involved + their stance.
Real-estate decisions involve 2-4 people on average (spouse, parents, lawyer, advisor). Tracking each is the difference between selling to one buyer and selling to a household.
soft_signals
Tone shifts, repeated mentions, unprompted asides.
The hardest field to capture manually — and the highest-value. A word said twice unprompted is a signal. A pause before a number is a signal. AI catches these reliably; humans miss most.
the protocol

Five steps. Hangup to CRM in 90 seconds.

The end-to-end pipeline from the moment the call ends to the moment the structured brief lives in the CRM. Each step has a fixed latency budget; the agent is never on the critical path.

  1. 01

    Recording is consented and routed within the legal stack.

    Two-party-consent jurisdictions (most of EU, parts of LatAm) require an audible disclosure at call start — "this call is recorded for our notes" — and an opt-out path. The protocol's first action is enforcing this disclosure: a 4-second pre-roll the agent's softphone or call-recording stack must include. Skip this step and the whole pipeline is illegal in the agent's jurisdiction.

  2. 02

    Whisper transcribes — locally or via API — within 30 seconds of hangup.

    A 14-minute call transcribes in ~25 seconds via Whisper API ($0.0025/call). For privacy-strict practices, local Whisper.cpp on a Mac mini does it in ~90 seconds. Either way: by the time the agent has walked back to their desk, the transcript exists. Do not let the queue back up — async transcripts that surface 4 hours later get ignored.

  3. 03

    Claude extracts the 5 fields in one structured-output call.

    Single Claude call: transcript + existing CRM brief + metadata in. JSON object with the 5 fields out. Use Sonnet — Haiku misses subtler soft signals, and the cost difference ($0.012 vs $0.003 per call) is irrelevant against the value of the soft signals captured. Strict JSON-mode for tooling.

  4. 04

    Updates merge into the CRM. Soft signals append, never overwrite.

    The brief is mutable for outcome and next_step (newest call wins). Objections, decision_group_update, and especially soft_signals append rather than replace — the goal is a growing, layered understanding of the client across all calls, not a snapshot of the latest one. Old soft signals fade in the UI after 6 months, but they're never deleted.

  5. 05

    The agent reviews the 5 fields, never the transcript.

    The whole point: the transcript is for the AI; the 5 fields are for the agent. Storing the full transcript is fine for compliance, but the agent's UI shows only the structured update. Auditing the transcript word-by-word defeats the time saving — and after 4 weeks of accuracy verification, agents stop bothering. Trust the schema.

anti-patterns

Three failure modes the schema rejects.

Without strict prompt rules, Claude regresses toward conversational prose. Each of these would pass a casual review — and each one breaks the 12-second readability that justifies the schema.

the vague
outcome: Had a productive call about the Foz property, discussed scheduling and family considerations.

"Productive" and "discussed" tell you nothing. A week later this is useless. The whole point of the schema is to force specificity that survives memory decay.

the agent's commentary
soft_signals: I think Marina is more interested in Cascais than she's letting on. She's probably going to push back on price.

Inferred conclusions, not signals. Schema requires factual capture: "raised Cascais unprompted, framed by mother's suggestion" — let the agent draw the conclusion when reading. Pre-baked conclusions get trusted too easily and skew judgement.

the missed schema
summary: Marina wants to see Foz on Sunday now, also Cascais. Husband and mother involved. Concerned about garden size.

Collapses everything into one paragraph — exactly the manual note-taking the schema replaces. Without the 5 separate fields, the agent has to re-read and reparse on every glance. The schema is not aesthetic; it's load-reducing.

copy · paste

The transcript input.

A real (anonymised) excerpt of a 14-minute call transcript. The full transcript is ~3,000 words; this excerpt shows the dense first 90 seconds where most of the deal-moving action happens.

call_transcript.yaml
# ── call log input (truncated transcript) ──────
client:           "Marina Costa"
call_duration:    "14m 22s"
initiated_by:     "agent"
time_of_day:      "Tuesday 18:45"

transcript_excerpt:
  AGENT: "Hi Marina, just confirming
   Saturday 11am for the Foz visit?"
  MARINA: "Yes — but I wanted to ask, the
   garden in the listing photos looks
   quite small. Is that representative?"
  AGENT: "It's about 90 square metres —
   the angle in the photos compresses it.
   I'll send a fresh shot."
  MARINA: "Okay. And one more thing — my
   husband couldn't make Saturday, do you
   have anything Sunday?"
  AGENT: "Sunday morning works. 10am?"
  MARINA: "Hmm, can we do 11? He has a
   work call."
  AGENT: "11 Sunday works. I'll move it."
  MARINA: "Actually, before you do — can
   we look at the Cascais one as well
   that day? My mother saw it in the
   feed and she wants me to consider it.
   I think it's beyond budget but…"
  AGENT: "Both Sunday — I'll batch it.
   Cascais at 12:30?"
  MARINA: "Perfect. And about the
   schools — is the kindergarten in Foz
   walking distance? My sister mentioned
   it's a bit further than it looks."
   ... [continues another 11 minutes]
the prompt that extracts the 5 fields

What to feed Claude.

The system prompt that turns a Whisper transcript into the structured CRM update. Use Sonnet for soft-signal nuance — Haiku misses tone-shifts and repeated unprompted mentions.

calls_system_prompt.md
You are a senior real-estate agent's
call-log analyst.

INPUT
You receive: the full Whisper transcript of
a phone call (8-30 minutes typically), the
client's existing CRM brief, and metadata
(call duration, time of day, who initiated).

OUTPUT
A structured object with EXACTLY 5 fields:

  outcome:        <one sentence — what
                   actually happened in this
                   call. Not what was
                   discussed; what changed.>
  next_step:      <one sentence — the
                   specific next action with
                   a date or trigger. Empty
                   if none was committed.>
  objections:     <array of 0-3 strings —
                   each a specific objection
                   raised, with the agent's
                   response if any.>
  decision_group_update:
                  <one sentence — anything
                   new about who's involved
                   in the decision (spouse,
                   parents, partner, lawyer)
                   and their stance.>
  soft_signals:   <array of 0-5 strings —
                   tone shifts, unprompted
                   asides, things mentioned
                   twice, anything that
                   reveals a constraint or
                   preference not in the
                   brief.>

RULES (non-negotiable)
1. Outcome is past tense, factual. Not
   "discussed pricing" — "agreed to revisit
   €820k floor after spouse's reaction".
2. Next step has a date or a trigger.
   "Send the floor plan by Thursday" — not
   "follow up soon".
3. Objections are verbatim themes, not
   inferred. If the client never explicitly
   raised an objection, the array is empty.
4. Soft signals are gold — capture every
   one. The same word said twice is a
   signal. A pause before a number is a
   signal. An unprompted aside about a
   parent or a school is a signal.
5. NEVER include the agent's own commentary
   ("I think this means…"). Only what was
   said and what changed.

ANTI-PATTERNS (never produce these)
- Outcome: "had a great call" / "good
  conversation" — vague, useless.
- Next step: "stay in touch" / "follow up"
- Objections inferred from tone alone
- Multi-paragraph fields — each field is
  one sentence or a short array.

The agent should read the 5 fields in 12
seconds and know exactly where the deal
stands and what to do next.
Open Claude →

Pipe Whisper transcripts in immediately after each call. Use structured-output JSON-mode for downstream tooling.

transcript in · 5 fields out

What Claude returns.

The structured object that lands in the CRM. Notice the soft_signals array — four signals captured from a single 14-minute call, three of which a human note-taker would have lost.

output · structured call brief
outcome:
  Marina rescheduled Saturday viewing to Sunday
  11am to include husband, added a Cascais
  property at her mother's suggestion.

next_step:
  Send fresh garden photo of Foz property
  before Wednesday EOD; confirm both Sunday
  viewings (Foz 11am, Cascais 12:30) by
  Thursday.

objections:
  - "Garden looks small in photos" → reassured
    with 90m² figure, fresh photo committed.
  - "Cascais property likely beyond budget"
    raised by client herself — not yet
    addressed; needs price-position before
    Sunday.

decision_group_update:
  Husband is on the viewing path — must be
  present for major decisions (Sunday 11
  needed because of his work call). Mother
  is influencing list (suggested Cascais).
  Sister mentioned as a local-market voice
  (kindergarten walking distance).

soft_signals:
  - Mentioned schools/kindergarten unprompted
    twice (Foz). Family-stage planning more
    advanced than form indicated.
  - "Beyond budget but…" — suggests price
    flexibility if right property; don't
    discount Cascais on price alone.
  - Voice softer/slower on garden question —
    likely a hard constraint, not a casual
    ask.
  - Husband framed as decision co-equal, not
    courtesy invite — viewings without him
    will not produce decisions.
about the recording

Two-party-consent matters more than the AI.

The legal exposure of this protocol is not the AI extraction. It's the recording. Most of the EU (Germany, France, Italy, Spain, Portugal, plus all GDPR-covered jurisdictions) requires explicit two-party consent before recording. The disclosure must be audible, comprehensible, and given before substantive content. The opt-out — “please don't record this call” — must actually disable the recording.

LatAm and MENA are mixed. UAE, Saudi Arabia, and several LatAm jurisdictions are one-party (the agent recording their own call is sufficient consent), but the safer default everywhere is two-party. Configure your softphone or call-recording stack to insert a disclosure pre-roll automatically; don't rely on the agent to remember.

On data residency: keep transcripts and structured briefs in the same jurisdiction as the client's residence where possible. EU clients → EU-region S3 / Vertex / Anthropic EU endpoints. The $0.0025/call cost saving from cheaper US-region inference is not worth the GDPR headache.

built around this exact 5-field call-log schema

Recording the call is step one.
Trusting the schema is step two.

Lumi is the app that runs this workflow for you. You speak after a showing — Lumi captures the soft signals. You forward an email — Lumi updates the constraints. You open the app at 8am — the brief is already there, ready to feed Claude.

  • Voice → structured CRM, automatically
  • No forms. No data entry. No copy-paste.
  • Free for agents in EU · LatAm · MENA
9:41

Lumi · Wednesday

Good morning, Niki.

Two showings · three leads need a nudge.

Clara Ruiz
Tomorrow 11am showing at Passeig de Gràcia 84 with Clara Ruiz. She wants to bring her partner.
Got it — creating the showing.
Suggested event · 92%

Showing · Passeig de Gràcia 84

Thu · 11:00–11:45Gràcia
What’s the HOA for Apt 4?
€210 per month, covers elevator, concierge, and rooftop.DOC 12
Ask Lumi or speak…
Calendar
Todos
Lumi
Clients
Settings

A real-estate adaptation of the structured-output extraction pattern (Whisper for transcription + an LLM with a strict schema) that has reshaped sales CRM. Our slice: the 5-field call brief that captures soft signals manual notes drop first.

More guides like this on @lumi.estate. Follow if any of this was useful — it's how we know to keep writing.