REAL ESTATE OS

Docs

How to connect Real Estate OS to Claude, what each connector exposes, and how to wire your own trackers in.  Powered by Real Estate OS.

Listing Launch OS

Listing Launch OS gives every listing a standardized launch checklist — every call, disclosure, photo order, marketing push, and follow-up — assigned to the right person on your team, with due dates, tracked from Pre-Launch to Closed. You see it on a visual board in the Hub, and you can drive it from there or by asking Claude.

Set up your team

Open the Team tab and add your people. Each member holds a role — Owner, Admin/TC, Marketing, Ops, Agent, ISA, or Client Care — that decides which tasks fall to them. Invite a member and they get an email to set a password and join.

Keep every role your template uses staffed. If no one holds a role, that role's tasks spawn with nobody assigned and simply sit.

Customize your template

Open Templates. Your Standard Listing Launch is there by default — clone it to keep a clean copy, then edit. Tasks are grouped by phase (Pre-Launch, Coming Soon, Launch, Active, Under Contract). For each task set the name, who it's assigned to (a role or a specific person), when it's due, and whether proof is required. Add, remove, reorder, or rename to fit how your team works.

Launch a listing

When you take a listing, create it from its transaction — use New Listing on the Listings tab, or ask Claude. LLOS builds the full checklist from your template, assigns each task, and sets due dates. From there everyone sees exactly what they own.

Run it day to day

  • My Tasks — each member sees only their own work; complete tasks, add notes, attach proof.
  • Board — listings as cards across stage columns; drag a listing forward as it advances.
  • Daily digest — every morning, each member gets their tasks due today and tomorrow.

Through Claude

Using REOS, list all my listings and what stage each is in.
Using REOS, what tasks are due on [address] today, and who owns each?
Using REOS, mark "[task]" complete on [address] with a note.
Using REOS, move [address] to Under Contract.
Using REOS, launch a new listing for [address] from transaction [id].

Using REOS with Claude

Once the Real Estate OS connector is enabled in Claude, you run your CRM by asking in plain English. Enable the connector for the chat, and say "using Real Estate OS" when you want it to act on your live data.

Common prompts

Leads & follow-up

Using REOS, pull my new leads from the last 7 days, split into buyers and sellers.
Using REOS, find leads I haven't touched in 30 days worth re-engaging.
Using REOS, add a note to [lead] that I spoke with them, and set a follow-up for Friday.
Using REOS, send a text to [lead] letting them know I'll call at 2pm.

Transactions & appointments

Using REOS, list my transactions and flag anything closing in the next two weeks.
Using REOS, show my appointments for this week.

Listings & team

Using REOS, what tasks are due on [address] today, and who owns each?
Using REOS, show me my team with everyone's role.

Scheduled prompts

Claude can run a saved prompt on a schedule — every morning, every Monday — and show you the result. Open the recurring Tasks / Schedule feature in Claude, create a task, paste your prompt, set the cadence, and make sure the REOS connector is available to it. Claude's menus move as the app evolves; if you can't find scheduled tasks, check support.claude.com.

Every morning at 7am: Using REOS, brief me — new leads overnight, my appointments today, and anything closing this week. Keep it short.

Every weekday at 5pm: Using REOS, list any Listing Launch tasks that came due today and weren't completed, across all my listings.
Start scheduled tasks read-only ("show me…", "brief me…") so an unattended run only reports. Graduate to actions once you trust it.

Getting the best results

  • Be specific — more context, better output.
  • Ask before you act — for anything that sends a text or email or changes a record, have Claude show the draft or plan first, then approve.
  • Start by looking, then doing — run the read-only version before the action version.
  • Give it your cheat-sheet — paste your talk tracks and Claude uses your voice.
  • Correct in plain English — "too long, two sentences" and it adjusts.
Claude can send real texts and emails to real people through your CRM. Keep a human in the loop on outbound messages — favor "draft and approve" over "send now," especially in scheduled tasks.

Website OS

Build, launch, and edit your own real estate website just by asking Claude in the Hub — no designer, no code. Ask for a site and it's live in under a minute; ask for a change and it updates in seconds. Every lead your site captures flows straight into your connected CRM.

Before you start: connect your CRM

Your site needs to know where to send leads, so connect your CRM first. In the Hub, open Connections, click Connect next to your CRM, and sign in. That connection ties every site you build to your account — you never enter an account number, and leads only ever go to you.

Build your first site

In the Hub, tell Claude what you want. "Slug" is just the name in your web address — myname becomes myname.sites.realestateos.com.

Build me a one-page real estate site — a hero section, a short about blurb, and a contact form — and deploy it under the slug myname.

Claude generates the pages and publishes them. In a few seconds you get a live link at myname.sites.realestateos.com, secure https and all. Give Claude your name, market, and specialty for a sharper first build ("I'm a listing agent in Chandler, AZ; I want home, about, listings, and contact pages, clean and modern").

Edit and redeploy

Changed your mind? Just ask — each change republishes in seconds at the same address.

Change the hero headline to "Sold in 30 days or we buy it" and redeploy.
Swap the about section to mention I've closed 200+ homes in the East Valley.
Add a testimonials section with these three quotes: …

Run more than one site

You're not limited to one site. Ask for another under a new slug and you've got two independent sites under your account, each editable on its own — great for a main brand site plus focused campaign pages, single-listing sites, or A/B testing a landing page.

Build me a separate buyers landing page and deploy it under the slug myname-buyers.

Connect your own domain

Want your site on your own domain instead of the free subdomain? Ask Claude to connect it, and you'll get a short list of DNS records to add where your domain is registered — typically a CNAME pointing at the REOS network plus one or two TXT records that prove ownership and enable your SSL certificate. Add them in your registrar's DNS screen, then give it time: DNS can take minutes to a few hours to propagate, and your certificate issues automatically once the records verify.

Your domain may briefly show as pending while the certificate is issued — that's normal. Once verification completes it serves over a secure https connection, same as the free subdomain. Stuck on DNS? That's the one step that touches your registrar rather than the Hub — reach out and we'll give you the exact records for your provider.

Where your leads go

Every contact form on your site is wired to your connected CRM. The moment a visitor hits submit, the lead is captured and routed straight into your CRM — ready to follow up, assign to a plan, or call. There's no key to paste and nothing to configure; the wiring happens automatically because your site is tied to your account.

Test it end to end: submit a lead on your own site with a test name like "ZZ Test Lead," confirm it appears in your CRM within moments, then delete it.

FAQ

  • How long does a build take? — Under a minute for the first version; edits republish in seconds.
  • Do I need to code? — No. Describe what you want in plain language.
  • Is the free subdomain permanent? — Yes, and it stays live even if you also connect a custom domain. Both work at once and serve the same site.
  • My custom domain isn't loading. — Almost always DNS propagation. Recheck the records match exactly, then give it up to a few hours.
  • My domain loads but shows a security warning. — The SSL certificate is still issuing or the TXT record isn't in place yet; it clears automatically once verified.
  • Where do my leads go? — Into the CRM you connected in the Hub, your account only. If leads aren't arriving, confirm your CRM still shows connected under Connections.
  • Can I delete a site or build one for a single listing? — Yes to both — build under its own slug (e.g. 123-main-st) and take it down when the listing closes.

Quick start

Connect Real Estate OS to Claude once. From then on you ask questions in plain language and Claude reads your live data to answer them.

1. Copy the server URL

https://mcp.realestateos.com

2. Add it in Claude

  1. Open Settings → Connectors
  2. Choose Add custom connector
  3. Paste the URL above and confirm
  4. Sign in when Claude redirects you — that's what links the connector to your account

3. Ask for something

A few that work on day one:

  • “Which leads in my dial queue haven't been touched in 30 days?”
  • “How many dials did we make yesterday, and what was the connect rate?”
  • “Which phone number is closest to getting spam-flagged?”
  • “Summarize the notes on this lead before I call them.”
Claude only sees what you authorize. Each connector is granted separately, and revoking one removes its tools from Claude immediately.

Connectors

A connector is one system Real Estate OS can read and act on. Authorize it once in the Hub; its tools then appear in Claude.

ConnectorAuthWhat it exposesStatus
Dialer OSIncluded Call log, dispositions, recordings, per-number spam healthLive
GoHighLevelPrivate token Contacts, opportunities, conversations, call recordingsLive
Google SheetsOAuth Scorecards, trackers, any sheet your team runs onLive
LoftyOAuth Leads, stages, notes, calls, tasks, transactions, listings Live

Authorizing

Open the Hub and press Connect on the connector you want. OAuth connectors redirect you to that provider's sign-in; token-based connectors ask you to paste a key from that system's settings.

Revoking

Press Disconnect in the Hub. Access is cut immediately and the connector's tools disappear from Claude on the next request.

Lofty is live. Any signed-in tenant can connect their own Lofty account from the Hub. The OAuth flow stays inside Lofty's login; Real Estate OS only stores the token you authorize.

Tools

Tools are the individual actions Claude can take. You don't call them directly — you describe what you want and Claude picks the right ones.

By area

AreaExamples
Leads Search, read detail, create, update, change stage, assign
Communication Read call/text/email history, read notes, add a note, send SMS or email
Calls List a lead's calls, fetch a recording, read dispositions and duration
Pipeline List stages, move an opportunity, read stage history
Tasks & calendar List, create, complete, reschedule
Transactions Search, read detail, update property and custom fields
Reporting Read any connected tracker, roll up by day/week/month/quarter/year

Read vs write

Reads run without confirmation. Anything that writes — creating a lead, sending a message, moving a stage — Claude will describe before it acts so you can approve it.

Rate limits. Requests are pooled per account. Bulk work (“update all 400 of these”) is queued and processed in batches rather than fired at once.

Apps Script trackers

If your team already runs on Google Sheets, you can expose a tracker to Claude without moving your data anywhere. It stays in your sheet; Claude reads it through a small endpoint you add.

Add a read endpoint

In your tracker's Apps Script project, add a doGet branch that returns rows as JSON and checks a shared secret:

function doGet(e) {
  // shared secret — the deploy URL alone is not a password
  if (!e.parameter.key ||
      e.parameter.key !== PropertiesService.getScriptProperties()
                            .getProperty('API_KEY')) {
    return ContentService
      .createTextOutput(JSON.stringify({ error: 'unauthorized' }))
      .setMimeType(ContentService.MimeType.JSON);
  }

  var sheet = SpreadsheetApp.openById(SHEET_ID).getSheets()[0];
  var v = sheet.getDataRange().getValues();
  var head = v[0], out = [];

  for (var i = 1; i < v.length; i++) {
    var row = {};
    head.forEach(function (h, c) { row[h] = v[i][c]; });
    out.push(row);
  }

  return ContentService
    .createTextOutput(JSON.stringify({ rows: out }))
    .setMimeType(ContentService.MimeType.JSON);
}

Then

  1. Set API_KEY in Project Settings → Script Properties
  2. Deploy as a web app — Execute as: Me, Access: Anyone
  3. Send us the /exec URL and we register it as a tool
Why the shared secret matters. An Apps Script web app deployed with access “Anyone” has no authentication of its own — whoever holds the URL can read everything it returns. The key check above is what keeps the URL from being the only thing standing between your team's numbers and the open internet.

Writing back

Same pattern with doPost. Keep writes narrow — accept a specific action and specific fields rather than an arbitrary row, so a malformed request can't overwrite a column you care about.

Webhooks

Webhooks keep the two sides in step without polling. When something changes in one system, the other hears about it within a minute or two.

Receiving

  • Respond 200 immediately, then process in the background — providers retry on anything else
  • Expect duplicate deliveries. Dedupe on a stable id plus the change timestamp
  • Validate the event type before acting on the payload
  • Most payloads are thin — an id and a timestamp — so plan on a follow-up read to fetch the record

Loop guards

Once writes flow both ways, a change in system A triggers a webhook that writes to system B, which fires its own webhook back. Without suppression that runs forever.

The pattern: record every outbound write (record id plus a hash of the change) and drop any inbound event matching a recent write of your own. A short window — a couple of minutes — catches the echo without suppressing real user edits.

Kill switches. Every write path should be individually disableable without a deploy. When something misfires at 2am you want a flag to flip, not a code change.

Security

What we store

Authorization tokens for the connectors you enable, and the mappings that link records across systems. We don't copy your CRM into a second database — reads go to the source system at request time.

What Claude sees

Only the connectors you've authorized, and only when a request needs them. Claude doesn't hold a standing copy of your data.

Call recordings

Where recording is enabled, files are stored in private object storage and served through links that expire. Recording law varies by state — if your team calls across state lines, confirm your disclosure practice before dialing at volume.

Revoking

Disconnect any connector in the Hub. Access is cut immediately. Ask us and we'll purge the stored tokens and mappings for that connector.

Support

Something not working, or a system you want connected that isn't listed?

Before you write in

  • Check the connector's status in the Hub — an expired authorization is the most common cause of “Claude can't see my data”
  • Reconnecting takes about a minute and fixes most of it

Requesting a connector

Tell us the system, whether it has a public API, and what you'd want to ask Claude about it. That last part matters most — it decides which tools are worth building.

Contact

Reach out through your Real Estate OS account contact and we'll pick it up.

Built by RealEstateOS.com
Copied