Gilchrist & Company - Internal Dashboard Dallas · Austin · Temple · Central Texas
Active Leads
--
in Megan's pipeline
Needs Your Action
--
awaiting your decision
Vacant Units
--
of 4 active listings
Moved In This Month
--
new tenants
Needs Your Action
Loading...
Morning Checklist
Pending
o Review AppFolio listings for overnight changes AppFolio
o Verify all active property photos on website Site
o Confirm rent and availability match AppFolio AppFolio
Afternoon Checklist
Pending
o Review AppFolio for afternoon changes AppFolio
o Verify all active property photos on website Site
o Confirm listing data is current for tomorrow AppFolio
Megan Dashboard Metrics
Loading
Posts Today
Inquiry
Pre-Qual
Sched. Tour
Tour
Application
Lease
Move-In
Megan — Leasing Agent
Live

AI-powered SMS pipeline. Handles pre-qualification, showings, and follow-ups automatically.

Open Portal
AI Tech Stack

Full system architecture — agents, tools, and integrations.

View Stack
Portfolio

Homes for Rent

4 active listings across Dallas and Temple, TX.

Dallas
$2,400/mo
10545 Channel Dr
Dallas, TX 75229
Review on AppFolio
PHOTO
COMING
$1,398/mo
2007 S 9th St
Temple, TX 76504
Review on AppFolio
Temple S 55th
$1,098/mo
1311 S 55th St
Temple, TX 76504
Review on AppFolio
Temple S 15th
$795/mo
1305 S 15th St
Temple, TX 76504
Review on AppFolio
Daily Operations

GM Checklist

Run twice daily - morning and afternoon. Keep listings accurate, photos correct, and data in sync.

AM
Morning Checklist
Pending
PM
Afternoon Checklist
Pending
Cal
Today
Morning Checklist Pending
o
Review AppFolio listings for overnight changes
Check all active listings for price, availability, or status changes since yesterday evening.
o
Verify all 7 property photos on website
Confirm each listing card shows the correct photo. Photos pull live from AppFolio CDN.
o
Confirm rent, beds, and availability match AppFolio
Cross-check website listing data against AppFolio. Flag discrepancies to Brock.
Afternoon Checklist Pending
o
Review AppFolio listings for afternoon changes
Check all active listings for any updates made during the day - new applications, status changes, price adjustments.
o
Verify all 7 property photos on website
Second photo check of the day. Confirm correct images are showing for each property.
o
Confirm listing data is current and accurate
Final end-of-day check. All data correct heading into tomorrow morning.
Automated Pipeline

Leasing Agent Megan

Open Portal
Deployed on Render — SMS pipeline is live. Twilio & Redis connected.
Pipeline by Property
Loading pipeline...
Settings Sheets
Records & Documents

Administrative Files

Chain of Command

Org Chart

John Gilchrist
Property Owner
General Manager (AI)
Only point of contact with John
Leasing Agent (AI) — Megan
  • Pre-qualifies tenants via SMS (0–100 score)
  • Manages full pipeline: inquiry → move-in
  • Coordinates showings, ID, lease & payment
  • Escalates decisions to GM → John
Owner Acquisition Agent — Paul
  • Finds owners via public records & Craigslist
  • Scores & researches prospects automatically
  • Drafts outreach for GM → John approval
  • Manages follow-ups & objection handling
📣
Marketing Agent
Coming soon
📁
Admin Agent
Coming soon
Project Documents
DocumentLocationNotes
BRD - Business RequirementsOpen DocFull project BRD
Megan's Activation PlaybookOpen PlaybookFull launch guide for Megan SMS agent & social media
Signups One PagerOpen FileAll accounts John needs to sign up for
Settings Sheets
SheetLinkNotes
Leasing Agent SettingsOpen SheetAgent name, income thresholds, all SMS scripts
Pet Property OverridesOpen SheetPet policy, occupant limits, overrides
Change LogOpen SheetAuto-logs every setting change
Tools & Infrastructure
ToolLinkStatusNotes
Vercel - HostingDashboardLiveAuto-deploys on every GitHub push
GitHub - Websitegilchrist-websiteLiveSource for gilchristpropertymanagement.com
GitHub - Leasing Agentgilchrist-leasing-agentLiveSource for Megan (SMS leasing agent)
AppFolioLoginLiveJohn's property management portal
Google Analyticsanalytics.google.comLaunch Jul 4Tracks website traffic and conversions
Google Search Consolesearch.google.comLaunch Jul 4Submits site to Google for indexing
Vapi.ai - Voice Agentvapi.aiWeek 5-6AI answers John's phone 24/7 - ~$0.05/min
Identity & Visual Standards

Brand Assets

Color Palette
Navy
#002566 · PANTONE 289 C
Gold
#C9A84C
Red
#C0272D
Off-White
#F8F6F2
Logo Files
AssetLinkNotes
All Logo FilesGoogle DriveEPS and PNG versions - primary, white, dark
Main Company Websitegilchristcompany.comBrand colors and visual reference
Reference Sites
SiteLinkNotes
LocationRentals.comVisitBest-in-class property management site - design reference
TexasBMG.comVisitBest-in-class property management site - design reference
End-to-End Process

Leasing Funnel

11 stages from first contact to move-in. Megan handles stages 1–6 automatically. John approves at gates 3, 5, and 8.

1  —  Posting & Reach
Automated
What Happens
Property photos and listing details are posted to Instagram, Facebook groups, and the website automatically.
Who Does It
Instagram: Megan auto-posts on schedule.
Facebook: John posts to groups manually using the Groups Matrix.
Website: Updates automatically via AppFolio.
Tools
Instagram Graph API • Facebook • AppFolio • gilchristpropertymanagement.com
2  —  Inquiry
Megan
What Happens
Prospect texts (469) 895-3846 or submits the website tour request form. Megan responds within seconds, identifies the property, collects the prospect's name, and moves to pre-qualification.
Who Does It
Megan handles 100% automatically via SMS. John is not involved at this stage.
Tools
Twilio SMS • Groq AI (Llama 3.3) • Railway session storage
3  —  Pre-Qualification
Megan
What Happens
Megan asks 4 screening questions: income (3x rent minimum), eviction history, move-in timeline, and occupants. Scores the lead 0–100 and routes accordingly. Clear passes advance automatically. Clear fails receive a decline. Borderline scores escalate to John.
Who Does It
Megan runs screening automatically. Borderline leads only: John texts APPROVE [property] or DENY [property] to advance or decline. Megan nudges John after 12 hours of silence.
Tools
Twilio SMS • Groq AI • Script Library
4  —  ID Verification
Megan
What Happens
Megan requests a government-issued ID photo via SMS before confirming the showing. Follows up once after 24 hours of silence. John reviews the ID and approves or denies.
Who Does It
Megan collects the ID automatically. John reviews and texts APPROVE [property] or DENY [property]. No showing is confirmed until ID is approved.
Tools
Twilio MMS • Leasing Portal • Twilio SMS
5  —  Scheduled Tour
Megan
What Happens
Megan sends the Calendly self-guided tour link. Prospect picks a time. Megan confirms the showing window and sends the property address and lockbox code.
Who Does It
Megan sends the link and confirmation SMS automatically. Calendly handles booking. John receives a Calendly notification when a tour is booked.
Tools
Calendly • Twilio SMS • Tour Calendar
6  —  Post-Showing Follow-Up
Megan
What Happens
After the showing window closes, Megan texts the prospect asking for feedback. If interested, Megan sends the AppFolio application link. If not, Megan gracefully closes the lead.
Who Does It
Megan handles fully automatically. John is not involved at this stage.
Tools
Twilio SMS • AppFolio application link • Leasing Portal
7  —  Application Review
John
What Happens
Megan sends the AppFolio application link to the prospect. Prospect completes the online application including income verification, rental history, and background check consent. John reviews and decides.
Who Does It
John reviews the completed application in AppFolio. Texts APPROVE [property] or DENY [property]. Megan notifies the tenant. If John needs more from the tenant, the lead enters More Info Requested until resolved.
Tools
AppFolio • Twilio SMS • Leasing Portal
8  —  Lease Signing
John
What Happens
John sends the lease through AppFolio. Tenant signs digitally. Once signed, John texts SIGNED [property] to advance the pipeline to payment.
Who Does It
John initiates via AppFolio. Tenant signs digitally. John confirms by texting SIGNED [property] — this moves the lead to Awaiting Payment automatically.
Tools
AppFolio e-sign • Twilio SMS • AppFolio Portal
9  —  Payment & Move-In
John
What Happens
Tenant pays the security deposit and first month's rent through AppFolio. Once confirmed, John texts PAID [property] — Megan marks the lead Moved In, sends a welcome SMS, and updates property status to occupied.
Who Does It
John confirms payment via AppFolio and texts PAID [property]. Megan closes the pipeline, sends the tenant a welcome message, and marks the unit occupied.
Tools
AppFolio payments • Twilio SMS • Leasing Portal
Action Required

Setup Checklist

ItemStatusWhat to do
Domain & websiteCompletegilchristpropertymanagement.com is live on Vercel.
SMS scripts approvedCompleteJohn approved all Megan SMS scripts - all 16 stages confirmed.
Twilio webhook URLPendingIn Twilio Console go to Phone Numbers → (469) 895-3846 → Messaging → set webhook to https://gilchrist-leasing-agent-production-927a.up.railway.app/sms. Required for Megan to receive inbound texts.
Twilio 10DLC registrationPendingRegister (469) 895-3846 for A2P 10DLC in Twilio Console → Messaging → Regulatory Compliance. Prevents carrier filtering of outbound texts.
Facebook webhookPendingSubscribe page to messages and messaging_referrals events in Meta Developer Portal.
Lockbox codesPendingText Brock: LOCKBOX e-young [code] and LOCKBOX s-35th [code]. Megan sends XXXX until real codes are entered.
SendGrid emailPendingAdd SENDGRID_API_KEY and SENDGRID_FROM_EMAIL to Railway environment. Activates morning digest and Claire follow-up emails.
UptimeRobotCompleteMonitor live at uptimerobot.com — watching gilchrist-leasing-agent-production.up.railway.app/health every 5 min.
Paul — Owner Acquisition Agent

Paul's Tech Stack

Every tool and service powering Paul's automated property owner acquisition pipeline. Goal: 50 new properties under management in 6 months.

Paul's Pipeline Architecture
Texas CAD Bulk Data
Dallas • Bell • Travis • Tarrant • Williamson • Hays • Coryell • Collin • Denton • Ellis • Rockwall
Texas SOS
LLC entity lookup
Paul — Owner Acquisition Agent
Railway • Node.js • Groq / Llama 3.3 70B
Loop 1
Research
Loop 2
Scoring
Loop 3
Outreach
Loop 4
Classify
Loop 5
Objections
Loop 6
Learning
John Approval Gate
Texts APPROVEOWNER / DENYOWNER before any outreach sends
Twilio SMS
outreach
Gmail
email outreach
HubSpot CRM
pipeline board
Redis
owner data store
Store → Sort → Score → Deliver
FunctionTech PlatformWhat It DoesStatusCost/Mo
Store Redis (Railway) Saves every prospect Paul finds — name, address, score, stage, outreach history. Paul's permanent memory across all loops and crons. Without this, Paul forgets everything on restart. Live $0 — already paying
Sort Railway — Acquisition Loop Every 6 hours, pulls all active prospects from Redis and ranks them highest score to lowest before processing. Ensures Paul works the best opportunities first, not just whoever was found first. Live $0 — already paying
Score Groq — Llama 3.3 70B Loop 2 scores every prospect 0–100. Factors: absentee owner signals, market demand, property type, location. Score ≥ 70 = pursue. Score < 70 = auto-archive. Keeps John's pipeline clean and high-quality. Live $0 — free tier
Deliver HubSpot CRM Every owner Paul creates or advances automatically syncs to HubSpot as a Contact + Deal. Stage moves in real time: Prospect → Qualified → Outreach Sent → Meeting → Signed. John sees the full pipeline without touching any code. Needs Token $20/mo — Pro plan
Prospect Sourcing — CAD Bulk Data Pulls
Paul downloads structured data files (ZIP/CSV/JSON) published directly by each county appraisal district — not web scraping. Public records, no login required.
SourceMethodWhat It ProvidesStatusCost/Mo
Tarrant CADZIP → pipe downloadFort Worth / Arlington absentee ownersLive$0
Hays CADZIP → CSV downloadKyle / Buda / San Marcos areaLive$0
Coryell CADZIP → CSV downloadCopperas Cove / Fort HoodLive$0
Collin CADSocrata JSON APIFrisco / Plano / McKinney areaLive$0
Denton CADZIP → CSV downloadDenton / Flower Mound / Lewisville areaLive$0
Dallas CADZIP → CSV downloadDFW absentee owner recordsLive$0
Bell CADZIP → CSV downloadTemple / Killeen absentee ownersLive$0
Williamson CADSocrata CSV APIRound Rock / Georgetown areaLive$0
Travis CADZIP → CSV downloadAustin absentee ownersNeeds Request$0
Ellis CADZIP → CSV downloadWaxahachie / Ennis areaNeeds Request$0
Rockwall CADZIP → CSV downloadRockwall / Rowlett areaNeeds Request$0
Texas SOSPublic web lookupEntity lookup — identifies LLC-owned rentalsLive$0
Email Outreach — Decision Matrix
Factor Option 1
HubSpot template + HubSpot sends
Option 2
Groq writes + HubSpot sends
Option 3 ✓
Groq writes + SendGrid sends
Personalization ✗ Same email to every owner ✓ Unique per owner ✓ Unique per owner
John setup time 1–2 hrs (write templates + sequences) 30–45 min (connect Gmail to HubSpot) 5 min (add 2 keys to Railway)
John time per email 0 sec (auto-sends) 10–15 sec (SMS approval) 10–15 sec (SMS approval)
Risk Generic email = low response rate Gmail disconnect = emails stop None
Build status Not built Not built Already built ✓
Recommendation — Option 3
Same personalization as Option 2. Zero setup risk. Built today. Add SENDGRID_API_KEY to Railway and go live in 5 minutes.
Outreach
ServiceRole in PaulStatusCost/Mo
Twilio SMSTexts John drafts for approval; sends approved owner outreach via SMSLive$0 — already paying
SendGridPrimary email delivery — sends all owner emails once John approves. Add SENDGRID_API_KEY + SENDGRID_FROM_EMAIL to Railway to activate.Add to Railway$0 — free tier
Gmail (nodemailer)Email fallback if SendGrid is not configuredLive$0
PandaDocProposals & management agreement e-signature. Groq drafts personalized proposal body; PandaDoc wraps in Gilchrist’s branded template and collects e-signature. Free tier: unlimited documents + e-signatures. HubSpot deal sync available on paid upgrade.Pending$0 — free tier
Email Pipeline — Who Does What
ResponsibilityWhoHow
Content Writing Paul (Groq / Llama 3.3) Loop 3 generates a unique subject line + body per owner — references their specific property and situation. Self-critiques up to 3x before sending to John.
Template / Design None (plain text) Emails are sent as plain text wrapped in a <pre> tag. No HTML template or visual design layer. HubSpot does not send or template emails — it only tracks that one was sent.
Sending SendGrid → Gmail fallback SendGrid is primary once SENDGRID_API_KEY is set in Railway. Gmail nodemailer is the automatic fallback if SendGrid is missing or fails.
Cron Schedule (Railway)
JobScheduleWhat It Does
Prospect FinderSunday 11 PM CTDownloads CAD files, filters absentee owners, queues into Redis
Acquisition LoopEvery 6 hoursSorts by score, runs Loops 1–3, notifies John for approval
Follow-Up LoopDaily 9 AM CTDay 7, 14, 21 follow-ups to non-responding owners
Weekly LearningFriday 7 AM CTLoop 6 — analyzes results, refines outreach strategy
What's Needed to Go Live
ItemStatusAction
HubSpot CRM Pro — $20/moPendingSign up at app.hubspot.com → create Private App → add HUBSPOT_ACCESS_TOKEN to Railway
CAD Bulk Data PullsLiveDallas, Bell, Travis, Williamson, Hays all downloading automatically every Sunday
Groq AILiveAll 6 loops configured and running on Railway
Twilio SMSLiveJohn texts APPROVEOWNER / DENYOWNER from his cell
Gmail OutreachLivenodemailer configured with johnmgilchrist@gmail.com
Paul PortalLiveView Pipeline Board →
Paul — Owner Acquisition Agent

Outreach Plan

End-to-end pipeline from prospect discovery to signed contract. Every step, owner, and decision gate. Goal: 50 new properties under management in 6 months.

Owner PAUL · AIAutomated — no human input JOHN · GATEHuman decision required PAUL → JOHNAI drafts, John approves
Phase # Step Owner Action ✓ Proceed If ✗ Don't Proceed If
DISCOVER 0 Prospect Discovery PAUL · AI CAD bulk data pulls every Sunday 11 PM CT. Filters for absentee owners (mailing address ≠ property address). Dedupes against existing ownerStore. Adds to Redis at stage research. In target market + absentee signal + not already in system Already in system — or — out of target market
QUALIFY 1 Research
Loop 1
PAUL · AI Reads HubSpot prior notes. Evaluates all known signals. Rates confidence 0–100 that enough exists to write a non-generic message. Confidence ≥60 → chain immediately into Loop 2 Confidence <60 → SMS John listing exactly what’s missing. Pauses until John adds notes via portal.
2 Score
Loop 2
PAUL · AI Scores owner 0–100. Weights: absentee signals (40%), market fit (30%), self-managing signals (15%), owner distance (10%), property value (5%). Auto-qualifies 5–50-property in-market owners at 75+ regardless of AI score. Score ≥70 → chain immediately into Loop 3 Score <70 → auto-archive. Stage = archived. HubSpot → Closed Lost.
OUTREACH 3 Draft Message
Loop 3
PAUL · AI Writes a personalized email or SMS referencing the owner’s specific property and situation. Self-critiques for generic language. Rewrites up to 3x. Texts John the draft with APPROVEOWNER / DENYOWNER instructions. Draft passes quality critique → stage = outreach_pending, John notified via SMS Fails critique 3x → best draft still sent to John. Paul never auto-blocks on self-critique failure.
4 Approval Gate JOHN · GATE John receives SMS with full draft preview, owner name, property, score, and outreach channel. Replies from his cell. Nothing sends without this step. Text APPROVEOWNER [id] → outreach sends immediately via SendGrid (email) or Twilio (SMS) Text DENYOWNER [id] → owner holds at outreach_pending. John can re-submit or archive manually.
ENGAGE 5 Outreach Sent AUTO Message delivered to owner. Stage = outreach_sent. System waits for reply. Follow-up clock starts. Owner replies → Loop 4 fires immediately No reply by Day 7 → follow-up track activates
6a Follow-Up #1
Day 7
PAUL → JOHN Paul drafts a softer angle with a different value prop. Same approval gate applies before sending. John approves → follow-up sends. Clock resets to Day 14. John denies → skip this follow-up. Advance to Day 14.
6b Follow-Up #2
Day 14
PAUL → JOHN Final check-in. Low-commitment ask (quick call, a simple question). Same approval gate. John approves → final follow-up sends. Clock resets to Day 21. John denies → skip. Advance to Day 21 auto-archive.
6c Auto-Archive
Day 21
AUTO No response after 21 days. Stage = archived, reason = no_response_21d. Data fed into Loop 6 weekly learning. Terminal. HubSpot → Closed Lost.
RESPOND 7 Classify Reply
Loop 4 — event-driven
PAUL · AI Fires immediately on owner reply. Classifies into: interest, meeting_request, question, objection, or no_interest. interest / meeting_request → stage = meeting_booked. Auto thank-you sent to owner. SMS John immediately.  |  question → John notified with recommended action.  |  objection → Loop 5. no_interest → stage = archived. HubSpot → Closed Lost.
8 Handle Objection
Loop 5 — event-driven
PAUL · AI Responds to fee, trust, timing, or current-manager objections with specific evidence. Evaluates conversion likelihood. Types: fee → ROI argument; trust → John’s 40yr track record; timing → month-to-month offer; current_manager → free side-by-side comparison. High / medium likelihood → Paul sends response directly to owner Low likelihood or complex objection → escalate to John via SMS with full context
CLOSE 9 Meeting JOHN · GATE John contacts owner directly. 15-minute no-pressure consultation call. Fully human — no automation at this stage. Meeting confirmed → stage = meeting_booked in HubSpot Owner goes cold after interest → return to follow-up queue or archive
10 Proposal JOHN · GATE John presents management agreement on the call or by email. Owner wants to proceed → stage = proposal_sent Owner declines → stage = archived, reason logged to HubSpot
11 Signed ✓ JOHN · GATE Management agreement executed. Owner onboarded. Stage = signed. HubSpot → Closed Won. Loop 6 logs as converted.
LEARN 12 Weekly Learning
Loop 6 — Fri 5 PM CT
PAUL · AI Analyzes the full week: which owner profiles progressed, which objections were common, which outreach patterns drove replies. Texts John a ranked 3-improvement report every Friday. Continuous improvement — feeds back into Step 3 (draft quality) and Step 2 (scoring weights). No gate.
Steps 0–3, 7–8, 12
Paul Owns
Fully automated — no human input
Steps 4, 6a, 6b, 9–11
John Owns
Human gate — John decides to proceed
50 properties
6-Month Goal
≈8–9 new owners per month