Getting started

See the production receptionist

Summary

Summary

In this course we build a WhatsApp AI receptionist ready to serve a real business. It understands natural Spanish, remembers the customer, checks real availability, and creates a confirmed appointment.

Production-ready does not mean maximum infrastructure. It means the product works end to end, protects its current trust boundaries, persists the state it needs, and has an operating model that matches its expected usage.

What you will see

  • A real Spanish conversation on WhatsApp: Hola, necesito que revisen mi terma porque ya no calienta.
  • The customer gives a Lima address, name, and email across several natural messages.
  • They ask for "mañana por la tarde" and pick one of the real returned slots.
  • The assistant summarizes everything and the customer replies in a new message.
  • A real booking appears in Cal.com, and the conversation rows persist in Neon.

Architecture preview

Kapso (signed webhooks) → Hono → Neon (memory) → AI model (language) → Cal.com (availability + bookings).

Two narrow tools only:

  • getAvailableSlots — read current appointment options.
  • bookAppointment — create the confirmed appointment.

The model gets capabilities, not credentials. Application code fixes event type, phone number, time zone (America/Lima), and keys.

Key idea

Trust the model with conversational judgment and constrain it with narrow tools and trusted application context.