Jul 30
Outbound drafts now exist privately before the first email
New- Listing-first draft pages
- Evidence stays attached
- Private internal staging
Jul 30
Outbound mornings now start from one exact Review Desk
NewImproved- One founder morning queue
- AI Command matches the Desk
- Prospect decisions stay bounded
- Batch copy remains immutable
Jul 30
Better Brokers AI visibility now separates missing collection from zero activity
FixedNew- Technical AI cards no longer imply unmeasured zeros
- AI-referral totals disclose their reporting window
- Better Brokers can record forward-looking AI technical access
Jul 30
Website analytics has a durable read-only Google connection
Fixed- Espo and Better Brokers no longer depend on a founder's Google login
- The existing visibility dashboards can refill their history
Jul 30
Website analytics no longer counts CRM work as marketing traffic
Fixed- Website totals now describe the public website
- Client-side navigation stays inside the same boundary
- AI-referral reporting uses the same rule
- The active Client Growth trend now fails closed too
Jul 29
Video ideas are one tap away on iPhone
NewImprovedFixed- Three Espo actions are ready in Shortcuts
- A polished two-action Home Screen widget is ready
- Instagram references have a guarded share path
- iPhone capture uses the existing content truth
Jul 29
CRM sign-in stays available during background work
Fixed- CRM and Admin sign-in are restored on phone and desktop
- Background work no longer starts all at once
- Production database capacity now matches the live CRM
- Opportunity Priority recomputes are safely paused
Jul 29
AI referrals are visible in the main website report
NewFixed- Client Growth now shows answer visibility beside Google visibility
- Crawler activity stays clearly separate
- A measured zero no longer disappears behind the legacy report
Jul 29
"Don't call me" now actually stops the calls
Fixed- A texted request to stop calling is now honored
Jul 26
Classic lead scoring recognizes stored source labels
Fixed- Imported source labels now match their existing score rules
Jul 26
Outbound gets one truthful v3 control plane
NewImprovedRemoved- **The first outbound team cohort now has an evidence-backed qualification
- The founder calibration sample is ready
- The founder batch desk is ready for internal review
- The working board now shows only the current v3 motion
Jul 25
Client Growth corrects Meta leads and clarifies source coverage
Fixed- Meta leads and cost per lead no longer double-count one conversion
- Follow-up evidence is explicit
- Sparse charts no longer imply missing activity
Jul 25
Client Growth is visible in portal navigation
Fixed- Owners and admins can open Client Growth from the sidebar
Jul 25
Client Growth becomes the main analytics experience
Improved- Owners and admins now open directly into Client Growth
- The dashboard stays useful between campaigns
- Campaign learning is visible before the first new test
Jul 25
Website delivery incorporates first-pilot learning
Improved- Individual websites begin with a verified person identity
- Approved design directions must be responsive in practice
- Vercel deployment intent is explicit and auditable
- The first-pilot learning is now the released baseline
Jul 25
Meta reporting backfill unblocked
Fixed- Ad-level reporting now has one stable database identity
- Valid 100% click-through rows no longer block history
- Malformed provider rows fail before any write
Jul 25
Client Growth reporting connects to production measurement
NewFixed- Daily trends now use connected sources
- Accepted inquiries now come from the canonical event ledger
- Progress reflects how the brokerage actually works
- Google key-event sync uses the current reporting metric
Jul 23
Opportunity Priority Score (Lead Scoring v2) — built, held behind a switch
NewImprovedFixed- Opportunity Priority Score
- Priority everywhere you work
- Manual priority overrides
- Consent-first AI evidence (off by default)
Jul 23
Change a listing price once and your open houses follow
Fixed- Your open house sign-in always shows the current price.
- Follow-up texts and emails quote the current price too.
- New open houses inherit their listing's details.
Jul 22
Private inbound calls no longer create false contacts
Fixed- Withheld caller ID is handled as a real call, not bad contact data
- Private calls stay private through forwarding and voicemail
- Private call history cannot trigger outreach
- Ordinary callers keep the existing path
Jul 22
CRM request reliability and release protection
Improved- Help & Requests is resilient to optional account lookups
- QR and Team failures stay distinct from empty setup
- Confirmed CRM fixes now have a permanent release gate
Jul 21
CRM visual reliability and mobile usability
Fixed- Pipeline filters stay open for every saved field configuration
- Email personalization variables are usable again
- Loading and failure states tell the truth
- Learn links lead to the rendered guides
Jul 20
Website onboarding leads with annual savings
Improved- Website and Individual Website now start on annual billing
Jul 19
Onboarding answers become faster and more conversational
ImprovedFixed- Accepted drafts lead naturally into the next question
- SMS compliance uses guided multi-select choices
- Ads Strategy has field-level help
- Step labels are consistent
Jul 18
AI workflow usage and cost reporting becomes auditable
NewFixedImproved- One control center for observed AI work
- Complete call inventory
- Honest cost labels
- Previously dark usage is accounted for
Jul 18
Onboarding payment retries and delivery recovery fail safely
FixedImproved- Repeated payment clicks reuse one Checkout attempt
- Comped onboarding cannot hide a missing delivery run
- Public intake credentials are directly regression-tested
- Operator onboarding and billing guides match the live system
Jul 18
Outbound v3 Lane 4b — batches, the founder gate, and the Instantly push adapter (behind the valve)
New- Cold outreach now moves in founder-approved batches
- Approval is recorded, never assumed
- The push into Instantly is frozen shut by default
- Each founder sends as themselves
Jul 15
Open house emails always include property reports
Fixed- _Reports remain reachable in customized emails:_ Guest follow-up emails append links to every property report even when the open house uses custom message copy.
- _No duplicate report attachments:_ Listing-level and event-level copies of the same report are treated as one document before links or attachments are built.
Jul 14
Client Social Studio is ready for staged onboarding
NewImprovedFixed- _Complete client workspace:_ Social Studio includes onboarding overview, content approvals, publishing calendar, social inbox, performance analytics, account settings,...
- _Decision-ready analytics:_ Clients can compare growth by network, channel, or account with stable filters, trend lines, winning-post views, share of attention, best p...
- _Instagram-first setup:_ Instagram is the recommended Better Brokers starting point, while additional supported networks remain available for later connection.
- _Safer onboarding:_ Returning from social sign-in performs profile-scoped discovery and refuses to move an account already bound to another organization.
Jul 14
Social Studio Inbox now separates live work from historical imports
NewImprovedFixed- _Response command center:_ The Inbox tab now shows needs-action, live-overdue, draft-review, handled, and historical-import totals, with response-age badges on every t...
- _Automatic freshness:_ An open Inbox refreshes its local read model every two minutes and whenever the operator returns to the tab, while manual provider sync remains...
- _Faster response workspace:_ Saved views are compact, the thread list is denser, reply drafting and provider sending are grouped together, and local resolution actions...
- _Correct content routing:_ Turning an audience comment into a content idea now follows the thread's actual Belong or Matt Personal channel instead of always defaulting...
Jul 14
Social Studio analytics now shows what is actually winning
NewImprovedFixed- _Winner Map:_ Every comparable post now appears on an exposure-versus-interaction map, with bubble size tied to views and Instagram, TikTok, and YouTube kept visually...
- _Decision-ready trend views:_ Performance lines can switch between daily and smoothed movement, while the new Decision Desk keeps recommended next moves and the eviden...
- _Automatic analytics freshness:_ A protected production job now refreshes Espo-owned Social Studio analytics every 30 minutes, while an open Analytics tab rechecks loc...
- _Platform-recognizable visuals:_ Instagram uses pink, TikTok uses aqua, and YouTube uses red consistently across trend lines, post maps, rhythm charts, legends, accoun...
Jul 13
Social Studio analytics now makes channel growth visual
NewFixed- _Visual performance trends:_ The Analytics tab now shows interactive growth lines, reach and engagement trends, posting rhythm, audience mix, publishing windows, and c...
- _Channel-by-channel comparisons:_ Belong and Matt Personal can be compared without blending their results.
- _Connected-account clarity:_ A network view shows which Instagram, TikTok, and YouTube accounts are connected, fresh, partial, or missing data so gaps are visible befo...
- _Accurate repeat syncs:_ Repeated provider snapshots from the same reporting window are counted once, and missing content-lifespan periods stay missing instead of appe...
Jul 12
Email delivery updates now stay attached to the right CRM message
Fixed- _Email delivery tracking:_ Transactional account emails and CRM conversation emails now identify themselves separately when they are sent.
- _Fast provider callbacks:_ If Resend reports a CRM delivery event before the matching message finishes saving, the callback now retries briefly instead of being strand...
Jul 12
Listing follow-ups can no longer invite leads to an open house that already happened
FixedNew- _Expired open-house dates:_ Listing follow-up messages are generated at launch with the open-house date written into the text ("Open house is Saturday, July 4").
- _Launch check for stale dates:_ Launch readiness now blocks a listing launch when its follow-up copy carries an event date that's already in the past, or says "this we...
Jul 12
The CRM now knows which phones can actually receive texts — and automated texting is US-only
NewImproved- _SMS deliverability tracking:_ Every contact now carries an SMS deliverability status — separate from their opt-out preference — that updates automatically from real d...
- _US-only automated texting:_ Automated texts (sequences, pipeline automations, welcome and booking messages) now only go to validated US mobile numbers, checked with a...
- _Consent vs. deliverability are now separate:_ a landline is not an opt-out, and an opt-out is not a broken phone. STOP requests remain consent (DND); phone-quality pr...
Jul 12
Texting STOP and START now works exactly the way carriers expect
FixedNew- _SMS opt-outs (STOP):_ When a contact texts STOP (or STOPALL, UNSUBSCRIBE, CANCEL, END, QUIT, REVOKE, OPTOUT), the carrier network already blocks the number and sends...
- _False opt-outs from quoted text:_ Reacting to a message on an iPhone (for example an angry tapback) quotes the original text — including the "Reply STOP to opt out" f...
- _STOP no longer looks like engagement:_ An opt-out used to bump the contact's lead score and ping the assigned agent with a generic "lead replied" notification.
- _HELP replies:_ A contact texting HELP gets exactly one support response — never two — whether Twilio answers it or Espo does.
Jul 12
CRM visibility now follows assignment everywhere
Improved- _Contacts and related work:_ Owners and administrators retain organization-wide visibility.
- _Pipelines, deals, and tasks:_ Restricted roles see only explicitly granted pipelines; zero grants reveal no pipelines or deals.
- _Analytics and team performance:_ Organization-wide Analytics is limited to owners and administrators. Other CRM roles see only their own Team Performance metrics.
- _Exports:_ Contact and deal exports are owner/admin-only, while task exports follow the signed-in user's task visibility.
Jul 12
Safer pipeline automation foundation
Improved- _Pipeline automation safety:_ Only owners and administrators using a normal client-portal session can create or change stage and sequence-completion automations.
- _Deal update safety:_ Deal stage and row versions now prevent an older browser action from overwriting a teammate's newer stage, assignment, or archive update.
- _Automation durability foundation:_ A dormant, service-only ledger now defines immutable trigger batches, prepared jobs, effect checkpoints, retry/review states, and a...
Jul 12
SMS notification phone numbers are now validated
Fixed- _CRM notifications:_ The SMS phone number in Notification Preferences is now validated when you save it.
Jul 12
SMS notification failures now report the real cause
Fixed- _Notifications:_ When a text-message notification fails to send (for example, because the destination phone number is invalid), the error log now shows the actual reas...
Jul 12
iOS 1.0.1 release candidate
Improved- _iOS app:_ Advanced the native release candidate to version 1.0.1 build 5 after Apple closed the approved 1.0 pre-release train to new uploads.
Jul 10
Portal privacy and permission boundaries hardened
Fixed- _Notifications:_ Personal delivery preferences and push devices now require the signed-in team member's portal session.
- _Meeting Notes:_ Direct API access now follows the same promise as the page: only owners and admins on plans with Cal.com scheduling can access meeting transcripts and...
- _CRM Inbox:_ Agent and viewer roles no longer see reply, send, call, compose, or other write controls that their API permissions reject.
- _CRM permissions:_ Database-level write protection now covers every organization-scoped CRM table that previously trusted membership alone.
Jul 10
Account and CRM permissions strengthened
Improved- _Account security:_ Organization API keys are now isolated to portal and CRM access and can no longer authenticate administrator routes.
- _CRM permissions:_ Owners and admins retain full record management, members can create and edit without deleting, viewers remain read-only, and agents can only claim a...
- _Account privacy:_ Signed-in users can no longer browse the administrator roster, and meeting transcripts/notes are accessible only through the owner/admin portal flow...
Jul 9
Cold outbound moved to a dedicated sending fleet
ImprovedRemoved- _Outbound:_ Espo's own cold outbound email now delivers from a dedicated sending fleet (separate mailboxes on dedicated domains with managed warm-up) instead of the in...
- _Outbound:_ The in-app Dream-100 cold-email launch path is retired and guarded so it can no longer send mail whose replies would bounce.
Jul 7
Your social posts, in your portal — approve before anything goes out
NewImproved- _Client portal:_ New Social area (for listing-package and Growth Engine clients): an approval queue where you review the posts Espo prepared — tap Approve or send them...
- _Client portal:_ A read-only social calendar showing what's scheduled and what's been posted, with links to the live posts and headline view counts.
- _Client portal:_ Listings now show a "Social performance" section — what was posted for that property, where, and how it performed.
- _Listings:_ When a listing launches, its social captions automatically become draft posts waiting in your approval queue — and approving the listing's launch package a...
Jul 6
Social Studio inbox owner replies reconciled
Fixed- _Social Studio:_ Existing self-authored comment-reply duplicates are now stamped as handled/self-authored during sync, letting the Inbox read model hide them while pre...
Jul 4
Social Studio actionable analytics
NewFixed- _Social Studio:_ Added an Analytics action queue that turns source-health gaps into concrete next steps, including account filtering, sync prompts, and copyable fix no...
- _Social Studio:_ Added a recent-vs-earlier performance readout, post learnings, and copyable next-content move prompts so Belong analytics points directly to what to m...
- _Social Studio:_ Analytics recommendations now fall back past punctuation-only post labels to provider post IDs, keeping copied Codex prompts readable.
Jul 4
Social Studio inbox reliability build
NewImproved- _Social Studio:_ Added a manual Sync Inbox action that pulls recent Zernio comment threads into the Inbox, so admins can backfill provider comments instead of waiting...
- _Social Studio:_ Added a local acknowledge action for inbox threads, giving operators a heart-style “handled” state while Instagram comment likes remain unavailable th...
- _Social Studio:_ Inbox status updates and local acknowledgements now clear unread counts, keeping triage totals aligned with the work the operator has already handled.
Jul 4
Social Studio inbox replies enabled
NewImproved- _Social Studio:_ Added an approval-gated Send Reply action for Zernio-backed inbox threads, so admins can respond to supported DMs, comments, and reviews from the Inbo...
- _Social Studio:_ Added focused route and provider-client tests for Zernio inbox replies, covering conversation messages plus comment and review reply payloads.
- _Admin dashboard:_ Renamed the old Content Pipeline entry points to Social Studio in the admin navigation, page header, capture flow, and AI cost feature labels.
Jul 2
Listing post-create failures surface in Admin Errors
Fixed- _Listing Engine:_ Listing post-create side-effect failures now create standard admin error rows with listing and step context while preserving the non-blocking create...
Jul 2
Portal org binding made deterministic
Fixed- _Portal auth:_ checkOrgAdmin() and checkOrgMember() now choose the earliest-joined membership when a user belongs to multiple orgs, matching the deterministic binding...
Jul 2
Website + IDX kickoff seeds minimal CRM
NewImproved- _Onboarding / CRM:_ Website + IDX kickoff now seeds the minimal CRM automatically: Listing Leads and Open House QR pipelines, the owner open-house profile, the generic...
- _Tier gating:_ Website + IDX now allows the two system pipelines its package requires, instead of capping the minimal CRM at a single pipeline.
Jul 2
Listing checkout moves verified payments to Paid
Fixed- _Listing System:_ Stripe listing checkout webhooks now move non-archived listings to the Paid stage when the collected amount matches the expected checkout metadata.
Jul 2
Research detail separates verified teardown claims
New- _Research / Dream 100 outbound:_ The admin research-run detail now shows a Verified outbound claims panel before raw teardown notes.
Jul 2
Open-house sign-ins can preserve sequence enrollment
Fixed- _Open House / CRM:_ Repeat visitor sign-ins now run first-stage sequence enrollment when the reused active deal is still in the same open-house pipeline intake stage.
Jul 2
Dream 100 narration rejects uncited teardown gaps
FixedNew- _Dream 100 outbound:_ Video-packet emails and filming briefs now reject common site-specific teardown claims when the model forgets the internal claim marker.
- _Dream 100 outbound:_ Cadence generation now has a deterministic verified-evidence seam for already-verified Places observations.
Jul 2
Listing production data audit packet staged
New- _Listing System:_ G7/G8 production data anomalies now have a read-only audit packet with exact affected listing/event IDs, sign-in counts, and an approval-gated cleanu...
Jul 2
Listing ops task defaults can assign owners
New- _Listing System:_ Generated listing ops tasks now support default assignees through LISTING_TASK_DEFAULT_ASSIGNEES, plus per-checklist overrides like LISTING_TASK_ASSI...
Jul 2
Listing deletion now archives instead of hard-deleting
Improved- _Listing System:_ Admin listing DELETE is now non-destructive: it moves the listing to Archived instead of removing the row.
Jul 2
Open-house sign-in counters update live
New- _Open House / CRM:_ The portal Open Houses list, calendar, and detail dialog now subscribe to new oh_signins rows for the active organization.
Jul 2
Listing webhook now uses per-org secrets and idempotency
Improved- _Listing System:_ The external listing webhook no longer uses one global environment secret.
Jul 2
Listing detail saves now advance launch stages
New- _Listing System:_ Admin listing PATCH now moves early-stage listings to Landing Page when a landing page URL is saved, and to Ads Setup when an ad start date is saved.
Jul 2
Reverse-pitch emails now use verified teardown claims only
Improved- _Inbound teardown / Reverse Pitch:_ The human-approved teardown email queue now counts and sends only verifier-cleared website gaps.
- _Onboarding Copilot:_ Public intake-form drafting context now uses the same verified teardown assertions instead of quoting raw reverse-pitch claims.
Jul 2
Verified teardown can use live Google Business Profile evidence
New- _Dream 100 outbound:_ Teardown packet generation can now use a live Google Places lookup before writing video briefs or follow-up emails.
Jul 2
Listing lead-source saves are atomic
Fixed- _Listing Engine:_ Saving lead-source routing now updates the CRM lead-source config and the listing linkage in one database transaction.
Jul 2
Listing lead routing no longer carries stale pipeline stages
Fixed- _Listing Engine:_ When an operator changes a listing lead-source config to a different CRM pipeline, the starting stage is now recalculated for that pipeline instead o...
Jul 2
CRM Assistant contact reads match CRM portal visibility
Fixed- _CRM Assistant:_ Assistant searches, contact lists, contact details, contact notes, and communication history now obey the same contact visibility rule as the CRM port...
- _CRM dashboard:_ CRM stats now use the same assigned-or-unassigned contact scope for every non-owner/admin role. Agent tags no longer expand dashboard counts or charts.
Jul 2
Listing admin create flow no longer asks for raw client IDs
Improved- _Listing Engine (ops):_ The admin New Listing dialog now uses a client dropdown instead of a raw organization UUID, lets operators choose Listing Engine or Listing Ess...
- _Listing Engine (safety):_ Existing listings can no longer be moved to a different client organization through the admin detail API.
- _Listing Engine (Meta lead routing):_ Blank starting-stage saves now default to Drip when the selected pipeline has that stage, and launch readiness warns if an Engine...
- _Outbound Engine (safety):_ Added regression coverage that teammates can prepare outbound video packets but cannot launch the live email cadence; release remains found...
Jul 1
Listing Engine v2 locked — listing videos are now a semi-automated pipeline
NewImproved- _Listing Engine (video production):_ A new DaVinci Resolve draft worker (scripts/content/workers/davinci-listing-draft.py) turns a listing's Flow-generated room clips...
- _Listing Engine (Meta ads):_ Finished ad videos now stage to durable signed URLs automatically (no more one-off hosting), and the Meta campaign lane (lead form with pi...
- _Listing Engine (lead routing):_ New listings now get their lead routing fully pre-wired at build kickoff — pipeline, assigned agent, notification list (client founder...
- _Listing Engine (follow-ups):_ When a listing has an open house scheduled, the buyer follow-up email now calls it out with the date alongside the existing SMS mention,...
Jul 1
Verified teardowns can now call out richer (still true) website gaps
New- _Outbound Engine (research):_ Taught the teardown verifier to independently confirm four more real, checkable website gaps — so a personalized cold-outbound teardown c...