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

# Knowledge Sources

> Add documents, websites, videos, and other content to your knowledge base — PDFs, URLs, YouTube, GitHub, and more.

# Adding Knowledge Sources

thinnestAI supports a variety of content sources. This guide walks through each type with setup instructions and tips.

## File Uploads

Upload documents directly from your computer. This is the most common way to add knowledge.

### Supported File Types

* **PDF** — Reports, manuals, whitepapers, ebooks
* **DOCX** — Word documents
* **TXT** — Plain text files
* **Markdown** — `.md` files with formatting preserved

### How to Upload Files

1. Open your knowledge base.
2. Click **Add Source** > **File Upload**.
3. Drag and drop files or click **Browse** to select them.
4. You can upload multiple files at once (batch upload).
5. Click **Upload** and wait for processing.

### Batch Upload

Upload multiple files in a single operation:

1. Select all files you want to upload (Ctrl/Cmd + click to select multiple).
2. Drop them into the upload area.
3. All files are processed in parallel.
4. Each file becomes a separate source that you can manage independently.

### Tips for File Uploads

* **Use descriptive filenames** — The filename is used as metadata and helps with search relevance.
* **Clean formatting** — Well-structured PDFs with headings and paragraphs produce better chunks than scanned images.
* **OCR limitation** — Scanned PDFs without selectable text may not extract properly. Use OCR-processed versions when possible.
* **Remove headers/footers** — Repeated headers and footers in PDFs can add noise to your knowledge base.

## URL Sources

Import content from any public web page. thinnestAI scrapes the page and extracts the main content.

### Adding a URL

1. Click **Add Source** > **URL**.
2. Paste the web page URL:

```bash theme={null}
https://docs.yourcompany.com/getting-started
```

3. Click **Add**. thinnestAI fetches and processes the page content.

### Crawling Multiple Pages

You can add multiple URLs to cover an entire documentation site:

```bash theme={null}
# Add each important page as a separate URL source
https://docs.yourcompany.com/getting-started
https://docs.yourcompany.com/features
https://docs.yourcompany.com/pricing
https://docs.yourcompany.com/faq
```

### URL Tips

* **Public pages only** — The URL must be publicly accessible (no login required).
* **Main content extracted** — Navigation, sidebars, and footers are automatically stripped. Only the main content is indexed.
* **Dynamic content** — JavaScript-rendered content (SPAs) may not be fully captured. For complex pages, consider copying the content as text instead.
* **Refresh manually** — URL sources are fetched once. If the page content changes, delete the source and re-add it to get the updated version.

## YouTube Videos

Extract transcripts from YouTube videos and add them to your knowledge base. Great for training videos, webinars, and tutorials.

### Adding a YouTube Video

1. Click **Add Source** > **YouTube**.
2. Paste the YouTube video URL:

```bash theme={null}
https://www.youtube.com/watch?v=dQw4w9WgXcQ
```

3. Click **Add**. thinnestAI extracts the video transcript automatically.

### How It Works

* The transcript (auto-generated or manually added captions) is extracted.
* Timestamps are preserved as metadata.
* The full transcript is chunked and indexed like any other text.

### YouTube Tips

* **Captions required** — The video must have captions (auto-generated or manual). Videos without captions cannot be transcribed.
* **Manual captions preferred** — If available, manual captions are more accurate than auto-generated ones.
* **Long videos** — Webinars and long-form content work well. The transcript is chunked into manageable segments.

## Text Input

Paste text directly into the knowledge base. Useful for FAQs, quick reference content, or information that doesn't exist in a document.

### Adding Text

1. Click **Add Source** > **Text**.
2. Give the source a **title** (e.g., "Refund Policy" or "Product FAQ").
3. Paste or type your content in the text area.
4. Click **Add**.

### When to Use Text Input

* **FAQs** — Paste frequently asked questions and answers.
* **Quick updates** — Add a new policy or announcement without creating a document.
* **Structured data** — Paste formatted tables or lists.
* **Corrections** — Add clarifications or overrides for content in other sources.

### Example: Adding an FAQ

**Title:** Common Questions

**Content:**

```
Q: What are your business hours?
A: We're open Monday through Friday, 9 AM to 6 PM Eastern Time.

Q: Do you offer free trials?
A: Yes! All plans come with a 14-day free trial. No credit card required.

Q: How do I cancel my subscription?
A: Go to Settings > Billing > Cancel Subscription. You can cancel anytime.

Q: Do you offer refunds?
A: We offer full refunds within 30 days of purchase. Contact support@acme.com.
```

## GitHub Repositories

Import documentation and code from GitHub repositories. Ideal for technical products where docs live alongside code.

### Adding a GitHub Repository

1. Click **Add Source** > **GitHub**.
2. Enter the repository URL:

```bash theme={null}
https://github.com/your-org/your-repo
```

3. Configure import options:

| Setting         | Description                                                |
| --------------- | ---------------------------------------------------------- |
| **Branch**      | Which branch to import (default: `main`)                   |
| **Path filter** | Limit to specific directories (e.g., `docs/`, `README.md`) |
| **File types**  | Which file extensions to include (`.md`, `.txt`, `.rst`)   |

4. Authenticate with GitHub if the repository is private.
5. Click **Add**.

### GitHub Tips

* **Filter by path** — Use `docs/` to import only documentation, not source code.
* **Markdown files** — `.md` and `.mdx` files are parsed with formatting preserved.
* **README files** — Great starting points for project overviews.
* **Code files** — You can import code files too, useful for agents that help developers.

## Azure Blob Storage

Connect to Azure Blob Storage to import files stored in the cloud.

### Setting Up Azure Blob

1. Click **Add Source** > **Azure Blob Storage**.
2. Enter your Azure connection details:

```bash theme={null}
AZURE_STORAGE_ACCOUNT=your_storage_account
AZURE_STORAGE_KEY=your_storage_key
AZURE_CONTAINER_NAME=your_container
```

3. Optionally specify a **prefix** to filter which blobs to import.
4. Click **Connect**.

thinnestAI imports all supported files from the specified container and processes them.

### Azure Tips

* **Supported formats** — Only files in supported formats (PDF, DOCX, TXT, etc.) are imported.
* **Large containers** — Use the prefix filter to target specific folders rather than importing everything.
* **Refresh** — Re-sync to pick up new files added after the initial import.

## SharePoint

Import documents from Microsoft SharePoint sites.

### Setting Up SharePoint

1. Click **Add Source** > **SharePoint**.
2. Authenticate with your Microsoft account.
3. Select the SharePoint site and document library.
4. Optionally filter by folder path.
5. Click **Import**.

### SharePoint Tips

* **Permissions** — You need at least read access to the SharePoint site.
* **Document libraries** — Only document libraries are supported (not lists or pages).
* **Supported formats** — Same file format support as direct uploads.

## Excel Workbooks

Import structured data from Excel files (`.xlsx`).

### Adding Excel Files

1. Click **Add Source** > **Excel** (or upload an `.xlsx` file via File Upload).
2. Select the file.
3. Configure how the data should be processed:

| Setting        | Description                              |
| -------------- | ---------------------------------------- |
| **Sheet**      | Which sheet to import (or all sheets)    |
| **Header row** | Row number containing column headers     |
| **Data range** | Specific cell range to import (optional) |

### Excel Tips

* **Headers matter** — Clear column headers help the agent understand the data structure.
* **One topic per sheet** — Organize related data in separate sheets for better results.
* **Clean data** — Remove empty rows, merged cells, and complex formatting before importing.
* **Large spreadsheets** — For very large files, consider importing specific sheets or ranges rather than the entire workbook.

## Managing Sources

### Viewing Sources

Open your knowledge base to see all sources with their:

* **Name** — The source title or filename
* **Type** — File, URL, YouTube, Text, etc.
* **Status** — Processing, Ready, or Error
* **Added** — When the source was added
* **Size** — Content size after processing

### Deleting Sources

1. Find the source in the list.
2. Click the delete icon or select **Delete**.
3. Confirm the deletion.

The source and all its indexed content are removed immediately. This may affect agent responses that relied on that content.

### Updating Sources

To update a source with new content:

1. **Files** — Delete the old file and upload the new version.
2. **URLs** — Delete and re-add the URL to fetch the latest page content.
3. **Text** — Edit the text source directly.

## Next Steps

* **[Supported Formats & Limits](/docs/knowledge/supported-formats)** — File sizes, format details, and processing limits.
* **[Knowledge Overview](/docs/knowledge)** — How to assign knowledge to agents and how search works.
