What is Function calling?
Function calling is a feature where a model returns a request to run a developer-defined function with structured arguments, and the application executes it and sends the result back.
Also written: tool calling, OpenAI function calling
Explained
Function calling, also called tool calling in OpenAI's documentation, lets a model reach systems and data that sit outside its training. The developer describes the functions the model may request. The model never runs them itself. It returns a tool call, and the application is responsible for executing the function.
OpenAI describes a loop of five steps. The application sends a request that lists the available tools. The model returns a tool call. The application runs the function with the supplied arguments. The application sends the output back to the model. The model then produces a final answer, or issues more tool calls, and the loop can repeat.
A function definition has a type of function, a name, a description of when and how to use it, a parameters field written as a JSON schema, and an optional strict flag. In strict mode the call is meant to follow the schema reliably, which requires additionalProperties set to false on every object and every property listed as required. Optional values are expressed by allowing null.
The page lists some limits. Function definitions count against the context window and are billed as input tokens. Some JSON schema features are not supported in strict mode. As a soft guideline, it suggests keeping fewer than about 20 functions available at the start of a turn.
Primary source
Function calling (developers.openai.com), read Oct 26, 2026
This entry paraphrases the page above. Sources change; check it for the current wording.
Listings that use this
The 5 top-ranked listings tagged for Function calling. Rank weighs adoption, freshness, documentation and publisher identity; how we rank and grade. Money never changes the order.
- 0.891score
reverse-engineer-anything
morluto
Reverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA, and build agent environments (AgentEnv bundles) of…
SkillAFreshness: A★ 377.4KClaude Code +9 - 0.856score
Keploy
keploy
End-to-end API testing — generate and run tests from OpenAPI, curl, Postman, or real user traffic.
ConnectorAFreshness: ARemote★ 18.7KClaude Code +3 - 0.846score
plano-agent-skills
katanemo
Best practices for building agents and agentic applications with Plano, including configuration, routing, orchestration, guardrails, observability, and…
SkillAFreshness: A★ 7.1KClaude Code +9 - 0.791score
ADK for Go
Google
Code-first Go toolkit for building agents with a tool ecosystem, composable multi-agent systems and Cloud Run deployment.
HarnessAFreshness: A★ 8.9K - 0.782score
pi-upgrade
mrclrchtr
Check for available upgrades to the pi coding agent framework by comparing the current `@earendil-works/pi-*` or legacy `@mariozechner/pi-*` version in…
SkillAFreshness: A★ 103Claude Code +9
Related
Cite this page
What is Function calling?. Agent Mart. https://agentmart.dev/glossary/function-calling (last updated 2026-10-26)
Written Oct 26, 2026, updated Oct 26, 2026. All glossary terms