What Is Tool Calling? How AI Uses External Tools
What Is Tool Calling?How AI Uses External Tools
An AI model can explain the weather using information already supplied to it. But it cannot know the current weather in Dallas unless an application gives it access to an appropriate source.
That is where tool calling enters the picture.
Tool calling—also called function calling—allows a model to request an external capability. The tool might search an approved database, retrieve a customer record, calculate a value, check inventory, or prepare a draft action.
The important word is request.
The model normally proposes a tool and its inputs. The surrounding application should validate the request before executing the permitted operation and returning the result.
What Counts as an AI Tool?
A tool is a defined capability that an AI application can make available to a model.
Examples include:
- Looking up current weather
- Searching an approved knowledge base
- Calculating shipping charges
- Retrieving an order status
- Reading a permitted file
- Creating a calendar-event draft
- Checking inventory
- Sending a message after approval
Each tool should have a clear name, description, and input definition. OpenAI's function-calling documentation describes function tools using elements including a name, description, and JSON Schema for the arguments. See the OpenAI function-calling documentation .
The description helps the model decide when the tool applies. The input schema identifies the information required to request it.
Example: A Weather Tool
A weather tool might require:
- Location
- Temperature unit
- Date or time range
Permission principle: A tool should not receive unrestricted access merely because it might need more information later.
The Five-Step Tool-Calling Loop
A basic tool call follows five steps.
HOW TOOL CALLING WORKS
DEFINE → REQUEST → VALIDATE → EXECUTE → RETURN
1. The Application Defines the Tool
The application tells the model which tools are available, what they do, and what inputs they accept.
| Broad Tool | More Specific Tool |
|---|---|
| Access the order-management system. | Retrieve the current shipping status for one authorized order ID. |
A narrowly defined capability is easier to control and evaluate than broad access to an entire system.
2. The Model Requests a Tool Call
The model examines the user's request and may determine that it needs a tool.
Instead of inventing the answer, it can return a structured request such as:
Tool: get_order_status
Order ID: TEST-1042
The model has proposed a call. It has not necessarily executed it.
3. The Application Validates the Request
Before execution, the application should check:
- Is this tool allowed for the current task?
- Are all required inputs present?
- Do the arguments match the expected format?
- Is the user authorized?
- Does the request contain restricted information?
- Is human approval required?
- Has an operating limit been reached?
OpenAI documents tool calling as a multi-step exchange in which the model can return a tool call, application-side code executes the corresponding function, and the resulting output is provided back to the model. See the OpenAI function-calling guide .
These controls should also match the boundaries of the assignment. The CLEAR Framework for Writing an AI Agent Task Brief provides a practical way to define context, limits, expected results, approval points, and exception handling.
4. The Approved Tool Runs
If the request passes the required checks, the application invokes the tool.
The tool might return:
- A successful result
- No matching record
- Missing information
- An authorization error
- A timeout
- Conflicting data
- A request for human approval
Do not hide uncertainty. The application should preserve meaningful differences between success, missing information, errors, conflicts, and approval requirements instead of converting every outcome into a confident-looking answer.
5. The Result Returns to the Model
The tool output is provided to the model. The model can then explain the result, request another permitted tool, or stop.
Example
“The approved order-status tool reports that order TEST-1042 is awaiting carrier pickup. The result was checked at 10:15 AM. No delivery date was provided.”
The model should not invent the missing delivery date.
Tool Calling Does Not Automatically Create an Agent
A single model response can include a tool request without becoming a fully autonomous agent.
The difference is usually in the control loop.
| Simple Tool Call | Agentic Tool Use |
|---|---|
| One predefined lookup | May choose among several permitted tools |
| Limited decision path | Can inspect results and select the next permitted step |
| Often stops after the lookup | May continue until a completion, approval, or stop condition is reached |
More flexibility creates more decisions to supervise:
- Which tool should be selected?
- How many calls are allowed?
- Can the system retry?
- What happens when sources disagree?
- Which actions require approval?
- When must the task stop?
START WITH THE SMALLEST TOOLSET THAT SUPPORTS THE TASK.
If you are still deciding whether a task needs a chatbot, predefined workflow, or bounded agent, see AI Agents vs. AI Workflows: What's the Difference?
Copy-and-Paste Tool-Review Prompt
Example: Inventory Lookup vs. Inventory Change
A read-only inventory tool could return the recorded quantity for one product and location.
A write tool could change that quantity.
Those tools should not have identical controls.
| Read-Only Inventory Lookup | Inventory Change |
|---|---|
| Returns recorded quantity | Changes recorded quantity |
| Requires valid product and location identifiers | Requires valid identifiers plus stronger authorization |
| Appropriate read access | Evidence, approval, and recoverable audit record |
Avoid overly broad tools.
Do not hide fundamentally different permissions behind one broad tool
such as manage_inventory.
Five Tool-Calling Mistakes
| Mistake | Better Approach |
|---|---|
| Vague tool descriptions | Define the tool's purpose and boundaries clearly. |
| Excessive permissions | Grant only the data and actions required for the task. |
| Unchecked arguments | Validate structured inputs before execution. |
| Missing failure paths | Define responses for timeouts, unavailable sources, invalid responses, and repeated failures. |
| No approval boundary | Keep consequential external actions under appropriate human control. |
Keep the Control Outside the Prompt
Prompt instructions are helpful, but they should not be the only protection.
Enforce permissions, approval requirements, data restrictions, and operating limits in the application or tool layer. A prompt can ask the model to behave responsibly; system controls determine what it can actually do.
Anthropic's tool-use documentation likewise describes client tools in a workflow where Claude can request tool use and the application executes the tool and returns the result. See Anthropic's tool-use documentation .
THE MODEL REQUESTS. THE APPLICATION CONTROLS.
PEOPLE APPROVE CONSEQUENTIAL ACTIONS.
Conclusion
Tool calling gives an AI application access to current information and external capabilities, but it should not give the model unrestricted authority.
Remember the loop:
DEFINE → REQUEST → VALIDATE → EXECUTE → RETURN
The model requests the capability. The application checks and runs it. People retain approval over consequential actions.
How to Choose Your First AI Agent Task: The START Framework — decide whether a task is suitable for your first supervised agent trial.
How to Write a Clear Task Brief for an AI Agent — define the agent's context, limits, expected result, approval points, and response to exceptions.
Autonomous AI Agents & Workflows: Beginner to Expert Guide — continue through the complete learning series.
Review one tool before giving it to your first supervised AI agent. Define its purpose, inputs, permissions, validation rules, approval requirements, failure paths, and stop conditions.
- Tool purpose checklist
- Required-input worksheet
- Permission and access review
- Read-versus-write assessment
- Argument-validation checklist
- Human-approval triggers
- Failure and retry worksheet
- Logging requirements
- Stop-condition checklist
- Copy-and-paste Tool Review Prompt
Comments
Post a Comment
Thanks for joining the conversation. Please keep your comment helpful, respectful and relevant. Do not share private, confidential or sensitive information.