RaspberryTech
04/06/2026, 9:15 PMAI Evy
04/06/2026, 9:15 PMAI Evy
04/06/2026, 9:16 PMContent-Type: application/json
Body (for POST, PUT, PATCH requests) :
- `name`: the name of the custom function
- `call`: the call object with context and real-time transcript
- `args`: the arguments for the custom function as a JSON object
If you're not receiving the JSON payload, check these common issues:
1. Payload: args only toggle - If this is enabled, the body only contains the function arguments at the top level, not nested under args . Disable this if you expect the full request structure with name, call, and args.
2. Tool registration - The custom function must be properly registered and exposed in the agent's configuration [(3) ]() . If the tool is only in the prompt but not in the config, the model may say it's calling it, but no JSON payload is emitted .
3. Webhook subscription - Ensure your webhook is subscribed to structured events (including tool calls with name + args) , not just transcript-only events .
4. Prompt instructions - Include explicit instructions in your prompt about when to invoke the custom function [(1) ]() . For example:
When user provided the city name, please get the weather for that city by calling the `get_weather` function.AI Evy
04/06/2026, 9:16 PM"type": "object" at the top level of the JSON schema [(1) ]() [(2) ]() . This is a common mistake that prevents the function from saving properly.
To verify requests are from Retell, check the X-Retell-Signature header . You can also allowlist Retell's IP address: 100.20.5.228 .AI Evy
04/06/2026, 9:16 PMAI Evy
04/06/2026, 9:16 PM