← Lobby AI Receptionist

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

The call a tool call Switch which tool? Schedule check the slot → book it, or offer the nearest Reschedule check it’s theirs → free it → book the new time Cancel check it’s theirs → delete it The answer said mid-call

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” ✓

  1. Old event deleted
  2. Same slot check, for 2026-11-13 11:00
  3. 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 as built in the n8n editor

The machine

AI Receptionist

27 nodes3 tools7 ways to answer

As built, in the n8n editor