Skip to content

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.

Open the Ask AI step and set:

FieldWhat to put there
Search the webOn
Search countryOptional — 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.

With search on, the step has three more outputs. For a step labelled rate:

OutputWhat 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.

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.

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 }}

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.

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.

Every Monday, record the central bank’s current base rate with the page it came from.

  1. Schedule (Cron) trigger — Mondays at 08:00.

  2. 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.

  3. 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.”

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.