Function calling is how an AI stops talking about work and starts asking a tool to do it. The model isn’t running the action itself. It’s returning a structured request that matches a defined schema, and the surrounding software decides whether to run it or reject it.
Think of a work order form. “Can you handle the thing for the client?” is vague. A form with client name, action requested, due date, and approval status tells the next person exactly what to do. Function calling turns a loose request into that usable instruction: the model decides it needs an action, like search files or create a calendar event, and fills in the form.
How it shows up
This is what people mean by a tool call in Claude Code, Codex, or an agent log. A model might call search_transcripts with a client name and date range, or create_invoice_draft with line items and a due date. The names don’t matter; the pattern does: defined action, defined inputs, structured output. It usually sits on top of an API, and that wrapper can enforce safer behavior by requiring certain fields or blocking certain values. That’s why structured data matters.
Why you care
For a nontechnical operator, the question is, “What forms should the AI be allowed to submit?” Define them well and you give the agent controlled action instead of open-ended authority. Useful agents need clear action forms, not just good conversation.