AI voice bot knowledge base: price list, catalog and webhooks

A price list from Google Docs, the client card before the call, search in a large database mid-call and call results sent to your system via webhooks.

Updated 16 min read 36 views
In short

An AI voice bot knowledge base is your data (price list, catalog, client card) that the bot gets via the “Webhooks” tab: “Load webhook, google document, txt” pulls it in before the call, “Write webhook” sends results after. For large databases, the “Database search” trigger on the “Triggers” tab searches mid-call.

A client asks about a price or a free slot, the bot promises that “a manager will call you back” — and the client cools off and goes to a competitor. An AI voice bot knowledge base solves this: through webhooks, the bot answers from live data — your price list, stock, catalog and the client card from your system. And it sends the results of the conversation by itself to where they are used — with no manual entry.

The bot's main strength is large databases. It keeps the whole conversation and large volumes of data in memory and doesn't forget what the client said at the start. And database search with parameters keeps it from making things up: the bot books the exact time and doesn't mix up addresses, staff and dates.

A webhook is a link through which the dashboard fetches or sends data by itself. Webhooks and triggers aren't billed separately: you pay only for conversation minutes, $0.12 per minute on average. Watch the two-and-a-half-minute video, and below you'll find the step-by-step setup.

Could not load the video. Check your connection and refresh the page.

Why businesses need it

  • An online school keeps its program and prices in a Google document. Change a price in the document — and the bot quotes the new one on the very next call.
  • A real estate agency connects its own database: the client names the district, budget and number of rooms, and the bot finds 3–5 matching properties right during the conversation.
  • An online store answers questions about stock and order status by item number or order number. The call result, together with a link to the recording, goes to its system.
  • A store with a large catalog pays less. The dynamic database gives AI only the rows it needs, not the whole catalog, and the bot doesn't get confused.
  • A taxi or delivery service: the bot asks for the pickup and drop-off addresses, the server calculates the price, and the client hears the fare right in the conversation — with no wait for an operator.
  • A salon, clinic or car rental: the bot checks free slots or available cars and books, reschedules and cancels appointments by itself. The administrator doesn't have to call clients back.
  • Every conversation is transparent: the call review shows what data the bot received, what it understood from the conversation and what it answered. You spot mistakes right away, not from client complaints.
Client case
A dental chain in Kazan — four clinics and 18 doctors. The bot received the price list and schedule as one large document, mixed up branches and sometimes offered slots that were already taken. Administrators had to call patients back and apologize. The chain introduced database search: on phrases like “book”, “available” or “for tomorrow”, the bot takes the branch, doctor and date from the conversation, and the clinic's server returns 3–5 free slots. There are no more bookings for taken slots. The share of calls the bot brought to a booking on its own grew from 22% to 37%.

How the bot gets data: three types of webhooks

Webhooks come in three types:

  1. A loading webhook fires before the call. The data arrives together with the instruction, and the bot relies on it from the very first phrase.
  2. A dynamic webhook fires during the call, when the trigger keywords come up in the conversation — from the client or from the bot itself. AI takes the needed values from the conversation, the dashboard sends a request, and your server returns a short answer. While the request is running, the bot says “one second, let me check”.
  3. A writing webhook fires after the call. AI fills in the link parameters from the dialog and sends the result.
Knowledge base for the bot: data before and after the call

How to connect a Google document to an AI voice bot

This is the simplest option: you need neither hosting nor a programmer. The document is pulled in while the phone is still ringing, so the bot knows your price list from the first phrase.

  1. 1
    Share the document
    In Google, click “Share” → “Anyone with the link”, role “Viewer”. Copy the link.
  2. 2
    Add a webhook
    Bot card → “Webhooks” → “Load webhook, google document, txt” → “Add webhook”.
  3. 3
    Fill in the fields
    “Webhook name”, for example “Price list”, and “Request URL”. A document link turns into a plain-text export by itself, and a spreadsheet link into CSV. A txt file or your API (the address where your system serves its data) works too.
  4. 4
    Pass client data
    If the link points to your API, tick the “Quick parameters”: “Pass phone”, “Pass lead ID”. That way, the server knows whose card to return.
  5. 5
    Save
    Click “Save” on the bottom bar. The dashboard checks the data size and loading speed.
  6. 6
    Check
    In “Training AI”, the “Loading the database from the webhook” window shows what the bot received. How to work with this tab is described in “AI voice bot training”.

How to send call results to your own system

Open “Write webhook” → “Add webhook”, tick “Send webhook” and enter the receiver's address: every write webhook works as a “Custom webhook” with “Quick parameters”. The request method is GET only, meaning the data is passed right in the link.

  • “Quick parameters” insert the phone, name, lead number and a link to the call recording.
  • “Add parameter” — your own value from the conversation. Enter the “Parameter name” in Latin characters and the “Parameter search prompt”, for example summary and “Write a summary of the conversation in two sentences”. The parameter is added to the link by itself as summary=${summary}.
  • Webhooks for amoCRM and Yandex Forms are created by the wizards on the “Integrations” tab: they keep their own setup buttons, and the wizard fills in the link and parameters itself.

How the bot fills in fields and steps in the dashboard's own CRM is covered in “Writing call results to CRM”.

Call results webhook: AI fills in the parameters from the conversation

Large databases: “Database search”

AI receives the loading data in full at the start of the call. The dashboard recommends keeping all loading webhooks together within 50 KB and 7 seconds of loading. Above that, a warning on save says the call will cost more or start with silence, and saving needs “I accept the risk, save”. Above 100 KB or 10 seconds, saving is blocked. A catalog of thousands of items doesn't fit and isn't needed in full.

The dynamic database solves this — a search in your data during the call: even from a million rows, the bot gets only the records it needs. How to connect it:

  1. Open “Triggers” and click “Add trigger”.
  2. Enter the “Keywords to launch the trigger” — the client's phrases (“in stock”, “for tomorrow”, “two-room flat”) or the bot's own phrase, such as “checking the schedule”.
  3. Set the “Pause filler phrase” — what the bot says while it waits for the answer.
  4. Specify the “Dynamic database request URL” and parameters with a “Parameter prompt”, for example “Which district did the client name? One word”.
  5. Write the “Dynamic webhook instruction” — how to answer based on what was found. If left empty, a ready-made instruction for free booking slots is used. For a catalog or stock, rewrite it for your task.

On your side, you need an address that accepts a GET request and quickly returns 3–10 matching records. A programmer can build this “middleware” — a small piece of code between the bot and your database — or order a turnkey connection with the button at the end of the article. A new trigger comes with a demo database: replace the link, parameters and instruction with your own. The same tab also handles other bot actions, such as transferring a call from the bot to a manager. For details, see “AI voice bot database lookup”.

Database search: the voice bot looks things up in the catalog during the call
Important
The more loading data, the pricier the minute (above the average $0.12) and the slower the call: each request carries more tokens, and a slow server means silence at the start. Move large and frequently changing databases to “Database search”.

Dynamic database checklist: a brief for your developer

First check whether you need a dynamic database at all: a loading webhook is usually enough, and you save on a developer. Load your data as a Google document and ask the bot about dates, services and prices in “Training AI”. If the bot doesn't mix things up and the data fits within 50 KB, you don't need a dynamic database. If it does mix them up, you need database search. A schedule in Yclients or Google Calendar is connected by the wizards on the “Integrations” tab, with no developer: see “Yclients integration”. For your own database, give your developer this brief:

  • List the search parameters, for example date, service and staff member. Booking usually needs three addresses: a directory of services and staff with their IDs for the loading webhook, a free-slot search for “Database search”, and the booking itself for the write webhook.
  • Keep the answer short: for booking, three free slots closest to the time the client named are enough. Plain text, JSON or XML with clear field names all work. In our setup experience, the bot reads XML most reliably.
  • A clear phrase instead of an error. An empty date or an unknown service must not return “error” or code 500. Let the server answer: “Please choose a day that suits you for the appointment”. The bot reads it and asks the client again.
  • Before setup, open every link in a browser: remove the date, change the service, pick a day off. Every answer should suggest the next step rather than show an error.

How to write a “Parameter prompt” and start the search at the right moment

AI fills in parameters from the conversation, the loading data and the database's previous answers. It doesn't see the main instruction, so put everything it needs into the prompt itself:

  • Ask for one value in a strict format: “Write the date the client wants to book. Strictly DD.MM.YYYY, and if they named a time — DD.MM.YYYY HH:MM. No comments and no period at the end”.
  • IDs — digits only: “Write the ID of the service the client wants to book. Digits only, for example 1”. AI finds the ID in the directory from the loading webhook. A short list can be spelled out right in the prompt: “If the client named the branch on Lenin Street — write 101”.
  • Say what to write when there's no value: “If the client didn't name a date — write -”. Put constant values, such as the city, straight into the link: city=msk.
  • Start the search with the bot's own phrase. Add a step to the “Conversation plan”: “When the client has named the service and the day, write ‘Checking the schedule...’, add nothing else and wait for an answer”. Enter “checking the schedule” in the keywords. A second step of this kind covers another date: “If the client wants a different day, write ‘Checking the schedule...’ again”.
  • Ask the bot to name the service exactly as it appears in the directory: the client says “hair dye”, the bot confirms “hair coloring”. That way AI picks the right ID. Put the steps “service — name from the directory — day — search phrase” in a row, and other questions before or after them.
Tip
First make sure the search fires correctly, and only then add qualifying questions and train the replies. If the search starts before the bot knows the day, AI will insert today's date or leave the parameter empty. Remove extra steps before the search and have the bot ask for the day directly.

How to test the dynamic database and the write webhook in “Training AI”

Check the dynamic database and the write webhook in the test chat before the first calls:

  • Start the conversation with the trigger’s keywords, for example “do you have anything free tomorrow?”. A “Webhook: <trigger name>” block appears in the chat: which word fired the trigger, what AI put into each parameter, the final link and the database's answer. How to review a real call is covered below.
  • The bot writes the reply right after this block from the trigger’s “Dynamic webhook instruction”, not from the main instruction. That is why “Fix” on such a reply edits exactly that instruction: the window shows the “Fixing the dynamic webhook instruction” banner.
  • “Check answer stability” under such a reply repeats the request 10 times and shows whether dates, slots and prices drift.
  • The write webhook is checked in the “Data write test”: select “Webhook: <address>” and click “Test the data write”. Each parameter shows its “AI answer”, and you fix an inaccurate prompt with “✎ Edit the prompt”. The request is sent for real, so the data will appear in your system.

How to review a call with a dynamic database

If the bot named the wrong time on a real call or didn't book the client, open “Training AI” → “Find a call”. Paste the ID from “Call details” or pick the call from the list for the last 7 days. The conversation loads into the chat with every webhook in its place. Go through them in order:

  • Loading webhooks — what the bot received before the conversation. No service directory means AI can't find the right ID.
  • The dynamic database block — the request link, the AI answer for each parameter and your server's response. A wrong date or ID means you should refine the trigger's “Parameter prompt”.
  • The bot's reply built from the database data — what the bot said based on it. Wrong slots or format — “Fix” under the bot's reply corrects the “Dynamic webhook instruction”.
  • The write webhook block — the parameters and your system's response. For example, AI wrote update instead of create, and the booking wasn't created. Refine the prompt: “Confirmed a new booking — write create, rescheduled — update, cancelled — delete”.

Compare the bot's reply with the server response saved in the call. Don't open the request link again: the free slot may already be taken and the date may have passed.

Frequently asked questions

What should I do if I see “Saving blocked: no access to the document”?
Open access to the document: “Share” → “Anyone with the link”, “Viewer”, then click “I have opened access — check again”. The document opens for you only because you are signed in to your account.
Why doesn't my voice bot know the data from the Google document?
Check the “Receive webhook, google document, txt” checkbox and access to the document. The “Loading the database from the webhook” window in “Training AI” shows exactly what the bot received.
Why doesn't database search work during a call?
The trigger is off, the keywords don't match what the client or the bot actually says, the server returned an error, or a parameter wasn't filled in. Refine the “Parameter prompt” and check the answer with the “Check answer stability” button in “Training AI”.
What does “Trigger keywords are empty” mean when saving?
An enabled “Database search” trigger has no keywords. Click “Go to triggers” and enter at least one phrase, or turn the trigger off with its checkbox.
Can I delete the webhook that has no name?
There's no need: it's a service calendar of dates that helps the bot correctly understand “tomorrow” and “on Friday”. If you delete it, it comes back by itself.
How much does an AI voice bot knowledge base cost?
Webhooks and triggers aren't billed separately: you pay only for conversation minutes, $0.12 per minute on average. Large loading data makes the minute more expensive, so move big databases to “Database search”.

Read also: AI voice bot call transfer to a manager and calendar booking, How to train an AI voice bot to answer like your best sales rep, AI voice bot CRM integration: call results and funnel step, Ai voice bot personalization

Next step
Ready to try Lptracker?

Everything from this article is already waiting in your account — open the section and get started.

Try Lptracker
Turnkey implementation

Our implementation team will set up the system for your business: voice and chat AI bots, funnels, robots, telephony and CRM. Book a meeting at a time that suits you.

Book a meeting
Was this article helpful?

You have unsaved changes||У вас есть несохранённые изменения