Docs
What Foyer is, how to wire it to a Twilio number and a Google Calendar, how the scope guard works, and what to do when something drifts. Skim the overview first, then jump in wherever the work is.
Foyer is a conversational booking agent for one-shop service businesses — plumber, cleaner, dog walker. SMS plus an embedded web widget. The agent collects what it needs, proposes a slot inside business hours, holds it against a Postgres exclusion constraint for fifteen minutes, and waits for the owner to confirm before locking it in Google Calendar. Out-of-scope and out-of-hours requests hit a documented fallback.
The docs assume you have a Laravel-shaped backend, a Twilio number you can register on a 10DLC campaign, and a Google account whose calendar the agent should book against. The Quickstart walks the full path; the rest of the pages drill in where you need them.
What to read first
- Quickstart — the half-hour path from cloned repo to a working SMS booking flow.
- Twilio setup and 10DLC walkthrough — what carriers need before they will deliver your messages.
- Google Calendar — OAuth scoped to
calendar.eventsonly. - Scope guardrails — how the agent refuses things outside what you have configured.