> ## Documentation Index
> Fetch the complete documentation index at: https://sitegpt.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# How training works

> What your chatbot can learn from, how training works, and how to keep answers accurate.

Your chatbot answers from the content you give it. This page explains the
kinds of content SiteGPT can learn from, what happens during training, and how
to check on it.

## The four kinds of content

<CardGroup cols={2}>
  <Card title="Website Links" icon="link" href="/docs/content/website-links">
    Crawl your site, import a sitemap, paste a list of URLs, or add YouTube
    videos. The most common starting point.
  </Card>

  <Card title="Files & Data Sources" icon="folder-open" href="/docs/content/files">
    Upload files directly, or connect Notion, Google Drive, Dropbox, OneDrive,
    Box, and GitHub.
  </Card>

  <Card title="Text Snippets" icon="text" href="/docs/features/text-snippets">
    Paste plain text the chatbot should know that does not live on any page,
    like internal policies or product one-liners.
  </Card>

  <Card title="Custom Responses" icon="messages-question" href="/docs/features/custom-responses">
    Exact question-and-answer pairs. These take priority over generated
    answers, so use them for questions where wording matters.
  </Card>
</CardGroup>

## What happens when you add content

<Steps>
  <Step title="SiteGPT fetches and cleans the content">
    For links, the page is fetched and boilerplate (navigation, footers) is
    stripped. You can tune this per import with
    [scrape options](/docs/content/website-links#scrape-options). For files, the
    text is extracted.
  </Step>

  <Step title="The content is indexed">
    The cleaned text is split into passages and indexed so the chatbot can
    find the right passages for each question. This is what "training" means
    in SiteGPT. Your original files are not shared with other customers.
  </Step>

  <Step title="Status updates live">
    Every document shows a status badge that updates in real time:

    | Status      | Meaning                                                                                           |
    | ----------- | ------------------------------------------------------------------------------------------------- |
    | **Trained** | Indexed and used for answers.                                                                     |
    | **Pending** | Queued or processing. Small imports finish in minutes.                                            |
    | **Failed**  | Could not be fetched or processed. Open the row for the error, fix the cause, and use **Resync**. |
  </Step>
</Steps>

<Note>
  Content counts against your plan's **pages quota**. One page equals 2,500
  cleaned characters, so a long document may count as several pages. See
  [Pages quota](/docs/features/pages-quota).
</Note>

## Keeping answers accurate

* **Retrain after content changes.** Select the links that changed and use the
  bulk **Resync** button, or let [auto-sync](/docs/features/auto-sync) re-crawl them
  on a schedule.
* **Fix wrong answers at the source.** Ask the question in the dashboard
  preview, open the cited source, and correct or remove that content.
* **Pin exact answers.** For questions where the wording must be exact
  (pricing, legal, policies), add a
  [custom response](/docs/features/custom-responses). It always wins over
  generated answers.
* **Remove what you do not want.** Select any links or files and delete them.
  The chatbot stops using them immediately, and your pages quota is freed.

## Managing your content

The **Website Links** and **Files & Data Sources** pages share the same
tools:

* **Live status counts** across the top: Total, Trained, Pending, Failed.
  Select a card to filter the list.
* **Search** to find documents by name or URL.
* **Bulk actions**: select rows to resync or delete them together.
* **Export** the current view to CSV with the download button.
* **Per-document view**: open any row to see its content, error details, and
  source files.
