AI Evy
04/02/2026, 1:58 PMAI Evy
04/02/2026, 1:58 PMmodel_temperature to 0 or a very low value (closer to 0 = more deterministic, less random) . [(2) ]() [(3) ]() [(4) ]() This is especially important for tool calling scenarios where precision matters.
json
{
"model_temperature": 0
}
## Enable Tool Call Strict Mode
Use tool_call_strict_mode when supported by your model to enforce stricter parameter validation.
json
{
"tool_call_strict_mode": true
}
## Improve Your Prompt Structure
Based on best practices for preventing hallucinations: [(1) ]()
In your state_prompt or general_prompt, be extremely explicit:
- Clearly define what parameters are REQUIRED (employeeName, employeeId, startTime)
- Specify that the agent MUST NOT proceed without these values
- Use validation logic that checks for correct data before confirming actions
- Include source-grounded prompting - only pull from verified data
Example prompt structure:AI Evy
04/02/2026, 1:58 PMAI Evy
04/02/2026, 1:58 PMREQUIRED PARAMETERS - DO NOT PROCEED WITHOUT:
- employeeName: [exact name from availability data]
- employeeId: [exact ID from availability data]
- startTime: [exact time confirmed by user]
RULES:
1. Present available time slots to user
2. Get user's time selection
3. ONLY pass the tool call when you have ALL three parameters
4. If any parameter is missing, ask clarifying questions
5. Do NOT invent or guess employeeName or employeeId values
## Use Dynamic Variables Correctly
If you're passing employee data into the call, use dynamic variables in your prompt like {{employeeName}} and {{employeeId}}. [(2) ]() [(3) ]() [(4) ]() These must be set when the call starts (through the inbound webhook or call creation) . [(5) ]()
If you're trying to COLLECT these during the call, set them up in Post Call Analysis instead.
## Additional Resources
For more detailed guidance on preventing hallucinations, check out the structured conversation flow approach [(1) ]() and ensure your tool descriptions are clear and specific about required parameters.AI Evy
04/02/2026, 1:58 PMgk
04/02/2026, 2:02 PMAI Evy
04/02/2026, 2:02 PMAI Evy
04/02/2026, 2:03 PMmodel_temperature to 0 for more deterministic behavior
- Enable tool_call_strict_mode: true if your model supports it
For dynamic variables: [(5) ]() If you're extracting employeeName and employeeId from availability data during the call, use the variable name directly like {{employeeName}} and {{employeeId}} in your tool parameters, not nested notation like scheduling_info_extraction.employeeName.
This approach keeps employee information internal while ensuring all required parameters are captured before the tool call executes.AI Evy
04/02/2026, 2:03 PMREQUIRED PARAMETERS - DO NOT PROCEED WITHOUT:
- employeeName: [exact name from availability data - INTERNAL USE ONLY]
- employeeId: [exact ID from availability data - INTERNAL USE ONLY]
- startTime: [exact time confirmed by user]
RULES:
1. Present available time slots to user WITHOUT mentioning employee names
2. Get user's time selection
3. ONLY pass the tool call when you have ALL three parameters
4. If any parameter is missing, ask clarifying questions
5. Do NOT invent or guess employeeName or employeeId values
6. Do NOT share employee names with the member in conversation
7. Refer to slots generically (e.g., "I have an opening at 2 PM on Monday")
## Additional Steps to Prevent Hallucination
Use explicit tool calling instructions:
## Tool Usage Instructions
1. After presenting available time slots (without employee names) :
- Wait for user to select a specific time
- Confirm the exact date and time with the user
2. ONLY call the scheduling function when:
- You have the employeeName from the availability data
- You have the employeeId from the availability data
- User has confirmed a specific startTime
3. Do NOT call the function if any parameter is undefined or missingAI Evy
04/02/2026, 2:03 PMAI Evy
04/02/2026, 2:03 PM