Lucy — Bloom House Concierge
Florist agent that resolves, escalates to a human, or declines
Lucy is a customer-service agent for Bloom House, an online florist. She talks to customers directly, and on every message she does exactly one of three things: resolves it, escalates it to a human, or politely declines it.
Generic store chat tools answer set FAQs and stop. A florist sale turns on two things they handle badly: recommending the right flowers for an emotional moment, and knowing when a message is too sensitive to automate. A late condolence stand is a reputation event, not a support ticket.
So Lucy's universe is eight fixed, approved tools. She picks which tool and supplies values only; she cannot author SQL, browse the schema, or call anything that writes. Recommendations and order lookups run as real parameterized queries against a SQLite catalogue compiled to WebAssembly (sql.js) in the browser.
The three outcomes are decided in order:
- Resolve: recommend a real bouquet by occasion, budget and colour, or answer delivery, care, hours and store questions.
- Escalate: refunds, cancellations, order changes and upset customers go to a human, with a Situation / Order / Mood / Reason summary.
- Decline: staff details, suppliers, margins and off-topic questions are refused outright, never transferred.
The safety comes from what is missing. There is no refund, cancel, or change tool, so those actions cannot happen autonomously. Ask Lucy to cancel an order and she hands you to the manager; ask for a staff member's phone number and she declines.
For any shop putting AI in front of customers, the question isn't "can it chat?" It's "what is it allowed to do?", and that belongs in the architecture, not the prompt.