Definition
The mechanism by which an LLM produces a structured request to invoke an external function.
In practice
Instead of just producing text, the model outputs JSON like {tool: 'book_appointment', args: {…}}. Your code reads that, runs the actual function, returns the result, and feeds it back to the model. Every modern voice agent, SDR agent, or workflow agent is built on tool calling under the hood.