New — Sohay now answers WooCommerce product, policy & cart questions. See how →

When a Knowledge Base sync fails

What each sync state means, which ones resolve themselves, and what to do about the one that does not.

Sohay → KB Settings → Dashboard shows a count against each sync state. Most of them are transient. One is not.

State Meaning Do anything?
Synced Indexed and searchable No
Syncing In progress right now No — wait
Pending Queued, not processed yet No — wait
Outdated Changed since last indexed Usually no — a sync is queued
Error The last attempt failed Yes

Pending or Outdated that will not clear

Both should resolve within a minute or two. If they sit there:

Check background tasks are running. Syncs are queued and run out of band, so they depend on your site processing scheduled work. On a site with very little traffic, or one where WP-Cron has been disabled without a replacement system cron, queued jobs simply never run.

That is the usual cause of a queue that never drains, and it affects far more than Sohay — anything scheduled on the site will be stuck too.

Check auto-sync is on. If it was switched off under KB Settings, edits queue nothing. Turn it back on, then press Sync All Articles once to catch up.

Error

An article in Error state will not retry itself. Common causes, roughly in order:

No OpenAI key. Indexing runs on OpenAI whichever provider answers your chats. On a Gemini site with no OpenAI key saved, every sync fails. This is the most common cause by some distance.

The key is rejected. Revoked, mistyped, or carrying whitespace from a copy-paste. Sohay → Diagnostics will show the provider’s own error.

No credit on the provider account. A key that authenticates fine still fails every request if the account has no balance.

The article is empty after processing. Markup, scripts, embeds, and media are stripped before indexing. An article that is entirely a screenshot or a video has no text to index. The fix is to add real text — see Article length and how content is processed.

A transient provider outage. If Diagnostics shows a burst of failures at one timestamp and nothing since, retrying is all that is needed.

Retrying

Once you have fixed the cause, press Sync All Articles on the Dashboard. Articles already synced are cheap to reconcile, so a full pass is the simple way to clear a mixed state.

If deleting an article left something behind

Sohay reconciles orphaned remote data on a daily job, so an article deleted while auto-sync was off gets cleaned up without you doing anything. There is also a Delete KB data from OpenAI button under KB Settings for starting the index over from scratch — it removes everything remotely, and you re-sync afterwards.

That button is destructive and irreversible on the remote side. It is the right tool for a genuinely corrupted index and the wrong one for a single stuck article.

Where to go next

Syncing articles to the AI index for how the normal path works, and Reading the Diagnostics screen and the log for the underlying errors.

Mithun B.
Mithun B.

More articles by Mithun B..

View all posts

Give your website an assistant that answers from your content

Grounded answers, a team inbox, and store-aware tools — free on WordPress.org.

Add Sohay — Free

Free plugin · You bring your OpenAI key · Works with any theme