southern_push2935
05/21/2025, 12:57 PM{}) despite the tool having required parameters with strict validation. Interestingly, this only happens with one specific tool while another similar tool works perfectly.
## What's Working
- appointment_timeslots_tool works correctly - the AI provides all required parameters
- The tool has 5 required parameters (ZipCode, Address, City, Phone, Email)
- The AI correctly fills these parameters based on the conversation
## What's Not Working
- appointment_creation_tool consistently receives empty arguments {}
- The tool has 11 required parameters (CorrelationID, FirstName, LastName, etc.)
- Despite having all the information from the conversation and previous tool call, the AI sends arguments: {}
## Logs and Behavior
- First tool call (works): "arguments": {"ZipCode": "75001", "Address": "456 Oak Street", ...}
- Second tool call (fails): "arguments": {}
- I've tried simplifying the parameter structure to avoid nested objects, but the issue persists
- I've verified the AI has all the necessary information to fill in the parameters
Any assistance would be greatly appreciated!Vapi Support Bot
05/21/2025, 12:59 PMparameters definition for your appointment_creation_tool in your tool configuration. Make sure each required parameter is explicitly listed and not nested, and that the tool's strict property is set to true. For example:
json
{
"type": "function",
"function": {
"name": "appointment_creation_tool",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"CorrelationID": { "type": "string" },
"FirstName": { "type": "string" },
"LastName": { "type": "string" }
// ...add all required fields
},
"required": ["CorrelationID", "FirstName", "LastName" /* ... */]
}
}
}
After updating, re-deploy and test. This ensures the AI knows exactly which fields to fill and avoids empty argument payloads.
Sources:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
- [Prompting Guide](https://docs.vapi.ai/prompting-guide)Chiranjeet Mishra
05/21/2025, 11:16 PMsouthern_push2935
05/22/2025, 12:42 PMcall_GSQbLnNxGAgB7zhaQSo8pZcx
**Timestamp**: 2025-05-21 14:19:09.265 (Started At) - 2025-05-21 14:19:11.680 (Finished At)
**The Actual Issue**: Looking at this specific call, the AI sent most parameters but missed 2 required parameters despite having strict: true validation:
- Missing: State (required)
- Missing: RepID (required)
The tool definition clearly shows 11 required parameters:
["CorrelationID", "FirstName", "LastName", "Phone", "Email", "Address", "City", "State", "ZipCode", "AppointmentDateTime", "RepID"]
But the AI only sent 10 parameters, omitting State and RepID.
**Model Behavior**: Initially discovered this issue was worse with Claude 3.7 Sonnet (would send completely empty arguments {}), but after switching to OpenAI's model, I found it still occasionally misses required parameters despite strict: true validation.
**Critical Issue**: This problem is compounded by the fact that when I send error responses back to the AI (like "ERROR: Missing required parameters: State, RepID"), the AI agent doesn't receive these messages (linked issue: https://discord.com/channels/1211482211119796234/1374830137845092455). So the AI has no way to know it made an incomplete tool call and can't self-correct.
These two issues combined make the platform extremely unreliable - the strict validation isn't working, and error feedback doesn't reach the AI.southern_push2935
05/22/2025, 12:45 PMtoolu_011yxevzp3VrHYsf9BgYETQ2
This call demonstrates the Claude 3.7 Sonnet problem - completely empty arguments {} despite having 11 required parameters and strict: true validation:
json
"function": {
"name": "appointment_creation_tool",
"arguments": {}
}Chiranjeet Mishra
05/23/2025, 12:46 AMsouthern_push2935
05/23/2025, 12:28 PMcall_4jRGUjRFivxyf75J3Uu2eoBh
- __Vapi Call ID__: 77c764ef-deb5-481b-a8b0-646a1fc2a730
This is the call where the AI was missing the Email parameter despite strict: true validation, and where the error response wasn't reaching the AI.Vapi Support Bot
05/23/2025, 12:30 PMappointment_creation_tool configuration to ensure all required parameters are explicitly listed (not nested) and included in the required array, with "strict": true set. For example:
json
{
"type": "function",
"function": {
"name": "appointment_creation_tool",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"CorrelationID": { "type": "string" },
"FirstName": { "type": "string" },
"LastName": { "type": "string" }
// ...add all required fields
},
"required": ["CorrelationID", "FirstName", "LastName" /* ... */]
}
}
}
After updating, redeploy and test. Note: If error responses aren't reaching the AI for self-correction, this is a known limitation—consider raising a support ticket if this is critical for your workflow.
Sources: [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools), [Prompting Guide](https://docs.vapi.ai/prompting-guide)
Sources:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
- [Prompting Guide](https://docs.vapi.ai/prompting-guide)Chiranjeet Mishra
05/24/2025, 3:35 AMsouthern_push2935
05/28/2025, 3:09 PMd08a2eb6-ee9a-4680-893b-886c16ce4362 you can see how the appointment_timeslots tool works but the appointment_creation tool is not working, even when I have strict parameters validation and I'm sending back and error message with the missing required parameters:
"result": "ERROR: Missing required parameters for appointment creation. Please provide CorrelationID, FirstName, LastName, Phone, Email, Address, City, State, ZipCode, AppointmentDateTime, and RepID.",
"toolCallId": "toolu_01PLcH3akcpcY7CDtcPjGDHD"Vapi Support Bot
05/28/2025, 3:11 PMVapi Support Bot
05/28/2025, 3:11 PMVapi Support Bot
05/28/2025, 3:11 PMappointment_creation_tool configuration explicitly lists all required parameters (no nesting) and that "strict": true is set. Here’s a sample structure:
json
{
"type": "function",
"function": {
"name": "appointment_creation_tool",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"CorrelationID": { "type": "string" },
"FirstName": { "type": "string" },
"LastName": { "type": "string" },
"Phone": { "type": "string" },
"Email": { "type": "string" },
"Address": { "type": "string" },
"City": { "type": "string" },
"State": { "type": "string" },
"ZipCode": { "type": "string" },
"AppointmentDateTime": { "type": "string" },
"RepID": { "type": "string" }
},
"required": [
"CorrelationID", "FirstName", "LastName", "Phone", "Email",
"Address", "City", "State", "ZipCode", "AppointmentDateTime", "RepID"
]
}
}
}
After updating, redeploy and test. If the issue persists and error feedback is not reaching the AI, consider raising a support ticket, as this is a known platform limitation.
[Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
Sources:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
- [Prompting Guide](https://docs.vapi.ai/prompting-guide)Vapi Support Bot
05/28/2025, 3:11 PMappointment_creation_tool configuration explicitly lists all required parameters (no nesting) and that "strict": true is set. Here’s a sample structure:
json
{
"type": "function",
"function": {
"name": "appointment_creation_tool",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"CorrelationID": { "type": "string" },
"FirstName": { "type": "string" },
"LastName": { "type": "string" },
"Phone": { "type": "string" },
"Email": { "type": "string" },
"Address": { "type": "string" },
"City": { "type": "string" },
"State": { "type": "string" },
"ZipCode": { "type": "string" },
"AppointmentDateTime": { "type": "string" },
"RepID": { "type": "string" }
},
"required": [
"CorrelationID", "FirstName", "LastName", "Phone", "Email",
"Address", "City", "State", "ZipCode", "AppointmentDateTime", "RepID"
]
}
}
}
After updating, redeploy and test. If the issue persists and error feedback is not reaching the AI, consider raising a support ticket, as this is a known platform limitation.
[Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
Sources:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
- [Prompting Guide](https://docs.vapi.ai/prompting-guide)southern_push2935
05/28/2025, 3:11 PMVapi Support Bot
05/28/2025, 3:12 PMTo: support@vapi.ai
Subject: Tool Call Validation Issue - appointment_creation_tool
[Describe your issue, include call IDs, error logs, and steps to reproduce.]
Source:
- [Vapi Support Documentation](https://docs.vapi.ai/support)Vapi Support Bot
05/28/2025, 3:12 PMTo: support@vapi.ai
Subject: Tool Call Validation Issue - appointment_creation_tool
[Describe your issue, include call IDs, error logs, and steps to reproduce.]
Source:
- [Vapi Support Documentation](https://docs.vapi.ai/support)Vapi Support Bot
05/28/2025, 3:13 PMVapi Support Bot
05/28/2025, 3:13 PMsouthern_push2935
05/28/2025, 3:13 PMVapi Support Bot
05/28/2025, 3:14 PMproperties, and there are no examples or instructions for using nested parameters. While this strongly suggests that nested parameters are not supported, there is no explicit statement confirming this or describing the system's behavior if nesting is attempted.
Could you clarify if you have a specific use case that requires nested parameters, or are you asking to confirm whether nesting is officially unsupported due to the issues you've observed?
For reference, see the [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools).
Source:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)Vapi Support Bot
05/28/2025, 3:14 PMproperties, and there are no examples or instructions for using nested parameters. While this strongly suggests that nested parameters are not supported, there is no explicit statement confirming this or describing the system's behavior if nesting is attempted.
Could you clarify if you have a specific use case that requires nested parameters, or are you asking to confirm whether nesting is officially unsupported due to the issues you've observed?
For reference, see the [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools).
Source:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)Vapi Support Bot
05/28/2025, 3:14 PMproperties object, as shown in the official examples. Attempting to use nested parameters is not documented as supported and may result in unexpected behavior.
Would you like more details on how Vapi handles invalid (e.g., nested) tool configurations at runtime, or are you asking about possible future support for nested parameters?
[Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
Source:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)Vapi Support Bot
05/28/2025, 3:14 PMproperties object, as shown in the official examples. Attempting to use nested parameters is not documented as supported and may result in unexpected behavior.
Would you like more details on how Vapi handles invalid (e.g., nested) tool configurations at runtime, or are you asking about possible future support for nested parameters?
[Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
Source:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)Vapi Support Bot
05/28/2025, 3:15 PMparameters object—nesting (objects within objects) is not allowed. If you attempt to use nested parameters, the platform's behavior is not documented, so it is best to avoid nesting entirely.
Reference: [Custom Tools Documentation – "no nesting"](https://docs.vapi.ai/tools/custom-tools)
Source:
- [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)Chiranjeet Mishra
05/29/2025, 2:50 AM