Solutions / Real estate

AI automation for real estate brokerages

A brokerage runs on dates that were calculated by a person reading a contract, and on leads that arrive in a different shape from every portal.

The listing data is already structured. It lives in the MLS, and since RETS was retired the modern way to reach it is the RESO Web API, which returns OData against the RESO Data Dictionary. Almost nothing else in the transaction is structured. The purchase agreement arrives as a signed PDF that was structured data inside the forms platform ten minutes earlier and got flattened on the way out.

That flattening is where the work comes from. A transaction coordinator reads the effective date and the paragraph numbers, then calculates the inspection period, the financing contingency, the appraisal deadline and the title objection date by hand, and enters each one into a calendar. Every state numbers its paragraphs differently, so a brokerage operating in two states is running two versions of that reading task.

The other repeated task is reconciliation between systems that were never designed to agree. A listing goes under contract and the status has to change in the MLS, the transaction platform and the CRM, plus the syndication feeds, each on its own screen. Automating the propagation is straightforward. Deciding what is allowed to propagate is the part that needs care, and it is covered below.


Figure 01 / the ground

What this work runs through

Systems / commonly in place Yours may differ, and that is the point of week one
  • MLS via the RESO Web API
  • Follow Up Boss
  • dotloop
  • SkySlope
  • ShowingTime
  • DocuSign
  • QuickBooks Online

Artefacts that move through the business

  • Listing agreement and listing input sheet
  • Purchase and sale agreement with its addenda stack
  • Seller disclosure packet, which is state specific
  • Commission disbursement authorization
  • Preliminary title report and the closing disclosure
intake
Intake and triage
documents
Documents and records
scheduling
Scheduling and dispatch
compliance
Compliance and audit
follow up
Follow up and status

Figure 02 / where it breaks

The specific things that go wrong here

An MLS feed is licensed for a purpose, not for a company

An IDX entitlement permits display. NAR policy statement 7.58 states that IDX listings may not be used for any purpose other than IDX display, so a brokerage with a working feed still cannot legally point it at its own CRM or valuation tool without a separate back office or VOW entitlement. Automation projects in this sector die here more often than they die on code.

The obvious workaround is the one that gets you fined

NAR VOW policy requires participants to make reasonable efforts to monitor for and prevent scraping of the MLS database. Where a feed is missing, scraping is not a fallback, and any vendor who offers it as one is offering to put your licence at risk.

The same agent has a different identity in every board

Agents working two or three overlapping MLSs carry a different member identifier in each. Listings do not deduplicate across board boundaries, so a view assembled from two feeds shows the same property twice and a production report double counts it.

Portal leads arrive behind a proxy number

A lead from a national portal often carries a masked phone number, and the payload the portal sends is not the same object as the record the CRM creates. Matching an inbound call back to the lead that generated it is a manual join that somebody performs from memory.


Figure 03 / candidates

What we would automate, and when we would not

compliance file

Chasing a compliance file to complete

A broker cannot release commission until the file is complete, so the coordinator compares uploaded documents against a required list and emails the agent about what is missing, then checks again days later.

Runs against SkySlope / dotloop / Outlook

listing status sync

Keeping a status change from being typed four times

When a listing goes under contract the change belongs in the MLS, the transaction platform and the CRM, plus the marketing feeds.

Runs against MLS via the RESO Web API / Follow Up Boss / dotloop

lease abstract

Abstracting a commercial lease into dated fields

A lease arrives as a scan with four amendments behind it, and the operative rent sits in the last one rather than in the document that carries the address.

Runs against Yardi Breeze / Excel / Microsoft 365

cross board listing dedupe

Collapsing two overlapping MLS feeds into one property list

Two boards carry the same house under different keys, in different address formats, with local status vocabularies that each collapse into one standard status value.

Runs against MLS via the RESO Web API / Google Sheets / Slack

feed silence

Watching an MLS feed for the day it goes quiet

A replication loop asks for everything changed since a stored timestamp, then follows the next link until the pages run out.

Runs against MLS via the RESO Web API / Slack


Constraint / why a person stays in the loop Checked against your own jurisdiction

Negotiating, advising on price or terms, and soliciting are licensed activities performed under a supervising broker. The line between a ministerial task and licensed activity is set by each state real estate commission, which is why a system here prepares and drafts rather than sends and advises. Separately, since the NAR settlement practice changes took effect, a written buyer agreement is required before touring, which adds a gate to the showing workflow rather than removing one.

Related: Property management Construction and contracting. Or start from the four shapes of work instead of from an industry.