Your AI receptionist sounds clear. It knows your opening hours and answers a routine question without hesitation. Then a caller asks for the owner, the owner's phone goes to voicemail, and nobody knows what happens next.
That is the moment worth testing before launch.
For a Canadian owner-operated business, reception is not just conversation. It is the connection between a caller's request and something the business can actually do. A booking must reach the calendar. A transfer must reach the right person. An unanswered request must have an owner.
This guide proposes a practical acceptance test, not a certification or a promise of flawless calls. Start with the outcome the caller needs, then verify the conversation and the action separately.
Define what counts as finished
Write down the few jobs your receptionist is allowed to complete. For each one, define evidence of success and an honest fallback.
An appointment enquiry is not a confirmed appointment. Reading available times is not reserving one. Saying that a transfer is starting is not proof that another person answered.
Keep those distinctions in the receptionist's language. It should describe a request as pending until the connected system confirms the action. If confirmation is missing, it should explain that uncertainty rather than reassure the caller without evidence.
For human escalation, decide who receives which calls, when they are available, and what happens when they decline. Include requests outside the assistant's authority, such as a disputed charge or an exception to your cancellation policy. A clear boundary is more useful than an improvised answer.
Separate simulation from a real-world test
Use fictional names and details in testing. Begin with controlled scenarios, then make supervised calls through the phone route you intend to use.
Do not assume that “simulation” means nothing can happen. Vapi's documentation states that simulations run real tools unless those tools are individually mocked. A mock substitutes a fixed response for one named tool; other tools can still call live services [1]. Have your implementer verify every booking, messaging, and transfer tool before a test suite runs.
A mocked booking response can show whether the assistant handles a success or failure message sensibly. It cannot prove that a real calendar reservation exists. Similarly, an error message returned by a mock does not reproduce network latency or a timeout [1]. Those require separate integration tests in a controlled environment.
For the final booking check, use an agreed test slot and inspect the calendar directly. Confirm the date, local time, duration, and service. Remove the test reservation afterwards. Coordinate transfer tests with the receiving person so a rehearsal does not interrupt an actual customer.
Test both ends of the handoff
A transfer has two audiences: the waiting caller and the person receiving the call. Listen from both sides.
Does the caller understand what is happening? Does the recipient receive enough context to help? Once connected, can both people hear each other? If nobody accepts, does the caller return to a useful next step rather than silence or another transfer loop?
Transfer behaviour depends on the configuration and phone provider. Vapi's traditional warm-transfer guide specifies supported Twilio calling paths and recommends testing the same number and destination used in production [2]. Its assistant-based transfer mode is labelled experimental and has separate acceptance, cancellation, and fallback behaviour [3]. Ask which mode is actually configured rather than treating “warm transfer” as a complete specification.
Also distinguish a transfer event from a completed conversation. Vapi explicitly notes that its forwarded-call ended reason confirms initiation, not that the destination answered [3]. For acceptance testing, combine the call record with the recipient's observation of the connection.
Run a small, deliberate call matrix
Use this matrix as a starting point. Each row should have a tester, an expected result, and a recorded pass or failure. Repeat important scenarios with different phrasing and interruptions.
| Test call | What a passing result looks like |
|---|---|
| Caller has the wrong business | Assistant identifies the business, avoids guessing another company's details, and closes politely without creating a lead. |
| Caller asks for a person immediately | Assistant follows the agreed escalation route without requiring an unnecessary interview. |
| Recipient is unavailable or declines | Caller hears an accurate explanation and can choose an approved fallback; no repeated transfer loop. |
| Destination reaches voicemail | System follows the agreed voicemail policy rather than reporting a successful human connection. |
| Caller says “next Friday at two” | Assistant confirms the actual date, morning or afternoon, and relevant local time before requesting a booking. |
| Calendar rejects a slot or does not respond | Assistant does not announce a reservation; it offers another verified option or a pending request. |
| Caller corrects their callback details | Final request contains the correction, with the number read back and callback permission confirmed. |
| Caller declines a callback | Assistant respects that choice and does not create an unsolicited follow-up task. |
Canadian callers may be in a different time zone from your business. Do not infer their location from a phone number. Confirm the appointment in the business's local time and clarify the caller's time zone when needed. Test dates around a daylight-saving change if your scheduling area observes one.
Also interrupt a booking request halfway through, then ask to change the time. Check that the integration does not leave duplicate reservations. If a request times out after possibly reaching the calendar, your implementer should check the existing booking state before retrying.
Make the callback useful and proportionate
A callback is a workflow, not a comforting phrase at the end of a failed transfer.
Agree where the request goes and who checks that destination. Ask the caller whether they want a callback, verify the best number, and capture a short reason. Ask about a suitable time only if the team can use that information. Do not promise a response window the business has not committed to meeting.
As an operational default, collect only what someone needs to continue the conversation. An initial enquiry rarely needs a detailed personal history. Keep sensitive details out of routine notifications and transfer summaries. Decide who may access test records and when they will be deleted.
Introduce the assistant as automated. If recording is enabled, review the notice and consent process appropriate to your business before launch. This checklist is not a substitute for sector-specific or provincial privacy advice.
Set a launch gate and a way back
Keep a compact test record: scenario, configuration version, expected outcome, actual outcome, and the evidence checked. Use fictional data rather than copying real customer conversations into a shared worksheet.
Treat false booking confirmations, failed human escalation without a fallback, and unwanted follow-up as launch blockers. Fix the underlying issue and repeat the affected tests. A fluent conversation should not override an incorrect action.
Before enabling customer traffic, name the person who reviews failed calls and the person who can restore the previous routing. Verify that fallback route too. Start with a scope your team can supervise, then expand only after reviewing actual outcomes. Re-run the critical tests whenever business hours, destinations, prompts, or integrations change.
The useful launch question is not “Does it sound human?” It is “Does the caller know what happened, and can our team verify it?”
If you are planning a receptionist or IVR update, explore Intueo's voice AI services. Bring your call routes, availability rules, and this test matrix to a voice AI conversation. They are a useful starting point for defining what your system should handle and when a person should take over.
References
- [1]Vapi: Simulations advanced
Primary documentation on per-tool mocks, live tool execution during simulations, and the limits of mocked error responses.
- [2]Vapi: Configure warm transfer modes
Primary documentation on traditional warm-transfer modes, Twilio support, and testing the destination and two-way audio.
- [3]Vapi: Configure assistant-based warm transfer
Primary documentation on the experimental mode, acceptance and fallback behaviour, and why transfer initiation does not confirm an answered call.




