https://retellai.com/?utm_source=discord&utm_medium=seo logo
I added a knowledge based for objection handling ...
# ❓・ai-evy-support
c
@AI Evy I added a knowledge based for objection handling with the prompt 'Try to handle the response based off the Objection Handling Knowledge base' but it's ignoring it. The knowledge base is something like '#1. User says delivery arrived late. suggested response: Sorry to hear that!...' etc but it doesn't seem to be using that response?
a
Thanks for tagging me @Ciaran. I'll look through relevant sources and get back to you shortly.
### Answer Your prompt instruction is too vague for the LLM to reliably follow [(1) ]() . The Prompt Engineering Guide recommends being much more explicit about when and how to use knowledge bases or handle objections . Instead of "Try to handle the response based off the Objection Handling Knowledge base," use explicit trigger words and clear instructions . Structure your objection handling section like this :
Copy code
## Objection Handling
If the caller says they're not interested: "I understand. Is there anything specific..."
If the caller is frustrated: "I hear your frustration, let me help resolve this..."
For your delivery objection specifically, add clear triggers :
Copy code
## Objection Handling Instructions
1. Listen for specific objection keywords:
   - If caller mentions "delivery" AND "late" or "delayed":
     → Respond with: "Sorry to hear that! [insert your specific response]"
   - If caller mentions "refund" or "money back":
     → [your refund handling]
2. Reference the Objection Handling Knowledge Base for additional context
3. Always acknowledge the concern before providing a solution
The key is defining exact conditions that trigger specific responses rather than asking the LLM to "try" using a knowledge base . Use sectional prompts with clear "if-then" logic for better reliability .
​ To learn more, see the sources I considered: [[1] Prompt Engineering Guide](https://docs.retellai.com/build/prompt-engineering-guide) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
c
@AI Evy So the prompt is:
Copy code
Try to handle the response based off the Objecction Handling Knowledge base

The user might say 'I'm happy with my current pharmacy' then you just have to check the knowledge base to see what to say next
And i've added the knowledge base at agent level (not node level)
a
Thanks for the follow-up, @Ciaran. I'll get back to you soon.
### Answer Your prompt is still too vague. The phrase "you just have to check the knowledge base" doesn't give the LLM clear instructions on when or how to use it [(1) ]() . The Prompt Engineering Guide emphasizes explicit tool calling instructions and clear triggers . Your prompt needs to define exact conditions for using the knowledge base. Rewrite your objection handling section with specific triggers:
Copy code
## Objection Handling Instructions

1. Listen for specific objection keywords and phrases
2. When you detect an objection, reference the Objection Handling Knowledge Base for the appropriate response
3. Common objections to watch for:
   - If caller says "I'm happy with my current pharmacy":
     → Check the Objection Handling Knowledge Base for this specific objection
     → Use the suggested response provided
   - If caller mentions "delivery" AND ("late" OR "delayed") :
     → Check the knowledge base for delivery objection handling
     → Respond with the suggested approach
4. Always acknowledge the objection before providing the knowledge base response
5. After handling the objection, guide the conversation back to your main objective
The key difference: instead of asking the LLM to "try" or telling it what it "has to" do, you're providing step-by-step instructions with specific trigger words . This gives the LLM clear decision points for when to consult your knowledge base. If you're using Flex Mode, note that node-level knowledge bases are ignored, and you must configure knowledge base at agent level (which you've already done) [(2) ]() .
​ To learn more, see the sources I considered: [[1] Prompt Engineering Guide](https://docs.retellai.com/build/prompt-engineering-guide) [[2] Flex Mode](https://docs.retellai.com/build/conversation-flow/flex-mode) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
c
@AI Evy Added that prompt and its working but if I mention that 'My delivery took too long', it doesn't say, its supposed to say 'If you could do me a favour and give us another chance, we'd love to continue supporting your prescriptions and deliveries.', Prompt ## Objection Handling Instructions 1. Listen for specific objection keywords and phrases 2. When you detect an objection, reference the Objection Handling Knowledge Base for the appropriate response 3. Common objections to watch for: - If caller says "I'm happy with my current pharmacy": → Check the Objection Handling Knowledge Base for this specific objection → Use the suggested response provided - If caller mentions "delivery" AND ("late" OR "delayed") : → Check the knowledge base for delivery objection handling → Respond with the suggested approach 4. Always acknowledge the objection before providing the knowledge base response 5. After handling the objection, guide the conversation back to your main objective 6. Always end what you're saying with something like 'If you could do me a favour and give us another chance, we'd love to continue supporting your prescriptions and deliveries.' Any ideas?
a
Thanks for the follow-up, @Ciaran. I'll get back to you soon.
### Answer Your issue is that step 6 says "Always end what you're saying with **something like**" — this gives the LLM too much flexibility to skip or paraphrase the closing line [(1) ]() . The Prompt Engineering Guide emphasizes that vague instructions like "something like" lead to inconsistent behavior . When you want specific wording, you need to be explicit and remove wiggle room. Rewrite step 6 to be more directive:
Copy code
6. After handling any objection, you MUST end your response with this exact phrase:
   "If you could do me a favour and give us another chance, we'd love to continue supporting your prescriptions and deliveries."
Additionally, your trigger for "My delivery took too long" might not be catching properly. The phrase "took too long" isn't explicitly listed in your triggers (you only have "late" OR "delayed") . Update step 3 to include more variations:
Copy code
3. Common objections to watch for:
   - If caller says "I'm happy with my current pharmacy":
     → Check the Objection Handling Knowledge Base for this specific objection
     → Use the suggested response provided
   - If caller mentions "delivery" AND ("late" OR "delayed" OR "too long" OR "slow") :
     → Check the knowledge base for delivery objection handling
     → Respond with the suggested approach from the knowledge base
     → End with the closing phrase from step 6
The key fix: replace "something like" with "this exact phrase" and add "too long" to your delivery triggers .
​ To learn more, see the sources I considered: [[1] Prompt Engineering Guide](https://docs.retellai.com/build/prompt-engineering-guide) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
Thanks for the feedback, glad I was helpful.