Michael Limberger
Need me? Email mike@limberger.ca
AI
Workspace Tools
A phone for the employee
Custom models control how a model behaves. Tools give it new abilities. A base model only knows its training data. Add a tool and it can search the web, run calculations, fetch live data, or talk to external services. In OpenWebUI, tools are Python functions you attach to a model (or enable globally) so the model can call them mid-conversation.
A great system prompt is a smart employee who knows the job. A tool is a phone, a calculator, or the internet. Tonight the useful example is web search powered by Perplexity.
Local models have a knowledge cutoff. Ask about last week and they guess or refuse. Web search looks things up now. Without it, "What's the weather in Toronto?" is a shrug. With it, you can get a real answer. Perplexity is a search engine built for AI: clean, sourced answers, not a pile of raw links. You need an API key from perplexity.ai. The free tier is enough to test.
The simple path: built-in web search
Current OpenWebUI builds can wire Perplexity without pasting a community script. Open Admin Panel, then Settings, then Web Search. Enable Web Search, set the engine to Perplexity (or Perplexity Search, depending on your version), paste your API key, and save.
Then make sure the model (or the chat) has Web Search capability turned on. Ask something current and watch the status line show a search step before the answer.
That path is the one I would start with in 2026. It stays inside the product UI, so you are not maintaining a pasted Python file when OpenWebUI updates.
The Workspace Tools path
If you want a custom tool instead, open Workspace, then the Tools tab, then +. Paste a community tool (or one you wrote), set its valves, and assign it to a model with Tool Bindings, or enable it globally under Admin, Settings, Tools.
For a Perplexity-style tool, the valves you care about are usually:
PERPLEXITY_API_KEY Your API key from perplexity.ai
PERPLEXITY_MODEL Often sonar-pro by default
SEARCH_CONTEXT_SIZE low / medium / high
TIMEOUT_SECONDS raise this for slower models
include_citations usually leave on
search_recency hour / day / week / month / empty
Community tools move around as OpenWebUI versions change. Prefer a tool that matches your OpenWebUI version, and treat the paste box like production code: read it before you enable it.
Good test prompts once search is attached:
What happened in the news today?
What is the current price of Bitcoin?
What are the latest updates to OpenWebUI?
Watch the status indicator under the chat. You should see something like Searching…, then a query step, then Found X sources. The reply should include current information with citations. Ask the same question without search and the difference is obvious.
How it works under the hood
When the model decides it needs current information, it calls a search function. Roughly:
1. The model generates a search query from your question
2. The tool (or built-in search) sends that query to Perplexity
3. Perplexity returns an answer with source citations
4. Those results come back into the chat context
5. The model writes a reply that uses the fresh results
The model decides when to search. A general knowledge question it already knows may skip the tool. A question about today usually triggers it.
Other tools worth knowing about
The OpenWebUI community has built dozens of tools. A few popular ones:
Code Interpreter: Runs Python code directly in the conversation
URL Fetcher: Reads the contents of a web page
Calculator: Does precise math (models are bad at math)
YouTube Transcript: Pulls transcripts from YouTube videos
Browse community tools on openwebui.com or in the GitHub ecosystem. Installing them is the same process: create a tool, paste the code, configure the settings, bind it.
Next: something visual. We will use a vision model to analyze images directly in the chat.