The phone is ringing. Nobody picks up. Again.
It's Thursday night, 5:12 PM. Your kitchen is running flat out, two servers are on the floor, and the phone at the host stand has rung three times in eight minutes. The manager is boxing a delivery order. The bartender is taking a Saturday reservation. The call rolls to voicemail.
You probably just lost $47 — or $1,200, depending on whether the caller wanted a kid's menu or an office party for twenty-two.
A February 2025 Breez study put a number on what every restaurant operator already felt in their apron: 43% of restaurant calls go unanswered. Restaurants average 187 calls per day, and only 30% of them have a system that can route those calls properly during peak hours — meaning noon, 4 PM and 5 PM, exactly when your staff has no breathing room. In Quebec, the Association Restauration Québec (ARQ) represents 5,000 members, and most live the same daily reality: missed call equals customer at the competitor.
The painful part: 80% of callers don't leave a voicemail. 85% never call back. The missed call isn't deferred — it's gone for good.
If you've already tried slapping a generic AI voice agent on your line, you've probably hit an even more frustrating wall: the agent answers, but when the customer asks "Do you have anything gluten-free?" or "What time are you open Sunday?", the agent says "I don't have that information." Or worse, it makes something up. An agent hallucinating your prices is worse than a phone ringing into the void.
The good news: the April 13, 2026 ElevenLabs update added knowledge base content search with fuzzy text search across document content. Combined with RAG mode, it finally lets you plug your menu PDF, your allergen list, and your hours directly into your AI Voice Agent's brain — without writing a single line of code. In 45 minutes flat.
Here's the tutorial.
Why your AI Voice Agent goes off-script (and how the KB fixes it)
Before we dive in, two minutes on why a generic voice agent fails in a restaurant.
The LLM behind your agent — GPT-Realtime, Claude, Gemini — knows the language, grammar and general culture. It does not know your Tuesday-night menu. It doesn't know your mushroom risotto becomes gluten-free if you skip the chicken stock, that your kitchen closes at 10 PM weeknights except Friday, that the house desserts come from a kitchen that handles tree nuts.
Without a knowledge base, the agent does one of three things: it says it doesn't know (customer hangs up), it invents a plausible-but-wrong answer (customer shows up with an allergic reaction), or it transfers to a human who isn't there (back to square one). My TECHMA team documented this in the 6 classic off-script failures crushing Quebec SMB voice agents in 2026.
The ElevenLabs Knowledge Base solves it in two modes:
- Direct context mode: for small bases (under ~10,000 words, meaning a menu + allergen page + hours). Content is injected directly into the model's context window. Near-zero latency.
- RAG mode (Retrieval-Augmented Generation): for larger bases (seasonal menu + wine list + group policies + 50 FAQs). The system retrieves only the relevant sections per query. Adds about 500 ms of latency — acceptable, but worth measuring (see our latency benchmark for AI voice agents in Quebec).
For 80% of Quebec restaurants, direct context mode is enough. That's what we configure in this tutorial.
Step 1 — Prep your documents (10 minutes)
Before you touch the ElevenLabs dashboard, you need one consolidated document. This is trap number one: people upload their menu PDF, their hours Excel, and their three Google Doc FAQ pages as three separate files. Bad idea. The official ElevenLabs documentation is clear on this: "consolidate before uploading" — one well-structured file beats 500 fragmented ones.
Here's the structure I use for restaurant clients:
SECTION 1 — MENU (with prices, allergens, gluten-free options)
SECTION 2 — HOURS OF OPERATION (per day, including holidays)
SECTION 3 — RESERVATIONS (minimum group size, deposit, cancellation)
SECTION 4 — DELIVERY AND TAKEOUT (zones, fees, lead times)
SECTION 5 — POLICIES (allergies, kids, pets, BYOB)
SECTION 6 — FAQ (the 30 questions you hear every week)
Format: Markdown or plain text. Avoid PDFs with complex layout — ElevenLabs parses them, but columns, food images, and decorative fonts degrade extraction quality. If your menu only exists as a designed PDF, copy-paste the content into a .txt or .md. Five minutes of copy-paste.
Quebec Law 25 tip: never put personal data in the KB (customer phone numbers, emails, reservation history). The KB is read on every call, which creates a leakage risk between customers. Public policies yes, named data no. For the full list of constraints, check the 12-question Law 25 compliance test for your AI Voice Agent.
Step 2 — Create the knowledge base in ElevenLabs (5 minutes)
Log into your ElevenLabs Agents dashboard. In the left menu, select Knowledge Base.
Click Add Document. You have three options: URL (useful for pointing to a web page that changes often), File Upload (the most common case), or Text Input (direct paste). For a restaurant menu, File Upload is the most practical — you keep the source file as the version of truth.
Upload your consolidated document. ElevenLabs handles extraction in 10 to 30 seconds depending on size. Check the preview: sections should be cleanly separated, text readable. If the parser dropped everything onto one line or lost your headings, go back to step 1 and clean up the format.
Name the document descriptively: menu_resto_2026_05.md rather than final_v3.pdf. Six months from now, when it's time to update, you'll thank yourself.
Step 3 — Attach the KB to your agent (5 minutes)
Go to Agents → select your agent → Knowledge Base tab.
Click Add Document, choose the document you just uploaded. If your menu is under 10,000 words (most cases), leave the Use RAG toggle off: direct context mode is faster and cheaper.
If your base is larger (extensive wine list, group policies, multilingual), enable Use RAG. Note this adds ~500 ms of latency per request, and RAG works best with short paragraphs and clear headings. If you turn RAG on, go back and clean your document: one H2 per section, paragraphs of 3-5 sentences max.
Save. Your agent now knows your menu.
Step 4 — Calibrate the system prompt (10 minutes)
This is the step most tutorials skip — and it's why 60% of the AI voice agents we audit at TECHMA still go off-script despite a decent KB.
The system prompt has to explicitly tell the agent: "use the knowledge base to answer, never answer outside the KB, and if the info isn't there say so and offer a human transfer." Here's the version my team uses as a starting point for Quebec restaurants:
You are the voice assistant for [NAME] restaurant in [CITY].
Always answer using only information from the provided
knowledge base.
If information is not in the KB:
- NEVER make up an answer.
- Say: "I don't have that detail handy, let me transfer
you to [FIRST NAME] who can help."
- Trigger the transfer.
For allergen questions:
- Give only what is explicitly listed in the KB.
- ALWAYS end with: "If you have a severe allergy, I
recommend confirming directly with our chef when
placing your order."
Language: respond in the customer's language (French or English).
If the customer mixes both, follow Quebec's natural
code-switching pattern.
The code-switching line isn't an afterthought — it's what separates an agent that sounds local from one that sounds like Parisian French dropped into Montreal. Full configuration details in our French-English code-switching guide for Quebec.
Step 5 — Test with 10 real questions (15 minutes)
Don't test with "What are your hours?". Too easy. Test with the gnarly questions your customers actually ask, the ones you documented in SECTION 6 — FAQ.
Here's the battery I use to validate a restaurant KB:
1. "Do you have anything for my 6-year-old who can't eat gluten?" 2. "What time do you open this Sunday — it's a long weekend?" (holiday test) 3. "How much would it be for 18 people on June 14 for an office party?" (group test) 4. "Last time the server told me you have a vegetarian menu, which one is it?" (memory test — the agent should NOT pretend to remember) 5. "Can I bring my own wine?" 6. "How long is delivery to H2X?" 7. "My partner is allergic to nuts, are your desserts safe?" 8. "Do you take Apple Pay at the restaurant?" 9. "À quelle heure vous fermez ce soir?" (code-switching test) 10. "I've been waiting 20 minutes for my order, where is it?" (out-of-KB → transfer test)
For each answer, note: (a) accurate and KB-grounded? (b) honest about what it doesn't know? (c) acceptable latency (under 1 second ideally)? If an answer fails, first check whether the info is in the KB. If yes but the agent can't find it, look at the document format. If the document is fine but the agent invents, your system prompt isn't strict enough.
Real case: a Plateau bistro, before/after
One of our clients on Plateau-Mont-Royal — French bistro, 65 seats, two services — averaged 41 calls per day. Before KB integration: the agent answered 58% of questions correctly, transferred 22%, invented or declined 20%. After applying this tutorial to their menu (a 4-page PDF converted to structured Markdown): 91% correct answers, 7% transfers (special reservations, complaints), 2% residual errors on highly ambiguous questions.
Revenue recovered on orders the agent captured that would otherwise have been lost: about $2,800 per month. For an agent cost (ElevenLabs + TECHMA integration) of $380 per month. ROI: 7.4x.
When DIY stops working
If you're technically comfortable enough to follow this tutorial and calibrate the system prompt, you can have a decent agent in 45 minutes. That's exactly why I wrote it this way.
But there are three moments where DIY hits a wall:
- When you want to integrate OpenTable or Resy reservations (webhook + custom tool in ElevenLabs, beyond pure KB).
- When your menu changes every week and nobody at the restaurant has 20 minutes to update the document, re-upload, re-test.
- When you need to measure Law 25 compliance (transcript retention rules, verbal consent, access logs).
That's where TECHMA steps in for our restaurant clients: we handle the CRM/POS integration, the pipeline that auto-updates the menu (via email or shared Drive), and quarterly Law 25 compliance audits. You stay focused on the kitchen. We handle the phone.
Five thousand Quebec restaurants share roughly the same pain combination: calls overflowing at peak, staff turnover, menu that shifts. The technology to answer them has been ready since April 2026. The question isn't "does it work" anymore. It's "who's going to take 45 minutes to wire it correctly."
Bottom line
- 43% of restaurant calls go unanswered. 80% of callers don't leave a voicemail.
- A generic AI voice agent without a KB answers about 50-60% of customer questions correctly. With a well-structured KB, you reach 85-95%.
- ElevenLabs added KB content search on April 13, 2026, and direct context mode covers 80% of restaurant cases.
- The tutorial: (1) consolidated Markdown document, (2) upload to Knowledge Base, (3) attach to the agent, (4) calibrate the system prompt with a strict "use KB or transfer" rule, (5) test with 10 real questions.
- No personal data in the KB. Quebec Law 25 requires it.
If you want us to look at your specific case — a free 30-minute audit with one of our restaurant-savvy consultants — reach out via the contact page. We review your current call flow, identify the top 3 questions where your agent (or your human staff) drops the ball, and give you a concrete plan. Free and no commitment.
