azyware
AI agents & orchestrationTechnique / practice

Tool calling (function calling)

Also: function calling, tool use

In one sentence

What is Tool calling (function calling)?

Tool calling is the mechanism by which a language model requests that the application run a named function with structured arguments, such as look up an order or issue a refund, and receives the result to continue reasoning.

What Tool calling (function calling) means

In tool calling, the application tells the model which functions exist, with a name, a description and a typed argument schema. When the model decides it needs one, it emits a structured call, for example get_order with order_id set to a value, rather than free text. The application validates the arguments, runs the function against the real system, and returns the result to the model, which then decides the next step. The model never executes anything itself; it asks, and the application decides.

This is the foundation of every agent. Retrieval, database queries, CRM updates, payment actions and hand-offs are all tools. Good tool design matters more than prompt wording: small, well-named functions with strict schemas and clear error messages produce far more reliable agents than a few large, vague ones.

Tool calling is not the same as giving a model access to your systems. The application layer chooses which tools to expose to which agent, checks permissions on every call, applies policy gates to consequential actions, and logs each call and result. It is also distinct from MCP, which is a standard for describing and serving tools across applications; tool calling is what the model does with them.

Who it really matters to

  • CTO / Head of Engineering: tool design and schema strictness are the largest lever on agent reliability; treat tools as an API product.
  • CISO: every tool is a capability the model can request; least privilege per agent and validation of every argument are essential.
  • Product manager: the set of tools defines what the agent can actually do for users; it is the real feature list.
  • Data lead: read tools over your data need permission-aware access so the agent cannot surface rows a user may not see.

Why it exists

Models produce text; businesses run on systems. Tool calling exists to bridge the two in a controlled way: the model expresses intent in a structured form, and the application executes it with validation, permissions and logging. The failure it prevents is the fragile approach of parsing free text for commands, which breaks unpredictably. The trade-off is that tools must be designed carefully: too many, too broad or poorly described, and the model chooses wrongly. Structured outputs and evals on tool selection are how teams keep that under control.

Where it is applied

  • A SaaS copilot calling the product's own API to create projects, update settings and generate reports on the user's behalf.
  • A banking assistant calling balance, card-block and dispute-filing tools with per-call authentication tied to the customer.
  • A hospital voice agent calling slot-search and booking tools against the scheduling system during a live call.
  • A retail returns agent calling order-lookup, policy-check and refund tools, with the refund tool behind a threshold gate.
  • An analytics assistant calling a governed query tool that applies row-level security before running SQL.

Is Tool calling (function calling) a skill?

Technique / practiceAn engineering technique, and the core of every agent Eazyware builds under AI agents. Tools are designed as a small internal API with strict schemas, per-agent permissions and evals on tool selection accuracy.

Eazyware service that covers it: AI Agents & Automation. Starting prices are on the pricing page.

Frequently asked questions

Does the model execute the tool itself?

No. The model emits a structured request naming the tool and its arguments. Your application validates the request, checks permissions, runs the function and returns the result. The model only ever proposes; your code decides and acts.

How many tools should an agent have?

As few as the task needs, typically three to ten per agent. Large tool sets make selection errors more likely. If an agent needs many more, that is usually a sign to split the work across several agents.

Related reading

Need Tool calling (function calling) built, not just explained?

PRJECT IN MIND?