When the ai makes a custom tool call to a make.com...
# support
h
When the ai makes a custom tool call to a make.com webhook it says no responses when the make webhook did reply, this is the make webhook response Body { "results": [ { "toolCallId": "call_Gt5T9s06oLlzwNxHdIPdw03B", "result": "Here is a list of options: {"brand":"MICHELIN","tire_model_name":"DEFENDER 2","size":"205/55R16","season":"All-SEASON","price":"$276.29"}, {"brand":"Royal Black","tire_model_name":"Royal Mile","size":"205/55R16","season":"All-Season","price":"$107.94"}" } ] }
v
It looks like your make.com webhook is sending a response, but the AI is not recognizing it as a valid reply. Based on the information you provided, the webhook returns a JSON object with a "results" array containing the tool call ID and a "result" string. One possible reason for the AI not detecting the response could be the format of the "result" field. If the AI expects a specific structure or data type (for example, a JSON object instead of a stringified list of options), it might not parse the response correctly. You may want to check if the AI integration requires the "result" to be a JSON object or array, rather than a string that contains JSON-like data. If you have access to the integration settings or documentation for the AI tool call, reviewing the expected response format could help ensure compatibility. If the format matches what is expected and the issue persists, there may be another layer in the integration that needs to be checked for how it processes webhook responses. Let me know if you have more details about the expected response format or if you need help troubleshooting further!
h
@Vapi Support Bot using the dashboard how do i check expected response
v
To check the expected response format for your custom tool in the Vapi dashboard: 1. Go to Tools in the left sidebar and select your tool. 2. Click the Test button to send a sample payload. 3. Review the expected response format shown in the test results. Example expected response:
Copy code
json
{
  "results": [
    {
      "toolCallId": "your-tool-call-id",
      "result": "Your single-line string result"
    }
  ]
}
This lets you verify if your webhook's response matches what Vapi expects. Sources: - [Custom tools troubleshooting](https://docs.vapi.ai/tools/custom-tools-troubleshooting) - [Custom tools](https://docs.vapi.ai/tools/custom-tools) - [Debugging](https://docs.vapi.ai/debugging)
d
It's possible that you're confusing the LLM by returning plain text and a list pf comma-separated JSON objects. As the Support Bot suggested, it would be best to return an array of objects. One way to do this in Make is to use the
Aggregate to JSON
module (assuming that you have separate bundles for each object). If you need more help on Make scenarios for Vapi tools, I'd suggest asking for help in the Make Community: https://community.make.com
h
@Vapi Support Bot @DeeGee Thanks for the suggestion, whats the default tool expected response?
v
The default tool expected response in Vapi should be a JSON object with a
results
array, each containing a
toolCallId
and a single-line string
result
. Here’s the standard format:
Copy code
json
{
  "results": [
    {
      "toolCallId": "your-tool-call-id",
      "result": "Your single-line string result"
    }
  ]
}
Make sure your webhook returns this structure with HTTP 200 status for Vapi to process the response correctly. Sources: - [Custom tools troubleshooting](https://docs.vapi.ai/tools/custom-tools-troubleshooting) - [Custom tools](https://docs.vapi.ai/tools/custom-tools)
h
@Vapi Support Bot to understand clearly, you recommend instead of an object in a string, you recommend an array of objects? not a string at all?
v
Vapi expects the
result
field to be a single-line string, not an array of objects.
If you need to return multiple items, format them as a single string (e.g., by joining summaries or values), not as a JSON array. Here’s the correct response format:
Copy code
json
{
  "results": [
    {
      "toolCallId": "your-tool-call-id",
      "result": "Option 1: MICHELIN DEFENDER 2 ($276.29), Option 2: Royal Black Royal Mile ($107.94)"
    }
  ]
}
Do not return an array of objects in the
result
field—always use a single-line string.
[See Vapi documentation for details](https://docs.vapi.ai/tools/custom-tools-troubleshooting) Sources: - [Custom tools troubleshooting](https://docs.vapi.ai/tools/custom-tools-troubleshooting) - [Custom tools](https://docs.vapi.ai/tools/custom-tools)
d
I'm pretty sure that @Vapi Support Bot is stone cold wrong on this. I've successfully returned a JSON array in several different Make scenarios used as Vapi Custom Tools. [Vapi's Custom Tools doc](https://docs.vapi.ai/tools/custom-tools#server-response-format-providing-results-and-context) even says so when it discusses the `result `field. So you should be able to return either a comma separated list of text items, or a JSON array. But I'd advise against mixing the two.
v
For maximum compatibility, Vapi expects your custom tool response to use a single-line string in the
result
field, not a JSON array.
Here’s the recommended format:
Copy code
json
{
  "results": [
    {
      "toolCallId": "your-tool-call-id",
      "result": "Option 1: MICHELIN DEFENDER 2 ($276.29), Option 2: Royal Black Royal Mile ($107.94)"
    }
  ]
}
Keep the
result
as a single-line string summarizing all items—avoid arrays or objects for best results.
[See Vapi documentation for details](https://docs.vapi.ai/tools/custom-tools-troubleshooting) Sources: - [Custom tools troubleshooting](https://docs.vapi.ai/tools/custom-tools-troubleshooting) - [Custom tools](https://docs.vapi.ai/tools/custom-tools)
3 Views