How does function calling work?
The application describes each function to the model: a name, a description of when to use it and a JSON Schema for its arguments. When the model decides a function would help, it returns a function call instead of text. OpenAI’s documentation uses the example of a get_weather call with Paris as the location.
OpenAI’s guide sets out five steps: send a request with the tools the model may call, receive a tool call, run the code in your application, send the output back to the model, and receive the final answer or further tool calls. Its strict mode makes the model’s arguments follow the schema reliably rather than on a best-effort basis.
Other providers use the same pattern, sometimes under the name tool use, and the Model Context Protocol (MCP) standardises how an application can offer its tools to models.
{
"type": "function",
"name": "search_help_articles",
"description": "Search the product's help articles before answering a product question.",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The words to search for."
}
},
"required": [
"query"
],
"additionalProperties": false
}
}Why does function calling matter for a voice agent?
Function calling is how a voice agent reaches anything beyond the conversation: a knowledge search, an order lookup, a booking system. Each call adds time before the answer is ready, so voice agents keep their tools fast and few, and some voice models can keep talking while the work runs.
Every function is also a permission. A caller can talk a model into calling a tool with arguments you didn’t intend, so the application, not the model, has to check identity and approvals before anything changes.
Which functions can a Kawl Now agent call?
During a call, a Kawl Now agent has two functions, and both run on Kawl Now’s server. One searches the approved knowledge for the call’s channel and returns up to four excerpts. The other records a bug report, feature request or other feedback on the conversation, and the agent is told to use it only when the caller asks and not to promise a fix.
Each takes one text argument under a strict schema. Calls and results travel over a private connection between the server and the voice service, not through the visitor’s browser, whose data channel accepts no events.
There are no custom functions, webhooks or account lookups, so the agent can’t change anything in your product. Developers manage the agent itself through Kawl Now’s MCP tools and REST API, which take a workspace token.
Common questions
Is function calling the same as tool calling?
Yes. OpenAI uses both names for the same thing, and other providers call it tool use. A function is one kind of tool, defined by a name, a description and a JSON Schema for its arguments.
Does the model run the function itself?
No. The model only asks for the call. Your application runs the code, decides whether the call is allowed and returns the result, so permission checks belong in your code rather than in the prompt.