AI Receptionist
A short film about a front desk that never closes.
Fictional people. Real machines.
Scroll to play
The problem
Missed calls
Marcus Chenwants Thursday afternoon
Unknown numberno voicemail
Priya S.needs to move her appointment
Unknown numberno voicemail
Front desk
Closed
Back at 09:00. Calls go to voicemail.
People call to book, move or cancel. Often when nobody can pick up.
Each missed call is a booking that goes somewhere else.
The fix · one real workflow
An AI voice answers. When it needs the calendar, it asks this workflow.
Three tools: book, move, cancel. Each answers before the caller notices.
Marcus ChenHi, could I book something for Thursday, around two?
AI voice decides it needs a tool
POST → this workflow’s webhook
"message": { "toolCalls": [{"id": "call_7Hq2…xN4",ties the answer back"function": {"name": "Schedule",which tool"arguments": {"booking_time": "2026-11-12 14:00",when"user_name": "Marcus Chen"who}}}] } The caller just talks. The AI voice turns it into a tool call.
The workflow gets what they want, when, and who, mid-sentence.
function.name“Schedule”
Switch · body.message.toolCalls[0].function.name
equals “Schedule”→SCHEDULEmatch
equals “Reschedule”→RESCHEDULE
equals “Cancel”→CANCEL
One webhook serves all three tools.
A switch reads the tool’s name and sends it down the right lane.
asked for2026-11-12 14:00
→window · +72 h · live2026-11-12 → 2026-11-15
→GET api.cal.com/v2/slotseventTypeId · start · end · timeZone
Thu 12 Nov
14:00taken
09:00
10:30
16:30
Fri 13 Nov
08:30
11:00
15:30
Sat 14 Nov
09:00
13:00
exact check · liveavailable: false
nearest free slot · live2026-11-12 16:30
Three of its scripts ran in your browser · …
It pulls every open slot for the next 72 hours, and checks the one asked for.
Taken? Its own code finds the nearest free one, live in your browser.
AI receptionistUnfortunately 2026-11-12 14:00, is not available. We have open slot for 2026-11-12 16:30. Does it work for you?
Marcus ChenHalf four works.
Schedule · booking_time “2026-11-12 16:30” → available: true
AI receptionistYour booking is scheduled for 2026-11-12 16:30, anything else I can help you with?
Google Calendar · new event
Thu 12 Nov
16:30 → 17:30
end = start + 1 hour
descriptionMarcus Chen
The caller’s name goes in. It’s the key for later.
The AI voice offers the nearest slot. One “yes”, and it’s booked.
The caller’s name is written into the event. Remember that.
Marcus Chen · two days laterCan I move my Thursday half four to Friday at eleven?
Reschedule · booked “2026-11-12 16:30” → new “2026-11-13 11:00”
GET googleapis.com/calendar/v3/…/eventsq = “Marcus Chen” · singleEvents · maxResults
items[0].description equals user_name“Marcus Chen” = “Marcus Chen” ✓
- Old event deleted
- Same slot check, for 2026-11-13 11:00
- New event · 11:00 → 12:00 · “Marcus Chen”
Reschedule · theirs
Your appointment is rescheduled for 2026-11-13 11:00, anything else I can help you with?
Cancel · theirs
Your appointment for 2026-11-13 11:00 is canceled. Anything else I can help you with?
Someone else · “Mark Chan”
There is no appointment at 2026-11-12 16:30 for Mark Chan. maybe another date, time or name?
To move or cancel, it first finds the booking by the caller’s name.
Only if the name matches does it touch the calendar.
Schedule
Your booking is scheduled for 2026-11-12 16:30, anything else I can help you with?
Unfortunately 2026-11-12 14:00, is not available. We have open slot for 2026-11-12 16:30. Does it work for you?
Reschedule
Your appointment is rescheduled for 2026-11-13 11:00, anything else I can help you with?
Unfortunately 2026-11-13 10:00, is not available. We have open slot for 2026-11-13 11:00. Does it work for you?
There is no appointment at 2026-11-12 16:30 for Mark Chan. maybe another date, time or name?
Cancel
Your appointment for 2026-11-13 11:00 is canceled. Anything else I can help you with?
There is no appointment made at 2026-11-13 11:00 for you Mark Chan. Maybe another date or name?
toolCallId: “call_7Hq2…xN4”every answer carries the question’s id back, so the voice knows what it’s answering
Every path ends in a sentence the AI voice says out loud.
7 answers, written into the workflow. The caller never waits on a human.
AI Receptionist
27 nodes3 tools7 ways to answer