Docs · 16

Frequently asked questions

Models, knowledge, tools that were not used, memory, anonymous users, sign-in, tool failures, testing safely, costs and storage.

Which models can I use? Any model reachable through OpenRouter, OpenAI, Anthropic, a vLLM server or Ollama, configured under your organisation's model providers. Each agent and each LLM node picks its own model.

How do I make the assistant answer from my documents? Create a knowledge base, add the documents, create an index, test retrieval, then attach the knowledge base in the agent's Knowledge tab. The default workflow already contains a knowledge retrieval node.

Why did my agent not use a tool? Open the run in Logs. The toolbox step shows which tools were bound for each model call and why others were excluded (for example, tool selection kept only the top matches). The generation shows the exact tool definitions the model received. If the tool was not bound, raise max tools, pin the tool, or let the model widen its tool set with search_tools.

Why did the model call a tool that was not available? With tool selection on, the model sees which tools are bound and which are not. If another tool's description tells it to call an unbound tool, it may try; the call returns an explicit error and the model binds the tool on its next turn. Pinning companion tools together avoids the extra turn.

How do I let the assistant remember users? Set the agent's Memory tab to "remember this user" and let the app identify users with an identity token. Memory candidates appear for approval unless automatic saving is enabled.

Can end users chat without an account? Yes, when the app's auth context enforcement is "allow anonymous". Switch to "require verified" when the assistant must know who it is talking to.

How do I sign a user in on my website? After login, your backend signs a JWT with the app secret containing at least sub and exp, and your page calls AgentRow.identify(token). Never sign tokens in the browser.

How do I hide tool activity from end users? Per tool, set widget events to hidden. For built-in tools, use the app's Install tab setting. Developers embedding the widget can also turn tool activity off entirely.

What happens when a tool fails? The failure is returned to the model as an explicit error, logged on the tool call, and the model decides how to answer. Nothing is retried or substituted silently beyond the retry policy you configured.

How do I test changes without affecting users? Edit the draft and use the test chat. End users keep the published version until you publish.

How can I see what a run cost? Open the run: tokens and cost appear per generation and in the run total. Analytics and Usage aggregate them by agent, app and period.

Where are conversations stored and can I delete them? In your AgentRow organisation. Deleting a conversation removes its messages, runs, logs and checkpoints; shared retrieved text is kept only while other conversations reference it.

Can I build my own chat UI instead of the widget? Yes. The widget script exposes a headless client with the same session, streaming and conversation methods, and the end-user API can be called directly from your own frontend or backend.

Can agents call other agents? Yes. The "agent" tool type calls another agent as a tool, and apps route between several agents.

What is a toolbox? The workflow node that holds the tools for a model call and runs the calls the model makes. Agents can have more than one, each with its own tools, selection rules and limits.

What is Finalize? The last node of a workflow. It produces the visible answer, applies formatting, citations and guardrails, and is the only place from which text streams to the user.