Guide

What the Refresh Stale Sources Button Actually Does

5 minute read · Updated August 16, 2026

If you trained your AI assistant on pages from your own website, those pages have moved on. The copy on them was rewritten, the prices changed, a policy was replaced. The assistant did not notice, because what it holds is the text as it was on the day you imported it.

The AI training screen has one control for this: a Refresh stale sources button. It is worth understanding exactly what it does, because it is more limited than it looks in two ways and more destructive than it looks in one.

What counts as stale

The button only ever touches URL sources. Text you pasted in by hand and question-and-answer pairs you typed are left alone, which is correct — there is no remote copy of those to re-fetch. A URL source is considered for refresh only when all of these are true:

  • It is a URL source rather than pasted text or an FAQ entry.
  • It is enabled. A source you toggled off is skipped entirely, so switching something off also freezes its content.
  • It actually has a URL stored against it.
  • It was last fetched more than 30 days ago, or has never been fetched at all.

Never-fetched sources sort first, then the oldest, so the material most likely to be wrong is handled before anything else. That ordering matters more than it sounds, because of the cap.

Fifty per click, and the number is fixed

Each run takes at most 50 sources. The confirmation dialog says so plainly, and it tells you the remedy: run it again for the next batch. If you imported two hundred pages from your documentation site, a full refresh is four clicks, not one.

The thirty-day window is also fixed in practice. The server method accepts a number of days and will accept anything from 1 to 365, but the dashboard button always sends 30. There is no control on the screen to widen or narrow it. So if you want to re-fetch something you imported a week ago, this button will not do it — it does not consider that source stale yet. Do it by hand instead: open the source, use the fetch control in the editor to pull the page again, and save. That replaces the stored text straight away. One wrinkle worth knowing is that saving this way does not update the source's last-checked date, so it will still look overdue and will be fetched again by the next refresh run. Harmless, but not the confirmation you might expect.

The count shown on the screen is measured the same way, against the same thirty-day line, so the badge and the button agree about what is stale.

A refresh replaces, it does not merge

When a fetch succeeds, the stored text for that source is overwritten wholesale with whatever the page returns now. The old text is not versioned and not kept. This is the destructive part, and it is usually what you want, but it has an edge worth naming: if a page has since been moved behind a login, replaced with a redirect stub, or turned into a mostly-empty template, the assistant loses good content and gains nothing useful.

This is the argument for importing the pages you actually control and keeping the list short enough to recognise. A source list nobody can read is a source list nobody can sanity-check after a refresh.

A failed fetch still resets the clock

This is the behaviour that surprises people, and it is deliberate. If the fetch fails — the page 404s, times out, or returns nothing usable — the source is marked with an error status and the failure reason is stored against it. The last-checked timestamp is bumped anyway.

The reasoning is sound: without it, a permanently dead URL would be retried on every single run, burning one of your fifty slots forever. With it, a dead source drops out of the stale list and comes back around when the next thirty days have passed.

The consequence is what you have to watch. A source that failed looks, to the stale count, exactly like a source that succeeded. Both are recent. So you cannot use the stale badge as a health check. A source can sit broken for a month at a time while the screen reports nothing to do, and the assistant keeps answering from text that is now a year old.

The run itself does tell you. The summary reports how many were refreshed out of how many were attempted and how many failed, and it lists up to five failing URLs with their error. Read that summary rather than dismissing it, and if the failure count is not zero, deal with those URLs then, because the screen will not remind you afterwards. The status recorded against each source is visible in the list once it reloads, which is where to look if more than five failed.

Nothing runs this for you

There is no scheduler behind this. No nightly job, no background sweep, nothing that re-fetches your sources while you are not looking. The button is the only thing that triggers a refresh, and it only runs while you are on the page watching it. If nobody clicks it, nothing is ever re-fetched.

That is not a criticism of the design so much as the single most important thing to know about it. Keeping AI answers current is a task somebody on your team owns, and this button is a tool for doing it, not a substitute for doing it.

Putting it into a routine

A workable habit for most teams:

  1. Tie it to your own release rhythm. When you publish a pricing change, a policy rewrite or a new product page, refresh then — the calendar is a worse trigger than the change itself.
  2. Click until it comes back clean. If you have more than fifty stale sources, keep going until the message says there is nothing left to refresh.
  3. Read the failure list every time, and fix or remove what is in it. A source that cannot be fetched is not neutral, it is stale content the assistant still trusts.
  4. Prune rather than only adding. Deleting a source that no longer reflects how you work is usually worth more than refreshing it, and a shorter list makes every future run easier to check.
  5. Spot-check an answer afterwards. Ask the assistant the question that should have changed. That is the only end-to-end confirmation that the refresh did what you wanted.

You can see the whole source list, its status and when each entry was last fetched on the AI training screen in your dashboard.

Refreshing keeps existing sources current; adding new ones is a separate habit. For the richest untapped supply, which resolved tickets your AI can safely learn from covers turning closed conversations into reviewed material.

Deciding which sources are worth refreshing first is a separate question from what a refresh does. Where your AI source suggestions come from explains the queue that ranks them for you.

Put it into practice

MyLiveChat gives you live chat, AI answers and a shared helpdesk in one place. Free plan, no card required.

Free forever for 1 agent

Give every visitor an instant way to reach you.

Launch live chat, connect your knowledge base, and add AI answers when you are ready. No credit card, no trial clock.