Function calling
Function calling is a language model's ability to run a defined function in a calendar, CRM or other system with structured parameters during a conversation.
Function calling (also called tool use) means a large language model can do more than produce text: it can use functions that were defined in advance. A voice agent asked "Do you have anything free on Tuesday afternoon?" doesn't guess; it calls the calendar tool and answers based on what comes back. Looking up a customer in the CRM, checking an order status, booking an appointment and transferring the call to a queue are typical tools. Function calling turns an agent from something that only talks into something that actually gets work done.
How it works
Each tool is defined by a name, a description of what it does and a schema for the parameters it expects. When the model decides at some point in the conversation that a tool is needed, it produces the tool's name and parameters (a date and time, say) in a structured format instead of text. The application runs the call, for example by sending a request to an API or a webhook, and passes the result back to the model, which builds its reply from it.
Why it matters
Because up-to-date information comes from the real system, function calling reduces the risk of the agent making things up (hallucination). It also brings new risks, such as an appointment booked with the wrong parameters or a tool with broader permissions than it needs. Good practice: write clear tool descriptions, confirm with the caller before anything important, give each tool only the access it needs and log every call.
In Speakline
In Speakline, you add tools to your agent: alongside ready-made tools for booking, rescheduling and cancelling appointments, searching the knowledge base, sending an SMS, transferring the call to a queue and ending the call, you can define custom tools that send requests to your own systems. See Voice agents for details.