Hey folks, I’m working on a voice assistant for my business using Vapi, and I’ve run into an issue that I’m hoping someone here can help me troubleshoot.
My setup is structured so that my assistant (Jamie) uses a main system prompt for general behavior and call classification, and then is supposed to reference one of three markdown-based knowledge modules depending on the purpose of the call:
New Quote Module
Existing Quote Module
General Support Module
Each of these modules is uploaded as a separate markdown file to the assistant’s Knowledge Base in Vapi.
The problem: Jamie is not consistently following the instructions in the appropriate knowledge module, even though the system prompt specifically routes her to the correct one after classifying the call type.
Details:
I’m using the markdown system prompt with clear routing instructions: “Once the call type is determined, reference the corresponding attached Knowledge Module markdown file and follow the exact instructions within.”
The knowledge modules are uploaded and attached in the Vapi backend under the Knowledge Base section.
The behavior works correctly for the New Quote flow — but not consistently for Existing Quote or Everything Else.
Jamie appears to default to general behavior from the system prompt rather than fetching and following the markdown module content.
I’m wondering:
Is there a specific syntax, tag, or reference style required in the system prompt to make Vapi reliably pull the appropriate markdown module?
Does Vapi automatically index all KB content and let the model reference the correct module, or is there a way to explicitly force a file selection or context switch mid-call?
Should I be using one long markdown file instead of separate ones? (Ideally not — I want to keep things modular.)
If anyone has dealt with this kind of modular KB routing issue or knows the proper formatting/setup to make it work reliably, I’d massively appreciate your insight. 🙏