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 asdynamic_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.
Official request:
https://community.retellai.com/t/allow-tools-override-on-inbound-webhook-agent-override/2323