1. Where guests come in, and who answers
All text-based contact goes to the Foothold AI agent (one brain across web form, chatbot, email, SMS). Live phone calls forward to LAG.
→ Foothold AI agent (ownership)
- Apartments.com / Zillow inquiries (lead email routed to agent)
- footholdboise.com/[property] inquiry form
- Website chatbot (same agent)
- Email to the ownership address
- SMS to the ownership number
→ Liberty / LAG (operations)
- All live phone calls (sales or service) forward to LAG, a human answers
- Listing maintenance (Apartments.com / Zillow, in Entrata)
- All service / maintenance / rent / lease contact
2. The sequence
Left to right is time. The red line is the handoff. Entrata is the record underneath the whole thing; GHL (ownership's marketing brain) gets fed in parallel.
(AI agent)
(Entrata)
(the record)
sendLeadsupdateLeadssendLeads only hard-requires the property ID, but a card with no way to reach them is garbage. The legacy ILS/MITS feed also wants a last name.) Until then the chat lives in NPI's stack only.updateLeads), so Liberty sees exactly that Foothold reached out and what we said. Nothing happens with a contact that the PM can't see. The only exception is bulk marketing (drips/broadcasts), which don't log per-contact.3. Who owns what
| Channel | Owns | Hard line |
|---|---|---|
| Ownership Foothold AI agent | Sales + acquisition + brand. First-touch, qualifying, booking, the listing scorecard, the owner relationship, recognition, and catching escalations (then handing them to Liberty, who owns resolution + SLA) | No service tickets, no rent/lease admin, no operational or pricing promises |
| PM operations Liberty, in Entrata | Operations + voice + listings. Tours, leasing, move-in, maintenance, rent, lease, renewals, all service. Owns all voice/phone (sales calls forward here too) and maintains the listings. | Never leaves Entrata |
4. Recognition touch map (proposed)
My suggestion, building on your leanings: mail for the meaningful and celebratory (and anything with a gift); text for the light, timely, relational. A handwritten card by mail is rarer now, so it lands harder. All from ownership, signed Foothold. (Researching the best card+gift-card API provider now.)
| Moment | Channel | What + tone |
|---|---|---|
| Move-in (welcome packet) | Mail + text | Welcome card + $25 gift card (local). First impression. Once, at move-in. |
| Resident birthday | Mail + text | Handwritten card + $25 gift card (Amazon or local). 1-2/yr (per adult on the lease). |
| Before renewal (every unit) | Mail + text | Thank-you card + $25 gift card, pet-themed (Chewy) if they have a pet, generic if not. Goes to everyone, not just pet households. The warm pre-renewal touch. |
| Tenure milestone (1 / 3 / 5 yr) | Card + the experience gift per the tenure ladder. The big ones. | |
| New baby | Card (+ optional meal box). Celebratory, never a gift card. | |
| Engagement / marriage | Text | Light congrats, no gift. Timely beats formal here. |
| Death / hardship | Handwritten sympathy card, no gift card (it'd cheapen it). Sincerity only. | |
| Property updates & changes | Text / email | Proactive heads-up on anything happening (paving next week, new package room, landscaping refresh). A small thing that makes residents feel like they matter and the place is theirs. Via GHL broadcast from ownership. |
5. If a resident brings ownership a problem
Liberty owns maintenance, service tickets, SLA, and resolution, that's what they're paid for, and we don't second-guess it ticket by ticket. But a resident who texts the ownership number with a problem can't be left hanging.
- Acknowledge, instantly: "Got your message. This is our property manager Liberty's responsibility and they're great at taking care of you. We've passed it to them and they'll be in touch shortly. – Foothold"
- Hand it to Liberty as a work order / note in Entrata, and let them run it. No nightly SLA-policing, that's their job, not ours.
- Watch the scoreboard, not the plays. We don't monitor individual tickets. If Liberty slips, it shows up in the aggregate, the resident-rating trend, review velocity, and renewals on the scorecard. That's the owner's altitude.
6. Social proof engine (gathering reviews + testimonials)
Reviews are a conversion multiplier on both ends: they lift ILS rank (a listing with ≥1 review gets up to 50% more leads; renters filter on 4.5★) AND they lift the site funnel (land → pick a unit → apply / join the waitlist). So gathering them runs like a machine, timed to the moments residents are happiest.
| Trigger (emotional high) | Why | Ask |
|---|---|---|
| ~2 weeks post-move-in | Settled in, welcome packet landed, strong first impression. (Not day 1, they haven't experienced us yet.) | Auto-text after the welcome packet |
| After a recognition touch | Surprised + delighted by the card / gift, but keep it light. | A soft "just want to make sure you got your package" that opens the door, not a hard ask |
| Lease anniversary / renewal | Committed and loyal, they re-signed. | Auto-text at renewal |
7. Edge cases
Green = locked. Amber = decided, pending an Entrata/API confirmation (research in flight).
| Scenario | Handling | Status |
|---|---|---|
| Resident texts ownership # for a ticket | Agent logs it into Entrata + redirects, gently: "service requests go to [LAG #], but no big deal, we took care of it this time." Number's more visible, so this'll happen, it's fine. | Locked |
| Guest plays mom & dad | Both read the same Entrata record; agent reads LAG's latest activity before replying and makes no ops/pricing promises; ownership routes back, never overrules. | Locked |
| Any forwarded phone call | ~15 min later the agent texts to confirm they connected + ask for feedback. No need to detect missed-vs-answered. | Locked |
| Emergency by text to ownership # | Confirmed: agent files an Entrata work order with maintenancePriorityId set to the property's emergency tier (read once from getWorkOrderPickLists) + alerts LAG. Surfaces like a native emergency. Just map each property's emergency priority value. | Locked |
| Agent down / API write fails | Backup email notifies the Liberty PM with the lead + message context, nothing lost while it's down. | Locked |
| Handoff point | Ownership owns through tour scheduled or application submitted; LAG owns everything after. Plus the one post-tour feedback text. | Locked |
| The application itself | Confirmed: it's Entrata's ProspectPortal, live + self-service. footholdboise.com links straight to the property's apply URL ([property].prospectportal.com/.../application_authentication/), zero friction, apply anytime. Abandoned-app follow-up: poll getLeads for an in-progress status gone stale (verify the per-property status IDs with one test application). | Locked |
| Which number where | Ownership # on website + marketing. On service surfaces (lease, packet, portal, service-call card), LAG # is bold/front-and-center, with a small footnote: "Feedback for ownership? [Foothold #]." | Locked |
| Ownership # gets service tickets / serves residents | Yes by design, it's the visible, relational number (birthday texts, life events, "got your card?"). Service tickets that land there get auto-saved + redirected. Foothold stays the forward-facing brand keeping the PM honest. | Locked |
| Do scorecard + gifts need PM tasks in Entrata? | No tasks, but yes visibility. Gifts auto-send (Handwrytten / Tremendous) and the agent logs a note to the Entrata thread ("mailed birthday card + $25 gift card"), so the PM sees it, no action needed. Scorecard/metrics = a weekly email (or ops-site login), not in Entrata. Actual service tickets/emergencies on the ownership channel get written as work orders LAG acts on. | Locked |
8. Context & data freshness (the EliseAI lesson)
The fix is architectural, not just a better prompt. Foothold gets its own datastore (Supabase / Postgres) the agent reads from, kept fresh from Entrata by a background sync. Freshness is tiered, because nightly is fine for amenities but fatal for availability:
| Data | Freshness | How |
|---|---|---|
| Availability + pricing | Near-real-time | Background poll every few minutes into Supabase, plus a live re-check of the specific unit right before the agent quotes it or sends the apply link. This is the EliseAI-proof. |
| Floor plans, amenities, property facts | Slow (nightly) | Nightly Entrata sync. |
| Lead + conversation state | Real-time | Lives in Supabase / GHL, updated as it happens. |
| Resident facts (lease, pets) | Daily | Daily pull for the recognition engine. |
9. The voice question (answered: forward to LAG)
Researched the real 2026 state of AI voice leasing. Verdict: forward calls to LAG for v1. Don't put AI voice on the front door.
- The voice tech is genuinely good now (sub-second latency, natural turn-taking, real interruption handling). "Robotic and awkward" is a 2023 problem.
- But multifamily's problem was never latency, it's the same stale-availability failure that burned Liberty, and it's the #1 complaint in the category, not a fluke. The AI states wrong data with full confidence, worse than a human who'd say "let me check."
- Renters react badly when they realize it's an undisclosed bot. "I'd rather deal with a person."
- Fair-housing risk is about content, not medium (this is right): same brain + guardrails says the same words typed or spoken, so the substantive FHA risk is identical. The only genuine voice delta is auditability (no transcript by default), which we close by transcribing every call to Entrata. HUD treats AI answers as FHA-subject either way.
updateLeads, same as a chat. With disclosure up front ("this is Foothold's AI assistant, ask for a person anytime") + one-tap transfer, voice is no riskier than chat. So v1 = forward to LAG is purely a sequencing call: prove the data layer + the agent's guardrails on the easier-to-tune chat surface first, then point the same proven brain at voice. A maturity decision, not a liability one.updateLeads + sendWorkOrders) and live-availability reads. Liberty requests it week 1.