Morning triage, money, and follow ups
Live shell
rev69 command center

Good evening, Chris

The first 60 minutes, in one place. Rent, showings, maintenance, unread messages, and the next money moves all stay visible with mock-safe fallbacks.

Waiting Loading 7 feeds
Rent collected
$0
Collected this month
Showings today
0
No showings queued
Open maintenance
0
Urgency clear
Unread messages
0
Inbox quiet
Today's showings
Scheduled tours and first-response leads
Open tasks
Top priorities across the team
Urgent maintenance
Open work orders with the fastest response need
💡
Today's Insight
Loading insights…
🏆
Yearly Challenge
Complete 365 missions this year
0% 0 / 365

👥 My Team

Open Team Tasks →
Open Tasks
-
Overdue
-
Done This Week
-
Team Members
-
Recent Activity
View profile →
Loading…
🥇 Leaderboard
Full board →
Loading…

Balloon & Maturity Watch

Loading...
Income Waterfall Annual flow: Rent → NOI → Cash Flow
Annual Wealth Creation Total return from all sources
DSCR
LTV
Cap Rate
Expense Ratio

Refinance Opportunities

Loading...
Top Earners Monthly rent by property
Expenses
Debt Service

Risk Map: DSCR vs LTV

Bottom-left = healthy. Top-right = stressed & over-levered.
Healthy (DSCR ≥1.25 & LTV <75%) Watch Stressed (DSCR <1.0 or LTV >90%)

Cap Rate Distribution

Projections

%/yr
%/yr
%/yr
Portfolio Value & Equity Growth
NOI & Cash Flow Projection

Vacant Unit Tracker

Loading vacant units...

Auto Insights

Analyzing portfolio...
Payment Timeline
Loading payment timeline...
Cash Position
Available
Runway
months
Collections 30d
Paid / Due
Econ. Occupancy
Billed / Potential
Open Risks
Click for list

🏢 Buildium checking…

Props
Units
Leases
Tenants
Outstanding
-
Delinquent
-
Pending diffs
-
Links: 0 Last sync: -

📱 Quo (OpenPhone) checking…

Sent 7d
-
Dry-run 7d
-
Inbound
-

🤖 AI Agents all off

Automate communication and operational tasks. Each agent starts OFF - turn on, pick a mode, test, then go live.

💬 James OFF
Reads tenant texts in Quo, drafts replies, escalates to you.
☎️ James Voice OFF
Answers inbound tenant calls and takes a message or escalates.
👋
Today
Loading what needs your attention…
Checking your portfolio…

💰 Late Rent & Collections

Late
Problem
Total Owed
Loading…
Operations
Deal Center
Analytics Tools
Custom shortcuts: to a property, page, deal, or external link
Deals Pipeline
Loading deals…
all hubs

Every working surface, one grid

Navigate faster, see the badge counts before you click, and keep the 10 untouched hubs rendering exactly as they did before this shell refresh.

Loading property…

🏆 Achievements

Unlock badges by working through your portfolio. Click any achievement to jump to where it gets earned.
0
Unlocked
0
Total
Loading…
Loading profile…

🥇 Team Leaderboard

Real-time XP rankings across the team. Stay active to climb.
Loading…
Properties

Every building, every door. One ledger of record.

Browse the whole portfolio. Filter by group, type, strategy, class. Click any row to open the property card with debt stack, rent roll, and operating P&L.

Type Strategy Class
Address City Units Rent Est. Value Cash Flow Value NOI Cap Rate Group
Loans

Debt stack at a glance. Balloons in the open.

Every note across the portfolio. Search by lender or property. Click a row to open the property card with full amortization. Auto-link unlinked loans by fuzzy address match.

Property Loan Name Type Amount Balance Rate Payment Interest Paid Start Date Balloon Date Status

Deal Center

Deal Pipeline
Track all deals from lead to closing. Drag and drop between stages, manage term sheets, monitor your deal flow.
Seller Terms
Add a new deal - capture seller terms and pricing
Lender Terms
Build private lending term sheets and bridge loan packages
KEY
Analyze Deal
Deep-dive income, expenses, NOI, cap rates, and capital payback analysis
LOI & Offer Sheet
Generate Letters of Intent and beautiful JPG term sheets
Lender & Refinance
Refinance sheets, lender packages, and Excel bundles
Contracts & Closing
Generate installment contracts and full closing packages
Add to Portfolio
Import closed deals directly into your portfolio
LOI Archive
View, edit, and re-download all generated LOIs
Fundraising
Pitch decks, investor calculator, and property slides
Investor Funnel
Manage investors and private lending relationships
Investor Lens
Shareable read-only portfolio views for investors

Extended Stays

Room Grid

Vacant Occupied Needs Cleaned Maintenance Renovating

Occupancy Trend (30 Days)

Revenue by Month

Work Orders

The queue. What is broken, who is on it, when it ships.

Inbound tickets from tenants, Make.com triage, and James routing land here. Filter by status and priority. Click a card to open the ticket.

AI Real Estate Advisor

Seller financing & creative deal structuring expert

Refinance Sheets

Generate bank-ready property packages for DSCR lenders and financing

No property selected
Select a property above or create a portfolio package to generate a lender-ready document.

Fundraising

Pitch deck, property slides, and investor materials

Investor Lens

Click Refresh to compute returns from your portfolio.

Pitch Deck

Auto-generate an investor pitch deck from your real portfolio data (properties, NOI, returns, business profile) or upload your own PDF/PPTX to host and share.

Loading your decks...

Investor Calculator

Share this calculator with potential investors and lenders. They can model their returns on different loan structures - interest only, amortized, or balloon - and share the proposed terms directly with you.

Send offers to
Loading...
Loading...

Property Slide Generator

Generate a branded investment slide for a prospective property. Use to present acquisition opportunities to investors.

Grounds Ops

Lawn & Snow. Every blade, every plow, on a schedule.

Recurring service schedules per property, the crew running them, weather-driven dispatch, and a full cost history.

PropertyServiceFrequencyWorkerNext DateStatusActions
Loading Team Tasks...

Settings

Every system control in one place. Scoped by section.

rev69.0.8.8
Settings Hub

💳 Plan & Billing Subscription, AI budget, hide locked features

Loading plan…

🏢 Company Personalization Logo, colors, business info

Company-level identity used on generated documents, headers, and reports. Saved server-side; shared across the team.

No logo uploaded - choose a JPG or PNG above.
Logo is stored as a data URL on the server and applied to generated PDFs / documents.

📞 OpenPhone (Quo) API Tenant SMS · voice automation

CHECKING…

Same key-entry UI as the AI keys above. Paste your OpenPhone API key, set the send-from number in E.164 format, then click Send Test Text to confirm an SMS actually goes out.

OpenPhone API key + send-from number
-
-
Send Test Text
Get a key at openphone.com → Settings → Developer / API.

Data Export

All properties, rents, loans, expenses, taxes, and insurance in one Excel file with 6 sheets

🧭 Onboarding Account setup walkthrough

CHECKING…

Walk through the steps to set up your account. You can do it with Buildium connected, or build everything manually - each step is independent and resumable.

Loading onboarding…

📜 Eviction Notice Template Illinois 735 ILCS 5/9-209

LOADING…

Configure the landlord, agent, and payment information used to auto-fill Illinois 5-day and 10-day eviction notices generated from the Contract Center. Tenant, unit, and balance fields are pulled live from Buildium.

🤖 AI API Keys James chat + voice

CHECKING…

Anthropic Claude Haiku powers James's chat replies, motel ops AI, AI advisor, deal-center analysis, and equipment search. OpenAI TTS powers James's voice playback. Keys are saved to the database: no server SSH or .env edits required.

Anthropic Claude 3.5 Haiku: chat + AI features
-
-
Get a key at console.anthropic.com → API Keys.
OpenAI TTS-1 - voice playback for James
-
-
Get a key at platform.openai.com → API keys.
Keys saved here take priority over ANTHROPIC_API_KEY / OPENAI_API_KEY environment variables. Leave the input blank when saving to keep the current key.

✉️ SMTP (Outgoing Email) support tickets + system mail

CHECKING…

Wire up an SMTP relay so support tickets, ticket replies, and other system emails actually deliver. Works with Gmail SMTP (use an app password), Postmark, SendGrid, Mailgun, Resend, or any standard SMTP host.

For Gmail: enable 2FA, generate an App Password at myaccount.google.com/apppasswords, paste it into Password. Host: smtp.gmail.com, Port: 587. From: your Gmail address. Without SMTP configured, support tickets are still saved but no email is sent.

🏢 Buildium API Open API integration

CHECKING…

Direct Open API integration. Pulls properties, units, leases, transactions, outstanding balances and tenants every hour. Generate credentials in Buildium under Settings → Application settings → Api settings (toggle Open API on), then Settings → Developer Tools → Create API Key with the Read scopes for Rentals, Leases, General Ledger, Tenants, and Bills.

Manual Sync

The scheduler runs every hour automatically once credentials are saved. Use these buttons to trigger a sync on demand.

Synced Portfolio Snapshot
Properties: -
Units: -
Active Leases: -
Tenants: -
Transactions: -
Total Outstanding: -
Delinquent Leases: -
Lease End ≤ 90d: -
Loading…

💬 OpenPhone Automation Tenant SMS workflows

CHECKING…

Connect OpenPhone (Quo) so the system can automatically text tenants for late rent, new-lease welcomes, and lease-renewal nudges using the Buildium data above. Grab your API key from OpenPhone → Settings → Developer / API.

Dry-run mode (recommended for the first 7 days)

When dry-run is ON, the system runs every workflow on schedule but writes the rendered message to the Communications Log without actually sending it. Watch the log for a week, then toggle dry-run off when you're comfortable.

Message Templates

Available variables: {tenant_first_name}, {property_address}, {balance_due}, {days_late}, {lease_end_date}. Templates start disabled; toggle ON to activate.

Run Workflow Manually

These four buttons trigger workflow evaluation immediately. Sends respect the dry-run setting and the per-template enable toggle. Already-sent tenants are suppressed for 24h to prevent duplicates.

Loading…

AI Hub

Keys and channels your AI Employees use. Anthropic key powers James, the Chief of Staff, and all 61 employees. Slack webhook posts briefs to a channel.

that prematurely closed view-settings -->

Full System Backup & Restore

Download Complete Backup

Download everything: source code, database, configuration files, insurance docs, and system documentation. This zip file contains everything needed to restore the entire system on a new server or Perplexity Computer instance.

Database: ...
Properties: ...
Units: ...
Deals: ...

Includes: server.py, index.html, calculator, database, SYSTEM.md, templates, insurance docs, uploads

Restore from Backup

Upload a previously downloaded system backup zip to restore the entire system. A safety copy of the current state is saved automatically before restoring.

Warning
Restoring overwrites all files (code, database, config). A safety backup is created automatically. The server may need to be restarted after restore.

Click to select a backup file (.zip)

Only .zip files from the backup system are accepted

Data Exports

Cash Drainers

Property Unit Reno Scope Reno Status Potential Rent Days Vacant Est. Loss Cost/Day Cost/Week Cost/Month

Zero-Income Units

Properties with zero actual rent receipts in the selected window. Sourced from buildium_lease_transactions (payment/rentpayment/receipt/depositpayment types). Use this view to catch leased units that have gone silent on rent.
Property City State Occupied Units Total Units Receipts In Window Window
Loading...

Renovations

Planned

In Progress

On Hold

Completed

PropertyUnitTitleTypeScopeStatusEst CostActualTarget DateActions
Mechanicals

Every furnace, every water heater, on the record.

Catalog the equipment in every unit. Brand, model, serial, install year, condition. Then auto-research replacement parts in one click.

Utility Infrastructure

PropertyTypeLocationFloorShared?UnitLast VerifiedActions

Shopping Lists

Tax & Insurance

Annual Tax: - Annual Insurance: -

Payment Timeline

Every upcoming payment in one calendar: mortgage P&I, property tax, insurance premiums, utilities, and HOA dues.

Loading payment timeline...

Profit & Loss

Bank-grade P&L, liability schedule, and Schedule E reconciliation - source of truth for lender packages.

Recommended assumptions: 5% vacancy · 8% management · 5% maintenance - adjust the sliders below if your portfolio operates differently. Sliders at 0 produce an inflated NOI that won't match Opportunities or lender packages.
Management Fee 8.0%
Blanket % of gross rent. Override in Assumptions.
Maintenance Reserve 5.0%
Blanket % of gross rent set aside for repairs/CapEx.
Vacancy 5.0%
Planning vacancy when no units flagged vacant.
PropertyCityClosed Gross Rent OpEx Mgmt Maint NOI Depr Debt Svc Cash Flow DSCR
Fleet

Vehicles owned by Command Center.

Loan tracking, monthly principal vs interest, fuel and insurance opex, total cost of ownership, and a one-click Corporate P&L sync.

Residents

Rental Tenants. Every lease, every balance, every conversation.

People renting your properties. Tracks leases, balances, contact info, and the Buildium / OpenPhone bridges that keep them in sync.

Contacts

Lenders, investors, attorneys, contractors, leads. Your full CRM.

Buy Box

Define what a deal has to look like before you say yes. Every new property + deal auto-scores against this box and James reads it before he answers underwriting questions.

1. Acquisition Envelope
The basic shape of a deal you would buy. Leave a field blank to skip that criterion.
2. Returns Floor
Floors a deal has to clear. Anything below these gets flagged red.
3. Geography & Product
4. Hard Exclusions (auto-block)
Anything checked here marks the deal as blocked regardless of score.
5. Scoring Weights
Tune how much each criterion matters. Weights are relative, not percentages.
6. Operator Notes
Free-form context James reads when answering underwriting questions. e.g. "Avoid roof + foundation rehabs. Prefer seller carry with 7-10 year balloon."
7. Live Preview
Scores every property + deal in your portfolio against the current criteria so you can sanity-check the box before saving.
Click Run Preview to score your portfolio against the live criteria above.

Deal Analyzer

Quick standalone underwriting. Saves to your history for side by side compare.

Loading...

Valuations

Internal BPOs, comps, and desktop appraisals tracked per property.

Loading...

Deal Vault

Closed deals archive. Documents, lessons learned, performance tracking.

Loading...

Projections

Portfolio and per property forward projections. Scenario compare with adjustable assumptions.

Loading...

Missions

Daily missions, streak tracking, and operator goals.

Loading...
Lease Operations

Lease Center. All leases at a glance.

Expiring soon, month-to-month, vacant. Renewals and e-sign live in the Leases module.

Loading leases...

Short Term Rentals

Airbnb and VRBO listings. Track occupancy, rate, monthly revenue.

Loading listings...

Expenses

Categorized operating expenses across the portfolio.

Loading expenses...

Transactions

Combined inflows (income) and outflows (expenses). Newest first.

Loading transactions...

Phone Log (OpenPhone / Quo)

Inbound calls and transcripts. James suggests a reply for each.

SMS Drafts (James)
No drafts yet. When SMS mode is Draft, James will queue replies here.
Loading calls...

James AI

Your AI operations partner. Configure, teach, ask, and review every draft before it sends.

Ask James
Open the chat. Ask anything about your portfolio, tenants, vendors, finances.
Configure James
Personality, response length, data access, business facts. Tune how James speaks and what he knows.
Business Context
Company, hours, escalation, tone, policies. Every tenant-facing reply pulls from here.
Property Knowledge
Per-property facts. Utility splits, gate codes, parking rules, anything James should remember.
Documents
Upload leases, manuals, vendor contracts. Auto OCR + chunked + searchable by James.
Actions Log
Full audit history. Every draft, send, cancel, escalation with timestamps.
Communications
Quo inbox: text and call threads with tenants, vendors, leads.
API Keys
Anthropic, OpenAI, Buildium, OpenPhone. Open the Integrations hub.
James Settings
Test mode, test number, signature disclosure, auto-send thresholds, pause toggle.
⚙️ Configure James AI personality · data access · business facts
Personality
Shapes tone across all responses.
Response length
How verbose James is by default.
Data access
Business facts
Loads property count, unit count, tenant count, monthly rent roll into James memory.
Add manual facts in Knowledge Base →

James knowledge base

Teach James facts about your portfolio. Examples: utility company names, tenant-vs-landlord utility split, lease rules, when to escalate to you. James pulls every fact into every reply he drafts.

Click Refresh to load James facts.

James AI

Your AI operations partner. Ask about deals, properties, tenants, vendors, finances.

Conversations
Loading...
Start a new conversation
James
Hi. I am James, your operations partner. Ask me about a deal, a property, a tenant, a vendor, or anything operations. I have live context to your portfolio.
Press Enter to send, Shift+Enter for new line
Systems & data routes

Integrations

Manage the external services that power leasing, operations, billing, AI drafting, routing, and reporting across the command center.

Buildium

Property management API for residents, balances, work orders, and accounting data.

Not configured

Connect Buildium to sync resident records, leases, balances, and maintenance activity into operational dashboards.

Status reflects whether an API key is present

Quo / OpenPhone

Central voice and SMS line for tenant, lead, and vendor conversations.

Connected

Review line setup, webhook routing, and approval flow between Quo, Make.com, Slack, and James.

Opens Quo communications explainer

Make.com

Automation router for inbound classifiers, actions, and cross-system handoffs.

Connected

Manage automation scenarios, webhook endpoints, and event chains that move data across the stack.

Webhooks configured: 2 / Inbound Classifier + Action Router

Slack

Notification backbone for leasing, live ops, triage, and team approvals.

Connected

Review channels, routing rules, and who receives operational alerts from James, Sona, and Make.com.

9 channels configured

Anthropic

Primary model provider for James and higher-context operational analysis.

Connected

Tune prompts, keys, safety defaults, and model routing for the command center’s analyst workflows.

Existing integration settings

OpenAI

Supplementary model provider for drafting, extraction, and assistant experiments.

Connected

Configure API keys, usage preferences, and fallback model selection for lighter-weight automations.

Active fallback model path

SMTP

Outgoing email layer for notifications, invoices, and approval-based sends.

Not configured

Set host, sender identity, authentication, and delivery defaults for transactional mail workflows.

Email sending disabled until configured

Stripe

Payments for holding deposits, fees, and billing events tied to leasing flows.

Connected

Review checkout links, deposit workflows, and payment status handling for lead-to-lease conversion.

Deposit and billing actions available

Google Calendar

Calendar sync for showings, follow-ups, reminders, and scheduling coordination.

Not configured

Connect calendars to enable booking visibility, no-show handling, and automatic event-based jobs.

Required for calendar-native scheduling

Timeero

Team time tracking and field attendance data for operations coverage.

Not configured

Sync field hours, route evidence, and attendance data to compare staffing with property workload.

Ideal for mobile crew visibility

Airtable

Structured property data sync for inventory, amenities, and portfolio metadata.

Not configured

Map Airtable bases into the command center to support listings, data enrichment, and quick team updates.

Use for property data sync

Sona / Quo Sona

AI leasing assistant for inbound inquiries, showing links, and knowledge-grounded replies.

Action needed

Build the knowledge base, turn on jobs, and verify response guardrails before enabling broader automation.

Needs KB + jobs configuration

Request integration

Need another system in the command center? Send the request and desired workflow.

Action needed

Document the service, key events, and what should happen when data moves between tools.

Open request email draft
Opening Anthropic configuration in Settings...
Opening OpenAI configuration in Settings...
Opening SMTP configuration in Settings...

Knowledge Base

Articles, runbooks, and how-to guides for operating the platform.

Categories
Loading...
Pick a category to view articles, or search above.

Affiliate Dashboard

Referral revenue, payouts, attribution. Automatically active as long as your subscription is active.

Refer and Earn Recurring
10-25%

Earn recurring commission every month a customer you referred stays subscribed. Rate is locked at the time of the referral based on the plan tier they pick: Minimum 10%, Landlord 15%, Pro 25%, Enterprise 25%.

YOUR REFERRAL LINK
Loading...

Billing

Your current plan, invoices, and payment method.

Loading plan...
Portfolio

Properties, people, and paper

Every property, tenant, lease, and acquisition in one place. The full operating picture of your real estate.

Properties
Every property card. Rent roll, cap rate, cash flow, archive, tags.
Tenants & Leases
Tenant records, lease terms, balances, lease center, renewals, evictions.
Rent Roll
Live unit-level occupancy and rent. Export to CSV.
Edit Portfolio Data
Bulk edit properties, tenants, units, leases. Spreadsheet-style.
Deal Center
Acquisitions, LOIs, due diligence, comps. New deal pipeline.
Exemptions
Homestead, senior, veteran. County exemption tracker.
Contracts

Every agreement, every signature

Active contracts, LOIs, closing docs, lease templates, and eviction notices. One source of truth for everything legal.

All Contracts
Active contracts list. Vendor agreements, service contracts, partnerships.
LOIs & Deals
Letters of Intent. Draft, send, track. Acquisition pipeline.
Lease Templates
Master lease templates with auto-fill from tenant + property data.
Legal Templates
Reusable boilerplate. NDAs, addendums, MOUs, notices.
Eviction Notices
Auto-fill eviction templates. Notice to pay or quit, unlawful detainer, judgments.
Property Tax Appeals
Tax adjuster workflow. Candidates, active appeals, filed complaints.
Money

Capital, cash, and what it costs

Every dollar in and out. Debt, books, taxes, the payment schedule, and capital raises. All stitched to your portfolio.

Loans
Active mortgages, balances, amortization, lenders. Auto-linked to properties.
Books & Cash
Bookkeeping, expenses, transactions, P&L, balance sheet. Buildium-synced.
Tax & Insurance
Property tax lookup, county sources, insurance policies and documents.
Payment Timeline
Upcoming mortgage, tax, and insurance payments. Rolling calendar.
Fundraising
Capital raises, investor list, syndications, LP commitments.
Profit & Loss
Portfolio + per-property P&L. Year over year. Import/export.
Tenants

People, leases, and the months ahead

Your full tenant operating layer. Roster, leases, renewals, evictions, and the work that touches each unit.

Operations

The work that keeps the units running

Field operations across the portfolio. Work orders, lawn and snow, fleet, equipment, rehab pipeline.

Comms

Communications Hub

All your channels in one place. OpenPhone, email, templates, and the comms log.

OpenPhone

SMS and voice with auto-transcription and James draft replies.

Comms Log

Every inbound and outbound message across all channels.

Templates

Pre-written messages for common tenant scenarios.

Tenants

Jump to a tenant to see their full message thread.

Reports

Reports

Top-line view of your portfolio. Pull P&L, rent roll, agent activity, and historical snapshots.

Properties
-
Active leases
-
Occupied
-
Vacant
-
YTD income
-
YTD expenses
-
YTD net
-
Open work orders
-

Quick reports

P&L Statement

Year-to-date profit and loss across all properties.

Rent Roll

Current rent collected, vacancies, and lease status.

Tax & Insurance

Annual obligations, payments, and renewal dates.

Debt Schedule

Loan balances, rates, and amortization.

Work Orders

Open and closed work orders by property.

AI Agent Activity

Runs and briefs from your digital team.

AI

AI Hub

Your command center for everything AI. The Chief of Staff rolls work from your 24/7 digital team into briefs. James handles conversations. Agents automate the rest.

Employees active
-
Unread inbox
-
Pending decisions
-
Runs (24h)
-
Latest brief

Loading...

Quick launch

👥

AI Employees

61 digital teammates rolling up to a Chief of Staff. Briefs by cadence.

🤖

James Chat

Ask anything about your portfolio. Analyst-grade answers.

James Actions

Queued operator-approvable actions James proposes.

🧠

AI Advisor

Underwriting and strategy advice on demand.

⚙️

AI Agents

Background automations and Make.com integrations.

🎓

Knowledge Base

The source of truth all agents read from.

Pending approvals

Loading approvals...

Snapshots

Loading...

Recent agent writes

Loading...

Recent runs

Loading...
AI

AI Employees

Your 24/7 digital team. Five seed employees report to the Chief of Staff, who rolls their work up into briefs delivered to the inbox, your email, Slack, and push.

Generate brief:
Loading AI Employees...
AI Employee

Loading...

-

System prompt


          

Recent runs

Loading...

Recent decisions

Loading...

Recent writes (revertable)

Loading...
Vendors

The bench. Track every contractor that touches your portfolio.

Plumbers, HVAC, lawn, snow, cleaners, electricians, locksmiths. W-9s, insurance, ratings, preferred status. Dispatch the right person on the first call.

Total vendors
-
Preferred
-
Insurance current
-
Active work orders
-
Loading vendors...

Assumptions

Set portfolio defaults for management, maintenance, and vacancy. Override any property below - blank cell means inherit the portfolio default.

Portfolio Defaults
Management Fee
%
% of gross rent paid to property management.
Maintenance Reserve
%
% of gross rent set aside for repairs and CapEx.
Vacancy
%
Planning vacancy %. Applied when no units are flagged vacant.
Per-Property Overrides
Type a number to override. Leave blank to inherit from the portfolio default above. Press Tab/Enter to save.
Property City Mgmt % Maint % Vacancy %

EBITDA

Earnings Before Interest, Taxes, Depreciation & Amortization - derived from portfolio P&L. Shows EBITDA and EBIT on the same statement.

Bookkeeping

Books, loans, taxes, P&L. One keyboard-first hub.

Loans, taxes, depreciation, expenses, balance sheet, P&L, and the income log all draw from the same source-of-truth tables. Built to beat QuickBooks for landlords.

Loading.

Balance Sheet

Snapshot of assets, liabilities, and equity - properties + vehicles minus loan balances.

Manual Items
Cash, vehicles not in fleet, credit cards, lines of credit, and other custom assets/liabilities.
Side Category Label Amount Property (optional) Notes

Portfolio History

Daily snapshots of equity, NOI, occupancy, rent. Scrub through time to see exactly what the portfolio looked like on any given day.

Day Scrubber
-
Equity Over Time
NOI Over Time
Occupancy Over Time
Monthly Gross Rent
Snapshot Detail
Move the scrubber to inspect a day.

Vacancy Tracker

Track lost income, prioritize turnovers, and manage vacant units

Candidates
-
Active appeals
-
Filed
-
Est. savings
-

Tax Adjuster

Identify over-assessed properties, build appeals, generate formal letters with exhibits

Properties flagged because their effective tax rate exceeds 2.5%, or assessed value implies a market value above the price you paid.

Edit Portfolio

Mass edit properties, loans, units, and expenses

0 records
E-Sign & Templates

Leases & E-Sign. Generate, send, sign.

Generate, send, and e-sign leases. Public revocable links for employees and tenants. Upload your own templates with @TOKEN placeholders.

Need leases from Buildium in your operational table?
Loading leases...

Compare A vs B

Side-by-side property comparison - financials, debt, performance.

Loading…

Open Risks

Every flagged item across the portfolio - balloons, DSCR, LTV, vacancy, insurance, tax. Sorted critical → warning → info.

Loading…

What-If Scenarios

Stress-test the portfolio. Drag the sliders - NOI, cash flow, and DSCR recalculate live.

Loading…

Data Health

Missing rates, blank rent rolls, unit count mismatches, stale tax & insurance. Fix once → every metric updates.

Loading…

Property Triage

Hold vs short-payoff vs sell. Cash-flow burn, payoff scenarios, and recommendation tier.

Pick a property above to begin.

Buildium

Every change pulled from Buildium - new payments, new leases, edits, and sync errors.

Loading…
Comms

Communications Log

Searchable history of every inbound and outbound message across OpenPhone, email, and James drafts.

All SMS Voice Email
Loading communications...
Tax

Homestead Exemptions

Track filing deadlines, status, and savings per property. Your Reminders Officer surfaces exemptions due in the next 60 days.

Loading exemptions...
Pipeline

Applications. Every prospective tenant in flight.

Submitted, screening, approved, denied. See income, credit, prior addresses, and time-in-stage so you can move applicants without losing them.

Submitted
-
In screening
-
Approved 30d
-
Denied 30d
-
Loading...
Retention Pipeline

Lease Renewals. Catch every expiry before it hits.

Leases expiring in the next 90 days. Mark offers sent, accepted, declined, or month-to-month. The Tenant Success team auto-flags any tenant going silent.

Expiring 30d
-
Expiring 60d
-
Expiring 90d
-
Offers out
-
Loading...
Rent Roll

Every active lease, every monthly dollar, on one page.

Scheduled monthly and annual rent, outstanding balances, units expiring within 90 days. Sort any column, filter by status, export to CSV.

Loading rent roll...
Quo communications system

Quo: How we communicate

Quo (OpenPhone) is the single voice and SMS line for all property comms. Every inbound message becomes a James draft. Outbound flows from Make.com or manual reply.

Voice + SMS Unified inbound routing James-assisted drafting

How it works

Every conversation enters through one number, gets classified by automation, then lands with the right team and a ready-to-approve response path.

1

Inbound arrives

SMS or call reaches the Quo number.

Inbound SMS or call arrives at Quo number PNr2YPlWAr, creating a single source of truth for property communications.

2

Webhook triggers

Make.com handles the first automation pass.

Quo webhook fires the Make.com Inbound Classifier scenario so the message can be analyzed in real time without a manual handoff.

3

Classifier routes

Slack + James receive the right signal.

Classifier tags the message as lead, tenant, vendor, or spam, then routes it to the correct Slack channel and James queue.

4

Reply goes out

Humans stay in the approval loop.

James drafts a reply, the team approves it in Quo Inbox, and the outbound message returns through the Quo SMS API.

Channels

Each inbound path has a clear team destination, response owner, and expected first action.

Leasing leads

First-touch speed matters most.

Leasing leads route to #leasing-leads in Slack, where the first four hours are covered by Sona auto-respond rules.

Quo → #leasing-leads → Sona

Tenant messages

Operational threads stay reviewable.

Tenant messages route to #ops-live in Slack, where James prepares drafts and the team approves before send.

Quo → #ops-live → James

Vendor messages

Task-based routing for field execution.

Vendor messages route to #ops-tasks in Slack and are forwarded to Max or Vova for follow-through.

Quo → #ops-tasks → Max / Vova

Spam

Noise gets filtered fast.

Spam is silently ignored, retained in logs for reference, and kept out of the team response loop.

Quo → log only

API Configuration

These values keep the OpenPhone integration consistent across Quo, Make.com, and the internal operations stack.

OpenPhone settings

Use the following connection details when validating the line, webhook, and outbound reply path.

Base URL https://api.openphone.com/v1
Auth header Authorization: <KEY>
From number ID PNr2YPlWAr
Webhook target Make.com Inbound Classifier

Quick links

Open the parts of the stack the team uses most during the day.

Leasing assistant knowledge

Sona Knowledge Base

Build the answers Sona uses when chatting with prospective tenants. Add a category, write the answer, save.

Quick categories

Use a starting template, then tailor the answer for each property or portfolio.

Add new KB entry

Keep answers direct, structured, and easy for Sona to reuse in SMS conversations.

Markdown-style bullets are fine. Sona can extract the structured notes.

Existing KB entries

Review what Sona already knows, then edit or remove entries as your leasing language evolves.

No KB entries yet. Add your first one above.

Bulk import

Bring in existing intake notes, preview a file-based import, or export the full knowledge base as markdown.

Each markdown heading becomes a category section. Plain text is imported as a single “Other” entry.

Automation playbook

Sona Jobs

Define the automations Sona runs. Each job is a trigger + action + safety check.

Jobs library

Start from proven leasing and operations workflows, then enable what you want live.

Build custom job

Write the trigger, define the action, and decide when a human must approve before Sona sends.

Checked by default for SMS and Stripe actions to keep outbound messages safe.

Active jobs

Review what is enabled, how often it fires, and whether it should stay in approval mode.

No jobs yet. Enable a template or build your first custom automation above.
Master Hub

API Integrations and Automation Documentation

Every API key, every webhook, every automation blueprint, in one place. This is the single source of truth for connecting Command Center to the outside world and for the playbooks Sona and Make.com run on your behalf.

API Integrations

Every external service Command Center connects to. Click a card to see setup steps, view the API key location, and visit the linked configuration view.

Buildium
Connected
Property management system of record. Source of truth for properties, units, tenants, leases, vendors, and bills.
Endpointapi.buildium.com
AuthClient ID + Secret (HMAC)
Configured inIntegrations → Buildium
Setup steps
  1. Log into Buildium → Settings → Application settings → Open API.
  2. Create a new API key pair (Client ID and Secret).
  3. Grant read scopes on Properties, Tenants, Leases, Tasks, Vendors, Bills.
  4. Paste into Command Center → Integrations → Buildium.
  5. Click Verify Auth, then Sync Now.
Quo (OpenPhone)
Connected
SMS, voice, and AI agent platform. Sona lives here as the leasing intake agent.
Endpointapi.openphone.com/v1
AuthBearer API key
FromPNr2YPlWAr
SendPOST /v1/messages
Setup steps
  1. OpenPhone dashboard → Settings → API and webhooks.
  2. Create a new API key, copy the Bearer token.
  3. Identify the phone number ID (PNr2YPlWAr is the leasing line).
  4. Paste into Command Center → Integrations → OpenPhone.
  5. Configure Sona agent (see Sona tab).
Make.com
Connected
Workflow automation. Routes inbound communications, posts to Slack, updates Command Center, sends outbound messages via Quo.
AuthWebhook URLs (see Webhooks tab)
ScenariosInbound Classifier, Action Router
PlanCore (10k ops/mo)
Setup steps
  1. Log into make.com → create organization Woosung.
  2. Import the two master blueprints from this Hub (Reference Docs tab).
  3. Connect Quo, Slack, Anthropic, and Command Center HTTP modules.
  4. Activate the Inbound Classifier scenario, copy its webhook URL.
  5. Configure Quo to POST inbound messages to that URL.
Slack
Connected
Team chat and operational alerts. Nine channels carry the live state of the business.
AuthIncoming Webhook URL
WorkspaceWoosung Investments
Channels9 (ops, leasing, materials, james)
Channel map
  1. #ops-live live operational events
  2. #ops-tasks assigned tasks from Make.com
  3. #ops-alerts errors and warnings
  4. #leasing-leads new inbound leads
  5. #leasing-showings scheduled tours
  6. #leasing-warm follow-up needed
  7. #leasing-closed won or lost
  8. #materials-list ops shopping list
  9. #james-queue James AI analysis queue
Google Calendar
Configure
Showings, vendor visits, team scheduling. Make.com reads/writes events when leasing books a tour.
AuthOAuth via Make.com connector
Primary calleasing@woosung
Setup steps
  1. In Make.com, add a Google Calendar connection.
  2. Authorize with the leasing@woosung Google account.
  3. Note the calendar ID used in scenarios.
  4. Test by creating one event via Action Router.
Timeero
Configure
Field team time tracking with GPS. Validates timecards against work orders.
Endpointapi.timeero.com
AuthAPI key
Setup steps
  1. Timeero dashboard → Settings → API.
  2. Generate a new key with read scopes on Timesheets and Users.
  3. Paste into Command Center → Integrations → Timeero (coming).
  4. Map team members to Buildium vendor IDs.
Airtable
Optional
Legacy data and ad-hoc lists. Being deprecated as Command Center absorbs these workflows.
Endpointapi.airtable.com/v0
AuthPersonal Access Token
Stripe
Connected
Payment processing for application fees, deposits, and one-off rent collections.
AuthSecret Key (sk_live_*)
Webhookspayment_intent.succeeded
Setup steps
  1. Stripe Dashboard → Developers → API keys.
  2. Reveal secret key (live mode).
  3. Paste into Command Center → Admin → Settings → Stripe.
  4. Add webhook to /webhooks/stripe.
Anthropic
Connected
Claude powers James AI analyst and Sona drafting.
Endpointapi.anthropic.com
Authx-api-key header
Modelclaude-sonnet-4-5
OpenAI
Connected
Backup LLM and embeddings for classification.
Endpointapi.openai.com/v1
AuthBearer sk-*
SMTP Email
Connected
Transactional email from Command Center for receipts, notices, and owner reports.
Hostconfigured in Settings
AuthUser + password
James AI
Read-only
In-house analyst agent. Read-only across the database; produces summaries and answers natural-language questions. No outbound messaging.

Webhook URLs

These are the live webhook endpoints currently wired into Make.com and Quo. Use the copy buttons to paste them into the right configuration screens.

Make.com Inbound Classifier
Live
Receives every inbound SMS/voicemail from Quo, classifies it (lead, tenant, vendor, owner, support), and fans out to Action Router.
https://hook.us2.make.com/kkivtjbevdgmxcveysr171eh3x7b5nq2
Make.com Action Router
Live
Receives structured intents from the Classifier and dispatches: create lead, schedule showing, post Slack alert, send SMS reply.
https://hook.us2.make.com/wvhdmocrh7m264rpe77bx42ihib2nsxc
Quo Outbound SMS
Live
Make.com posts here to send a text from the leasing line. Auth header is Bearer plus the Quo API key.
POST https://api.openphone.com/v1/messages { "from": "PNr2YPlWAr", "to": ["+1XXXXXXXXXX"], "content": "..." }
Slack Incoming Webhook
Live
Default ops channel hook used by Make.com for alerts when no specific channel is named.
https://hooks.slack.com/services/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
Command Center Inbound
Live
Make.com posts structured events back to Command Center to update leads, tasks, and the inbox.
POST https://woosungmanagement.com/webhooks/sona POST https://woosungmanagement.com/webhooks/slack/interactive

Make.com Automation Blueprints

Two master scenarios cover all inbound communication and downstream action. Import the JSON blueprints into Make.com, connect the modules, and they go live.

Master Inbound Classifier
v1
Single entry point for every SMS, voicemail transcript, and Sona summary. Uses Anthropic Claude to assign intent and routes to the Action Router.
TriggerWebhook from Quo
OutputJSON intent + entities
Blueprintmaster_inbound_classifier_blueprint.json
Import steps
  1. Open Make.com → Scenarios → New scenario.
  2. Click the three-dot menu → Import Blueprint.
  3. Select master_inbound_classifier_blueprint.json (from your shared assets).
  4. Reconnect each module's connection (Quo, Anthropic, HTTP).
  5. Activate the scenario, copy the webhook URL, paste into Quo.
Master Action Router
v1
Takes the Classifier output and executes: create lead, schedule showing, post to the right Slack channel, send a templated SMS reply, or queue James for analysis.
TriggerWebhook from Classifier
BranchesLead, Tenant, Vendor, Owner, Support
Blueprintmaster_action_router_blueprint.json
Import steps
  1. In Make.com, create a second new scenario.
  2. Import master_action_router_blueprint.json.
  3. Reconnect Slack, Quo, Anthropic, Command Center HTTP connections.
  4. Activate and confirm the webhook matches the URL the Classifier sends to.
  5. Send a test inbound through Quo and watch both scenarios run.

Operational Cadence

Inbound (incoming SMS)

Quo receives the SMS → posts to Inbound Classifier webhook → Claude classifies → Action Router fans out → Slack notified + lead row created in Command Center.

Outbound (team or operator reply)

Operator clicks Reply in the Quo Inbox view → Command Center POSTs to Make.com Action Router with action=reply → Action Router calls Quo Outbound SMS endpoint with the templated body.

Showing scheduled

Action Router branch=schedule-showing → creates Google Calendar event → posts to #leasing-showings → SMS confirmation back to the lead via Quo.

Materials request

Team texts "need 2 of X" → Classifier intent=materials → Action Router posts to #materials-list and inserts a row in Command Center → Materials.

Sona AI Agent (in Quo)

Sona is the leasing intake agent that lives inside Quo. She does not send messages on our behalf. She listens to every inbound, asks clarifying questions, takes excellent notes, and hands a clean summary to Make.com which then decides what action to take.

Knowledge Base
Sona's knowledge is composed of KB entries managed in Command Center. Edit them in the Sona KB Builder; the latest version is fetched by Quo on every conversation.
Jobs
A Job defines what Sona should listen for and capture. Examples: "new lead intake", "tour confirmation", "tenant maintenance request". Edit Jobs in the Sona Jobs Builder.
Sync
KB and Jobs persist in the Command Center database (sona_kb, sona_jobs tables). Make.com reads from /api/sona/knowledge and /api/sona/jobs before each Sona response.
GET KB/api/sona/knowledge
GET Jobs/api/sona/jobs

Sona Operating Rules

Rule 1 — Listen, don't send

Sona never sends an outbound message on the team's behalf. Every reply is drafted, summarized, and queued for human approval via Make.com. The team's voice stays human.

Rule 2 — Take the best notes

For every inbound, Sona captures: caller name, phone, intent, property of interest, urgency, and any open questions. These notes become the Lead record.

Rule 3 — Ask, don't assume

If a field is missing, Sona asks. She never invents data. Missing fields in the structured output mean Make.com sends a follow-up question via the Action Router.

End-to-End Communication Flows

How an inbound text becomes a lead, a showing, or a closed deal. Each step shows which system owns it.

New Lead from Inbound SMS

1
Lead texts the leasing line. Quo receives the SMS and triggers Sona to engage.
2
Sona engages, takes notes. Asks for name, property of interest, move-in date, household size. Builds a structured summary.
3
Quo posts to Make.com Inbound Classifier. Claude double-checks intent and entities.
4
Action Router creates the lead. POST to Command Center /api/v1/leads, posts to #leasing-leads, and replies through Quo with a templated confirmation.
5
Operator sees the lead in Command Center → Leasing. Can advance the stage with one click; every transition logs an event.

Maintenance Request from Tenant

1
Tenant texts the line. Sona greets, asks for property, unit, issue description, urgency.
2
Classifier tags intent=maintenance. Entity extraction pulls unit and category.
3
Action Router creates work order. POST to Command Center, posts to #ops-tasks with assignee suggestion (Max or Vova).
4
Assignee acknowledges. Slack reaction triggers Make.com to update work order status and reply to tenant with ETA.

Daily Owner Digest

1
James pulls KPIs at 7am. Reads from Command Center DB (read-only): leads, work orders, cash, occupancy.
2
James drafts the digest. Anthropic Claude summarizes overnight events and flags exceptions.
3
Make.com delivers. Posts to #ops-live and emails the three owners (Chris, Linnea, Hannah).

Reference Documentation

Every implementation document and blueprint produced during the rev67 → rev69 build.

Make.com Handoff Full Context

The complete onboarding doc for anyone configuring Make.com from scratch. Includes module-by-module setup and credential checklist.

makecom_handoff_full_context.md

Command Center Integration Guide

How Command Center's API endpoints map to Make.com calls. Auth, payloads, expected responses, error handling.

command_center_integration_guide.md

Master Inbound Classifier Blueprint

JSON blueprint importable into Make.com. The first stage of every inbound conversation.

master_inbound_classifier_blueprint.json

Master Action Router Blueprint

JSON blueprint for the second stage. Branches by intent and executes against Command Center, Slack, Quo, and Google Calendar.

master_action_router_blueprint.json

Sona KB Entry — Leasing Intake

Starter knowledge base entry. Contains property roster, screening criteria, and the leasing FAQ.

sona_kb_01_leasing_intake.md

Sona Jobs To Create

The complete list of Jobs to load into Sona before going live. New lead, tour request, maintenance ticket, owner question, etc.

sona_jobs_to_create.md

Command Center Source of Truth Architecture

The architectural decision record: Command Center is the source of truth, Make.com handles automation, Quo handles voice and SMS, James is read-only.

command_center_source_of_truth_architecture.md

Make.com Property Management Playbook

The complete strategy playbook for property management automation on Make.com. Scenarios, cost model, ROI.

make_com_property_management_deep_dive.md
Copied

Waitlist signups

Everyone who submitted the lead capture form on the marketing site. Newest first. Notifications also fire to chris@woosunginvestments.com and Slack on every signup.

Loading...
v…
Edit Module
Property Setup Guide
Fill in every metric to validate this property

⚠ Delete Property

Are you sure you want to permanently delete this property? This will remove all units, expenses, loans, tax records, and related data. This action cannot be undone.

Property Knowledge Base

Facts James can use to answer tenant questions. Each row is one piece of truth about one property.

Property Category Key Value Visibility Source Updated Actions
Loading...

Business Context

Tell James who you are, how you operate, and what voice to use. He reads this before drafting any tenant-facing reply.

Raw JSON (advanced)

James Actions Log

Full history of every action James staged, sent, failed, or had cancelled.

Loading...

Documents

Upload PDFs, images, or plain text. James extracts the content, chunks it, embeds it, and pulls the right snippets into tenant-facing replies.