The function tools the realtime session can call mid-conversation.
lookup_availability
Look up which tables are taken on a given date. Returns each table with the list of existing reservations (start, end, party size). Use this before suggesting a time to the caller. Date must be in YYYY-MM-DD format — resolve relative dates ("tomorrow", "next friday") before calling.
upsert_customer
Save what we've learned about the caller into ellie's local record. Call this once you have the caller's name (and optionally email or a note). The phone is required — use the caller's number from the customer_intro line of your prompt. Only include the fields you actually have; partial updates are fine. Safe to call multiple times during a call as more info comes in. This does NOT create a reservation — that happens later via create_reservation.
create_reservation
Book a reservation. The caller must already have a name on file — for first-time callers, call upsert_customer with their name first. starts_at must be ISO 8601 with timezone (e.g. 2026-05-20T19:30:00-07:00). Returns the reservation and a management token; remember the token in case the caller wants to modify or cancel later.
modify_reservation
Change the time of an existing reservation belonging to the current caller. Confirm party_size and starts_at against what the caller says before calling — the tool refuses if they don't match a reservation on file.
cancel_reservation
Cancel an existing reservation belonging to the current caller. Confirm party_size and starts_at against what the caller says before calling — the tool refuses if they don't match a reservation on file.
request_human_handoff
Transfer the caller to a human staff member. Use this when the caller asks for a person, sounds frustrated, raises an allergy issue, or asks something you cannot resolve (refunds, special accommodations, complaints). The system will dial the restaurant's staff line and bridge them in. Once you've called this tool, politely tell the caller you're putting them through and stop talking.