was able to get most reliable results from some combo of:
- in prompts ensuring it's clearly explained which tools are available and when to use them, you'll have to figure out how the llm prefers them being referred to
- in the tool config making the names and descriptions semantically clear
- using an llm that's good at both voice and tool calling (i like 4.1-mini)
- splitting the call flow into nodes and providing only the tools required for the specific task being handled