Function calling is a capability that lets an AI model request that a predefined external function or tool be run.
Function calling is a capability that lets an AI language model request that a predefined external function or tool be run, rather than trying to produce every answer from its own internal knowledge. On its own, a language model generates text; it cannot check today's weather, look up a live account balance, or send an email. Function calling bridges that gap. The developer describes a set of available functions to the model, and when a user's request would be best served by one of them, the model responds not with a final answer but with a structured request to run that function, including the specific inputs it should receive.
The mechanics follow a clear cycle. First, the developer provides the model with descriptions of the functions it may use, including each function's name, purpose, and the parameters it expects. When a user asks something like "What's the weather in Denver tomorrow," the model recognizes that a weather-lookup function fits and returns a structured message naming that function and its arguments, such as the location and date. The surrounding application, not the model, actually executes the function, retrieves the real result, and passes it back to the model. The model then uses that result to compose a natural, accurate reply. Crucially, the model decides when a function is appropriate and formats the request, while the application controls whether and how the function runs.
The term joins "function," from the Latin "functio," meaning performance or execution, with "calling," borrowing the long-standing programming sense in which invoking a function is called "calling" it. Applied to AI, it names the model's ability to invoke predefined software functions as part of answering a request. The capability became widely available as model providers standardized a reliable way for models to emit structured requests that applications could act on.
For a business, function calling matters because it turns a language model from a source of text into the reasoning core of a functional application. It lets AI assistants take real actions and pull live data: checking inventory, booking appointments, querying a database, updating a record, or fetching current pricing. This is what allows a customer support assistant to look up an actual order rather than guess, or a marketing tool to pull real campaign metrics on request. By connecting the model to your existing systems through well-defined functions, you get the model's flexible understanding of language combined with the accuracy and authority of your own data and tools.
The nuances and safeguards are important. Because the model chooses which function to call and with what inputs, it can occasionally pick the wrong function or supply malformed or unintended arguments, so applications should validate every request before executing it and should never run a sensitive action without appropriate checks. Functions that change data, spend money, or send communications warrant confirmation steps and clear permission boundaries. The application, not the model, must remain the ultimate gatekeeper. Function calling is closely related to broader efforts to connect models with external tools and structured data, and it is the foundational mechanism that makes agentic systems and tool-using assistants possible. Implemented with proper validation, it is one of the most practical ways to make AI genuinely useful inside real software.
Function calling turns AI from a talker into a doer, connecting models to your real systems. It is what makes practical, action taking AI assistants possible.