Agent ignore response from Custom Knowledge endpoi...
# support
k
I followed the structure for the endpoint, but seems like the assistant doesn't even use the response. It works fine on the other option which is Return Document, but it ignore completely when i try to return direct response. I also notice there's difference between Request Structure stated in doc and real value that's passed by Vapi for the Custom Knowledge Webhook, so is there any chance that my direct response is not working properly because there's un updated structure on the doc ? https://cdn.discordapp.com/attachments/1460182168285351986/1460182168600055882/image.png?ex=697d0e5d&is=697bbcdd&hm=63740e28cbe25e3d3c2612e05b380f2d4c4a360eb8a869ff238bcc1bdfdafbac&
j
You’re not wrong — this is a real pain point and you’re likely hitting a VAPI behavior mismatch, not a mistake on your side. In practice, Return Direct Response is often ignored if the assistant pipeline prioritizes normalized transcription or cached model output, while Return Document is explicitly injected into memory. We’ve seen cases where the actual webhook payload VAPI sends doesn’t fully match the docs, which causes direct responses to be dropped silently. The reliable fix is usually forcing the response into model.output_text or bypassing memory replay entirely for that turn. Quick question: are you persisting the webhook response into conversation state, or expecting VAPI to inject it automatically? @kendrick lmao
k
in case anyone is having the same problem, the correct expected structure is stated in the picture. found this by analyzing the Logs https://cdn.discordapp.com/attachments/1460182168285351986/1460233199476150376/image.png?ex=697d3de4&is=697bec64&hm=8b5f72b208ce5b68dd6babc1943d72f12ed122021c5c2e665318d814b76e4367&
c
Hello
Hi kendrick lmao, Thank you for providing all these details — I understand how frustrating it can be when the assistant isn’t using your direct response as expected, especially when the Return Document option works correctly. I also appreciate you noticing the discrepancy between the documented request structure and the actual value passed by Vapi, as that can definitely make troubleshooting more confusing. I’m happy to help clarify what might be causing this and how to get your direct response working properly. • Vapi can silently ignore "Direct Response" returns in some pipelines (normalized transcription, cached model outputs, or memory replay). Returning documents reliably injects content into the model context; direct-message payloads sometimes get dropped before LLM calls. • Confirm you’re seeing the actual request/response in Call Logs → webhook delivery; the docs URL for Custom KB is here: https://docs.vapi.ai/knowledge-base/custom-knowledge-base • Workarounds that are reliable: 1. Return documents instead of direct responses (best short-term fix). 2. If you must return a direct response, include that text in the assistant LLM input by setting it into model.output_text (or persist it into conversation state) so the LLM receives it explicitly. 3. Ensure your webhook response exactly matches the runtime shape Vapi sends/accepts (check Call Logs for the real request body and signature headers). UUIDs must be valid UUIDs for document mode or Vapi will reject documents silently. • Quick checklist to debug: • Check Webhook Logs in Observe → Webhook Logs for the exact request body and any validation errors. • If direct response still ignored, persist the text into conversation state (assistant overrides / model.output_text) so the LLM will definitely see it.