config.llm, and independently on config.llm.fallback: how hard the model thinks before it replies, and which of its provider’s own tools it may run mid-turn. Both are per model, because both are irregular across vendors — the values one model accepts are a hard error on another.
Neither exists on a realtime speech-to-speech model.
reasoning_effort
Every language model entry in the catalog carries reasoning_efforts: the list of thinking settings that exact model was measured to accept, ordered fastest first. Leaving reasoning_effort unset means the first value in that list. An empty list means the model has no such setting, and sending one is a save error.
A text agent has no such pressure — nobody is listening to silence — so spend thinking there whenever the task benefits from it. The same is true of agent tasks, which nobody is waiting on in real time.
Do not reason about the names
The effort names do not order the same way at every vendor, so read the catalog’s order and ignore what the words sound like:- OpenAI rejects
minimaloutright. Its floor isnone. minimalis not the floor at xAI. Ongrok-4.3it was measured burning more thinking tokens thanlowon a trivial prompt, sononeis the only setting there that truly stops it.grok-4.5cannot stop thinking at all. It rejectsnonewith a 400;minimalis its floor, and even at the bottom of its range it spends thinking tokens before the first word of a trivial answer.grok-4.3is the safer xAI model for a voice pipeline.- Gemini has no
none. Its floor isminimal, which measures zero thinking tokens on all four entries — thenoneof that family under another name.
The matrix
Naming an effort a model does not offer is refused with the list it does offer. Naming one on a model with no such setting is refused too.
In the dashboard the control is a Thinking select beside the model, in this order, and it disappears entirely on a model with fewer than two values.
The post-call analysis model takes its own
reasoning_effort and is checked the same way. It never inherits the live model’s, because analysis runs after the caller has hung up. See call analysis.builtin_tools
These are tools the model provider runs on its own servers during the agent’s turn: a web search, an X search, a Python sandbox, a document store the provider hosts. The provider searches or executes and folds the result into its own reply — Talqing never sees the call.
They are not Talqing tools. There is nothing to create, publish, attach or version, no operation tree, and nothing runs on our side. Each entry is {type, config}, and the only valid types and config keys are the ones the chosen model’s catalog entry lists.
Setting them
config is valid and means the provider’s own defaults. In the dashboard each tool is a switch inside the Models card, under the model that offers it, with its options in a band underneath.
What each model offers
Which tools exist is a property of the model, not of the agent, so changing the model drops any tool the new one does not offer. Check the catalog before switching.
Domain and handle filters come in pairs, and the provider rejects a request carrying both — so setting
allowed_domains and excluded_domains together, or the two X handle lists together, is a save error rather than a failure on a live call. The dashboard disables the second field as soon as the first has a value.
OpenAI’s code_interpreter needs a container, and the only one Talqing can offer is auto-provisioned: a container id would have to be created in your own OpenAI account first. memory_limit writes inside that container.
file_search at OpenAI and xAI’s file_search (labelled Collections search) are not Talqing knowledge bases. The store lives in your own provider account, and you create and fill it there. For a knowledge base Talqing builds and the agent queries through a tool, see knowledge.What each one costs
Charged by the provider on your own key, on top of tokens, and absent from Talqing’s cost estimate.Rules
The fallback carries its own
llm.fallback.builtin_tools is a separate list, validated against the fallback’s own catalog entry. Nothing is copied down from the primary, because the same tool name is a different object at each vendor — xAI’s code interpreter takes no fields and OpenAI’s requires a container. A fallback with fewer tools, or none, is fine: it keeps the call and loses the search, which is the right way round. The same is true of reasoning_effort and priority. See model fallbacks.
Next
Models
Every model with its thinking settings, provider tools and price.
Prompting
Telling the agent to say it is looking something up.
Tools
Tools you build and Talqing runs, which is a different thing entirely.