Field notes · FN-010 · Hostaway → agent: how we built the per-unit knowledge wiki for Atlas
Drawing G2-FN-010 · Field journal · entryEngineering

Hostaway → agent: how we built the per-unit knowledge wiki for Atlas

By Andrew Maryasov · Grow2.ai2025-11-08 · 10 min
Entry FN-010
Filed 2025-11-08
Read 10 min
Category Engineering
Languages — EN
Entry №
FN-010
Field log

Atlas Rentals operates 84 short-term-let units across Kraków. The Concierge agent answers ~340 guest messages per day, and the single largest factor in answer accuracy is the per-unit knowledge wiki. This note is the architecture of that wiki — what fields it has, where the data comes from, and how the kettle in unit 47 stayed broken in the agent's memory for nine days.

What Hostaway gives you, and what it doesn't

Hostaway is the system of record. It exposes via API: address, lockbox code, WiFi name & password, check-in / check-out times, max guests, parking notes, quiet-hours rules. Grow2.ai pulls this on a 15-minute cadence, one record per unit. ~28 fields.

What Hostaway does not store: the specific quirks of each apartment that make a guest's stay good or bad. Examples from Atlas's actual list: "the bathroom door catches if you don't lift slightly", "the bakery downstairs opens at 06:30, the smell wakes early sleepers", "the kettle in 47 is broken — replacement ordered, ETA Tuesday".

Without those quirks, the agent gives generic answers. With them, it gives Atlas-quality answers.

The annotation pass

On Day 4 of the pilot, Grow2.ai ran a 1-day annotation workshop with two of Atlas's senior cleaners — the people who actually know each apartment. The workshop produced one structured paragraph per unit, ~80–140 words, in the format:

  • Layout: 1-line summary of bedroom/bathroom/kitchen layout.
  • Quirks: 2–4 specific things a guest will hit.
  • Neighbourhood: 2–3 specific recommendations within 200m (bakery, pharmacy, bus stop).
  • Issues open: any current maintenance state with ETA. Updated by ops; agent reads on every retrieval.

Cost of the annotation pass: ~14 cleaner-hours, ~€280. We have run this pass for two more operators since; the time-per-unit converges to ~10 minutes once the structure is set.

How the agent retrieves, in pseudocode

For every guest message, the Concierge agent follows a five-step retrieval:

  1. Identify the guest's booking from Hostaway by phone / email / message-thread ID.
  2. Resolve to a unit ID. Pull the structured wiki entry plus the "issues open" sub-entry.
  3. Pull the last 5 messages from the same thread for context.
  4. Pull a curated KB chunk (top-3) by semantic similarity — Atlas-wide policies, not unit-specific.
  5. Reply with citations. The agent always says "in unit 47" when the answer is unit-scoped, never just "in the apartment".

The kettle in unit 47

The kettle in unit 47 broke on a Tuesday. Atlas's ops lead added "kettle broken — replacement Tuesday" to the "issues open" field at 09:14. By 11:00 the agent was correctly telling guests "the kettle in unit 47 is on backorder until Tuesday — there's a Moccamaster on the ground floor coffee shop, and we'll cover the first two coffees, just keep the receipts."

The replacement actually arrived on Thursday, not Tuesday. Nobody updated the "issues open" field. For nine days the agent kept telling guests the kettle was on backorder, while three of them stared at a brand-new kettle in unit 47.

The fix: a 7-day staleness alert on any "issues open" entry, pushed into the ops Slack. Now the field gets cleared. Lesson: the agent will never know more than the structured record. The structured record needs operational discipline to stay true.

Have a problem this note describes? Bring it to a call.

Field notes are written for the version of Grow2.ai that will run into the same problem in eight months. If one of them describes your situation, that's usually a good sign we should talk.

▸ Commission a pilot
grow2.ai

An engineering practice for AI agents in customer operations. Drawn, deployed and signed-off in Kyiv since 2021.

SOC 2 · in auditEU-CentralDOU 4.9 ★

Office

Kyiv · UAMon–Fri · 09:00–19:00 EET+380 44 000 0000hello@grow2.ai
© 2021–2026 grow2.ai · An Auspex Co. practice · All drawings & documentation property of the bearer.Set in Archivo & JetBrains Mono · Drawing G2-026 · Rev B
Hostaway → agent: how we built the per-unit knowledge wiki for Atlas · Grow2.ai field notes · Grow2.ai