Allow tools override on inbound webhook (agent_override)

Currently the inbound webhook agent_override supports overriding voice config, LLM model settings, and various call behavior fields — but not general_tools.

Our use case: we have enterprise customers with customer-specific tool-call endpoints (e.g., a CRM lookup tool that only applies to one customer). Today we have to pre-register these tools on the LLM in the Retell UI. This works but has downsides:

  • Can’t dynamically compile tools on our end based on caller context
  • Can’t store/manage tool definitions in our backend with our custom system
  • Can’t dynamically attach only tools needed for the call - prevent context rot

Proposed change: Allow agent_override.retell_llm.general_tools in the inbound webhook response (and create_phone_call API). This would let us dynamically attach tools on a per-call basis — same pattern as
dynamic_variables but for tool definitions.

Example response shape:
{
“call_inbound”: {
“agent_override”: {
“retell_llm”: {
“general_tools”: [
{
“name”: “lookup_banker”,
“type”: “custom”,
“url”: “``https://example.com/api/tool-calls”``,
“description”: “Look up a banker by name”,
“parameters”: { … }
}
]
}
},
“dynamic_variables”: { … }
}
}

Ideally this would be additive (merged with existing LLM tools) rather than a full replacement, with an option to replace if needed.

create_phone_call API is not as much of a priority as inbound webhook

came here looking for this solution. can we get this done, please?

For context: we’re switching from VAPI to Retell and are having a hard time dealing with this since VAPI allows you to override every config esp. this during the incoming webhook so really need this to make our transition smooth (cc: @mark1)