Ask AI with web search and keep its sources
A model answers from what it remembers. For anything that changes — a price, a fee, a rate, a deadline, who holds a post — that memory can be out of date, and the answer reads just as confident either way.
Turn on Search the web in an Ask AI step and the model can look the answer up first, the way ChatGPT or Claude do when you use them yourself. The step then hands you two things: the answer, and the pages it relied on.
Turn it on
Section titled “Turn it on”Open the Ask AI step and set:
| Field | What to put there |
|---|---|
| Search the web | On |
| Search country | Optional — the field appears once Search the web is on. A two-letter country code such as CZ, SK or DE, so “the savings bank” means the one in that country. Leave it blank for no location |
Everything else about the step works as before. With Search the web off, the step behaves exactly as it always did.
What you get back
Section titled “What you get back”With search on, the step has three more outputs. For a step labelled rate:
| Output | What it holds |
|---|---|
{{ rate.citations }} | The pages the answer cites, each with a url and a title. No repeats, in the order the answer cites them |
{{ rate.search_queries }} | What the model searched for, in order |
{{ rate.web_searched }} | true when the model searched, false when it answered without searching |
The answer itself is where it always is — {{ rate.text }}. It usually carries its own inline links to the sources as well.
Showing the sources
Section titled “Showing the sources”citations is a list, so loop over it wherever you write the answer out — an email, a note, a document:
{{ rate.text }}
Sources:{% for page in rate.citations %}- {{ page.title or page.url }}: {{ page.url }}{% endfor %}For one line of links, {{ rate.citations | map(attribute='url') | join(', ') }} does it.
Acting on whether it searched
Section titled “Acting on whether it searched”If an answer without a source is not good enough for the job, check before you use it. Put a Branch after the step with this condition, and send the NO arm to a person instead of onward:
{{ rate.citations | length > 0 }}It never quietly answers without search
Section titled “It never quietly answers without search”This is the part that matters when the answer feeds a decision. An answer the model made up from memory looks exactly like one it looked up, so Routario does not let one stand in for the other:
- Web search needs a Microsoft Foundry or OpenAI model. If the step’s model cannot search, the step fails and says so —
… cannot search the web. It does not answer from memory instead. - A fallback model that cannot search is skipped, and the next one is tried. If none of them can search, the step fails.
- If the provider does not confirm the search tool was available, the step fails rather than return the answer.
So a step with search on gives you one of two things: an answer that had search available, or a clear failure you can see and act on. Which model a step uses is set on Settings → AI → Routing, or in the step’s own Model override.
Time and cost
Section titled “Time and cost”A searched answer takes longer and costs more than a plain one, because the pages the model finds become part of what it reads.
- Time. From ten seconds to over a minute, where a plain answer takes a few seconds. The step waits up to about four minutes for the model before giving up — twice the usual limit — unless you set your own Timeout.
- Tokens. One search adds several thousand input tokens; a harder question that takes a few searches can read tens of thousands. You can see each call on the AI Call Log.
- Many at once. A lot of searched steps running in parallel can hit the provider’s rate limit. Routario waits and retries twice before giving up on that model, so run a big batch a few at a time.
Keep search for the questions that need it. A step that classifies an email or rewrites a paragraph gains nothing from it.
Worked example: a rate you can check
Section titled “Worked example: a rate you can check”Every Monday, record the central bank’s current base rate with the page it came from.
-
Schedule (Cron) trigger — Mondays at 08:00.
-
Ask AI (label:
rate) with the prompt:What is the Czech National Bank's current two-week repo rate,and on what date did it last change? Answer in one sentence.Set Search the web to on and Search country to
CZ. -
Branch on
{{ rate.citations | length > 0 }}.- YES → a Create record step that stores
{{ rate.text }}and{{ rate.citations[0].url }}in your table, so every figure has its source beside it. - NO → a Send notification step: “This week’s rate came back without a source — check it by hand.”
- YES → a Create record step that stores
Run it once from the canvas and open the run’s step log. The Ask AI entry’s output shows the answer, the queries the model wrote, and the pages it cited.
Where to go next
Section titled “Where to go next”- Ask AI — reference — every field and output on the step.
- Audit what AI assistants say about you — a whole Job built on this step: a fixed set of questions every month, every answer and its sources kept, wrong figures confirmed by a person.
- Branch on an AI decision — turn an answer into a value you can route on.
- See what your AI is costing you — find the steps that read the most.
- Keep a human in the loop — for the answers that need a second pair of eyes.