Slot filling is the design pattern where the agent knows what fields a task requires (book an appointment needs a date, time, service, patient or customer name, contact number) and steers the conversation until each slot is filled. The slots are the structured input to the downstream tool call.
A naive slot-filling agent reads from a script and asks the questions in fixed order. A useful one is opportunistic: if the caller volunteers their phone number while explaining the issue, that slot is filled and the agent does not ask for it again. The conversation feels less like a form and more like talking to someone who is listening.
The hard part is partial information. The caller says "Tuesday-ish, in the afternoon." The agent has to track that the date slot is approximate, the time slot is a range, and either confirm or narrow before the booking goes through. Confirmation phrasing matters here, "Tuesday the 26th at 3 PM, does that work?" closes the slots without making the caller feel re-questioned.
Vorel slot-filling runs against a typed schema per vertical. The agent only fires the booking tool when every required slot is filled and confirmed; partial states keep the conversation going rather than failing silently.

