A prospect asked for a specific tour time. The calendar had it open. Clara's first email should have booked it — instead it asked the prospect to confirm a time that was already free.
2026-09-21 · Proposed — pending review. Design only; nothing is being built until Fede picks it up.
On this page
A Western Slope lead came in from Homes.com asking for a tour on September 22 at 4:00 PM. That slot was open on the calendar. Clara's first email back said:
"I've got 4:00 PM open… Want me to go ahead and pencil you in?"
Instead of booking the tour, Clara asked the prospect to confirm a time she already knew was free. That's an extra round trip for no reason — the prospect now has to reply "yes" before anything actually happens.
"we should just confirm the tour. If there's a spot in the calendar. What do you mean pencil you in?"
The first email is written by a version of Clara that can only look things up — home details, price, open units, open tour times. It was never given the tools to actually book a tour.
On top of that, her instructions for this step explicitly say never to call a tour "booked" or "confirmed" — the assumption baked in is that booking only happens after the renter replies. "Pencil you in" is Clara's own wording to stay inside that rule.
Two reasons it was built this way:
| Situation | What the first email should do |
|---|---|
| Lead asked for a specific time, and it's open | Book it — first email confirms the tour with date, time, and address. |
| Lead asked for a specific time, and it's taken | Offer the nearest two or three open times instead. |
| Calendar can't be read | No specific times offered (same as today). |
| No time was requested | No change from today. |
The review hold means a first-email draft can be sitting unsent, or can get rejected outright. The question is when the actual booking happens relative to that.
Option B: book at draft, release on reject. Book the moment the draft is written, and free the slot again if the draft is rejected. This holds the slot faster, but it needs a new "release the booking" path, and it has a failure mode where a slot sits held for an email that never actually gets sent to anyone.
This does not add a second way to book a tour. It reuses the same booking function that Clara's reply step already calls today — the one that creates the tour record, the calendar event, the team's confirmation email, the reminders, and the post-tour application link. There is exactly one booking path before and after this change.
Each step is small and dark; nothing changes for a real customer until the last one is turned on. Rough size: about two builder-days total.
src/lib/domain/leasing/clara-guest-card-first-email-compose.ts — READ_ONLY_TOOL_NAMES, and TOOLBOX_REALITY_BLOCK (~line 288) which reads "never say a tour is booked, confirmed, or scheduled."src/lib/domain/leasing/clara-guest-card-engagement-prep.ts — only carries free-text requestText, no parsed date/time.applyTourIntent in src/lib/domain/leasing/tour/apply-tour-intent.ts (~line 448), called from handleScheduleTourImpl in agents/clara/lib/agent/tools-leasing.ts.src/lib/domain/escalation/bake-gate.ts.scripts/guest-card-rerun-one.ts.