Tool calling, also called function calling, is how a large language model (LLM) gets work done outside its own text: the model returns the name of a tool and structured arguments, and the application runs it.
The model never runs anything itself. It asks, and software acts. That is what lets an AI agent check an order, book an appointment or transfer a call instead of only talking about it.
In everyday use, yes. The model vendors treat the two as names for one mechanism. OpenAI's guide opens with "Function calling (also known as tool calling)". Anthropic's docs open with "Tool use (also called function calling)". IBM writes "Tool calling, sometimes referred to as function calling".
Where a line is drawn, "tool" is the wider word. OpenAI's guide says: "A function is a specific kind of tool, defined by a JSON schema."
| Term | Where you see it | What it covers |
|---|---|---|
| Function calling | OpenAI's guide title, Retell's docs | The model fills in arguments for a function you described with a JSON schema, and your code runs it |
| Tool calling | OpenAI, IBM, the Retell vCX Benchmark | The same mechanism for any tool: your functions, a platform's built-in tools, tools on an MCP server |
| Tool use | Anthropic's docs | Anthropic's name for the same mechanism |
| MCP (Model Context Protocol) | modelcontextprotocol.io | "An open-source standard for connecting AI applications to external systems". It supplies tools. The model still decides when to call one |
OpenAI's guide describes tool calling as "a multi-step conversation between your application and a model" with five steps:
The call itself is a few lines of JSON. This example is from Retell's function calling docs:
{"function": "book_appointment", "arguments": {"date": "2024-03-15", "time": "14:00", "customer_name": "John Smith"}}

Two things have to go right. The model has to pick the right tool at the right moment, and it has to pass valid arguments.
On a call, the caller waits while the tool runs, so timing is part of the design. Retell's docs list the tools an AI voice agent can call during a call:
With a custom function, Retell "sends a request to your URL with the function's arguments and waits for your response before continuing". The timeout defaults to 120 seconds and there is no retry by default. If the request fails, the agent receives the error and continues based on your prompt, so the prompt should say what to tell the caller. The agent can talk while it waits, or the function can run in the background.
In a conversation flow, a function node runs its tool every time the flow enters it. A subagent node lets the LLM decide whether and when to call each tool.
Related terms: API integration and webhook. For the wider picture, see voice AI integrations with your CRM and telephony stack.
Yes, in everyday use. OpenAI, Anthropic and IBM each give one term as another name for the other. Strictly, a function is one kind of tool.
No. The model returns the tool's name and arguments. The application or platform runs the tool and sends the result back.
Tool calling is how a model asks for an action. MCP is an open-source standard for connecting AI applications to the systems that provide tools.
On Retell, the agent receives the error and continues the conversation based on your prompt. A custom function is not retried unless you set a retry count.
Usually the description. The model decides from the tool's name, its description and the prompt, so state what the tool does and when to use it.
Retell AI is an AI voice agent platform for contact centers. Its agents call pre-built, integration and custom tools during a live call. See the Retell AI integrations. To run those tools on Retell's own LLM, see Tell-1.
How Retell handles audits, data retention and access control.
Table of contents