> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/ai-voice-agents/how-to-set-up-your-ai-voice-agent/brains.md).

# Brains

Knowledge bases that power your Voice and Text Agents: upload files, add web pages, or paste text to build a searchable memory source your agents draw on.

## What is a Brain, and how do I create one?

A Brain is a knowledge base that gives your Voice or Text Agent custom information to draw on during conversations. Create one from Data Studio, Brains, name it, and add at least one source: uploaded files, web pages, or pasted text. Once processing finishes, assign it to up to 5 agents from that agent's Settings.

### Getting Started

#### Create Your First Brain

1. Navigate to the **Brains** section from the main menu (Sidebar → Data Studio → Brains).
2. Click the **Create Brain** button.
3. Enter a name for your Brain (up to 40 characters).
4. Add at least one source using any of the following methods:
   * **Upload Files** — Select documents from your computer.
   * **Add Web Pages** — Enter a domain to discover pages automatically, or add URLs manually.
   * **Add Text** — Type or paste text content directly.
5. Click **Save** to create your Brain.

Your Brain will begin processing immediately. You can monitor its status from the Brains list.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-e3792ac13a9cb37b69dfbcaf7a1a0024225f66ae%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

***

### Managing Brains

#### Brains List

The Brains page displays all your knowledge bases as cards in a grid layout. Each card shows:

* **Brain name**
* **Status** indicator
* **Number of sources** (file count)
* **Total storage size**

Use the **search bar** at the top to filter Brains by name. Click the **refresh** button to update the list.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-a5d7f4406abe3033365c6d6709e4ed9fd597206f%2Fbrains-list.png?alt=media" alt=""><figcaption></figcaption></figure>

#### Brain Statuses

| Status         | Description                                                                                |
| -------------- | ------------------------------------------------------------------------------------------ |
| **Pending**    | The Brain has been created and is queued for processing.                                   |
| **Processing** | Sources are being indexed. This may take a few moments depending on the amount of content. |
| **Complete**   | All sources have been processed. The Brain is ready for use by your agents.                |
| **Error**      | Something went wrong during processing. Check individual source statuses for details.      |
| **Deleting**   | The Brain is being removed. The card will be disabled until deletion completes.            |

*Status badges are visible in the Brains list screenshot above — green for Complete, yellow for Pending.*

#### Rename a Brain

1. Open the Brain by clicking its card.
2. Click the **edit icon** next to the Brain name.
3. Enter the new name (up to 40 characters).
4. Click **Save** to confirm, or **Cancel** to discard.

#### Delete a Brain

1. From the Brains list, click the **delete** button on the Brain card.
2. Confirm the deletion in the dialog that appears.

The Brain will enter a **Deleting** status while all associated resources are removed. Once complete, it will disappear from the list.

> **Note:** Deleting a Brain permanently removes all its sources and indexed content. This action cannot be undone.

***

### Adding Sources

You can add sources when creating a Brain or at any time afterward from the Brain detail page. There are three types of sources:

#### Upload Files

1. Click **Add Source** and select **Upload Files**.
2. Select up to 25 files from your computer.
3. Each file is checked as soon as you upload it. A file that can't be used is rejected right away, with one message per file that names the file and says why: for example, the file is over 50 MB, the PDF is damaged or incomplete, or the format isn't supported yet. The other files in the same upload are still added.

**Supported file formats:**

| Category      | Formats                                     |
| ------------- | ------------------------------------------- |
| Documents     | `.pdf`, `.doc`, `.docx`                     |
| Presentations | `.ppt`, `.pptx`                             |
| Text and data | `.txt`, `.md`, `.markdown`, `.csv`, `.json` |

Files in any other format, including images, are rejected with the reason shown. Spreadsheets (`.xls`, `.xlsx`) aren't supported yet: export the sheet to CSV or Markdown and upload that file instead.

*File upload uses the native file picker from your operating system. The picker may still let you select formats that aren't in the table; Dapta rejects them and tells you why.*

#### Add Web Pages

You can add web pages in two ways:

#### Automatic Discovery (Sitemap)

1. Click **Add Source** and select **Add Web Pages**.
2. Enter the website domain (e.g., `example.com`).
3. Click **Discover Pages**.
4. If a sitemap is found, a tree of URLs organized by subdomain will appear.
5. Select the pages you want to include using the checkboxes.
   * Use **Select All** / **Deselect All** for quick selection.
   * Expand subdomains to select individual pages.
6. Click **Add N URLs** to confirm your selection.

#### Manual URL Entry

If no sitemap is found or you prefer to add URLs individually:

1. Click the **Add URL manually** link.
2. Enter the full URL (e.g., `https://example.com/page`).
3. Click **Save**.

> **Tip:** If you omit `https://`, it will be added automatically.

#### Add Text

1. Click **Add Source** and select **Add Text**.
2. Enter a **File Name** — this serves as the title for your text source.
3. Enter the **Text Content** in the text area.
4. Click **Save**.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-20144a62dba992ec68379b537a3aac3e25036ef1%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

***

### Sitemap Discovery

The Sitemap Discovery feature makes it easy to import multiple web pages at once by automatically finding all available pages on a website.

#### How It Works

**Step 1 — Enter Domain** Type the website domain (e.g., `docs.example.com`) and click **Discover Pages**. The system will search for the site's sitemap.

**Step 2 — Select Pages** If pages are found, they appear in an organized tree:

* Pages are grouped by subdomain.
* Each group shows the count of selected vs. total pages.
* Click a subdomain to expand and see individual URLs.
* Use checkboxes to select or deselect pages.
* The counter at the top shows your total selection.

**Step 3 — Confirm** Click the **Add N URLs** button to add the selected pages as sources.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-6ecc0aeaebcdec0fc90018f3dd618350ecac0f6a%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

#### When No Sitemap Is Found

If the system cannot find a sitemap, you will see a message with the option to **Add URL manually**. This allows you to enter specific page URLs one at a time.

***

### Source Management

#### Brain Detail View

Click on any Brain card to open its detail view. Here you can see all sources in a list with the following information:

* **Source name**
* **Status** indicator
* **Type** label (URL, TEXT, or file extension like PDF, DOCX, etc.)
* **File size** (for uploaded documents)
* **Available actions**

Use the **search bar** to filter sources by name.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-be7ad7a830c4b00f1678669e187e6e82157fd2c8%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

#### Source Statuses

| Status         | Description                                                                                                                      |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **Pending**    | The source is queued and waiting to be processed.                                                                                |
| **Processing** | The source is currently being indexed.                                                                                           |
| **Complete**   | The source has been successfully processed and is available for agent queries.                                                   |
| **Error**      | Processing failed. The reason appears under the source name; hover over it to see the full message, the error code and the date. |

If a source fails while you have the Brain open, a message with the source's name and the reason appears within seconds.

**Partial** badge: a **Complete** source can also show a **Partial** badge. It means fewer than half of the file's pages have readable text, for example a PDF made mostly of scanned pages. Hover over the badge to see how many pages were read. Text inside images isn't indexed yet, so your agents only know what the readable pages say.

#### Source Actions

Each source has up to three actions available depending on its status:

| Action       | Available When                                | Description                                                                                                                                                                                                                                                                                                         |
| ------------ | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Download** | Status is Complete and source is a file       | Download the original file to your computer.                                                                                                                                                                                                                                                                        |
| **Retry**    | Status is Error and the problem was temporary | Re-attempt processing the source. Offered for temporary problems, such as a server error, a timeout, or a website that was briefly down or limiting requests.                                                                                                                                                       |
| **Delete**   | Always                                        | Remove the source from the Brain permanently. When the problem can't be fixed by retrying (a damaged file, an unsupported format, a file with no readable text, or a web page that doesn't exist or blocks automatic access), this is the only action offered: delete the source, fix the problem and add it again. |

#### Bulk Operations

You can select multiple sources to perform actions in bulk:

1. Click the **checkbox** on individual source cards to select them.
2. The toolbar will show how many items are selected.
3. Click **Delete selected** to remove all selected sources at once.
4. Confirm the deletion in the dialog.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-c0da22807ee6b585bdbfce5334963a5c4d0483ff%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

> **Warning:** If you delete all sources from a Brain, the Brain itself will also be deleted.

***

### Assigning Brains to Agents

Once a Brain is ready (status **Complete**), you can connect it to your Voice Agents or Text Agents so they can access its knowledge during conversations.

#### Where to Assign Brains

Brains are managed from the **Settings** page of each agent:

1. Open the agent you want to configure (Voice Agent or Text Agent).
2. Navigate to the **Settings** section.
3. Find the **Brains** accordion panel.

You will see a description: *"Connect knowledge bases to give your agent access to specific information and context."*

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-4d40139690b263704608370b7f4b0607559eb68f%2Fagent-brains.png?alt=media" alt=""><figcaption></figcaption></figure>

#### Adding a Brain to an Agent

1. In the **Brains** section, click the **Add Brain** button.
2. A selector modal will appear showing all available Brains with status **Complete**.
   * Use the **search bar** to find a specific Brain by name.
   * Each Brain in the list shows its name, number of sources, and total size.
   * Brains already assigned to the agent are excluded from the list.
3. Click on the Brain you want to add.
4. Click **Save** to confirm.

The Brain will appear in the agent's brain list, and a confirmation message will be shown.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-d0d032f5bb6b38362bc74489ab42a8fe6db974b8%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

> **Tip:** You can also create a new Brain directly from the selector modal without leaving the agent settings page.

#### Removing a Brain from an Agent

1. In the **Brains** section, find the Brain you want to remove.
2. Click the **delete** icon next to it.
3. Confirm the removal in the dialog that appears.

Removing a Brain from an agent does not delete the Brain itself — it only disconnects it from that agent. The Brain remains available and can be reassigned at any time.

#### Brain Limit per Agent

Each agent can have a maximum of **5 Brains** assigned at the same time. When the limit is reached:

* The **Add Brain** button is hidden.
* A label **(Max 5)** is displayed instead.
* If you need to add a different Brain, remove one of the existing ones first.

***

### Limits and Constraints

| Constraint              | Limit                                  |
| ----------------------- | -------------------------------------- |
| Brain name length       | 40 characters                          |
| Maximum file size       | 50 MB per file                         |
| Sources during creation | Up to 25 sources                       |
| File upload batch       | Up to 25 files at once                 |
| Bulk selection          | Up to 25 sources at a time             |
| Brains per agent        | Up to 5 Brains per Voice or Text Agent |

> **Note:** You can add more sources after the Brain is created. The 25-source limit only applies to the initial creation and per-batch uploads.

#### Duplicate Detection

The system automatically detects duplicate sources to prevent redundant processing:

* **URLs** — Duplicate URLs are rejected.
* **Files** — Files with identical names are flagged.
* **Text** — Text entries with the same title are prevented.

If a duplicate is detected, you will see a notification explaining which source already exists.

***

### Troubleshooting

#### A source shows "Error" status

Read the reason under the source name, or hover over it to see the full message, the error code and the date.

* If the source has a **Retry** button, the problem was temporary. Click **Retry** to process it again.
* If it only offers **Delete**, retrying won't help. Delete the source, fix the file (for example, download it again from where it came from, or export it to a supported format) and upload it again.

#### My file was rejected during upload

Each rejected file gets its own message that names the file and gives the reason:

* **The file is over 50 MB.** Split it or reduce its size, then upload it again.
* **The PDF is damaged or incomplete.** This usually means the download didn't finish. Download it again from its source and upload the new copy.
* **The format isn't supported yet.** Check the formats listed in the [Upload Files](#upload-files) section. For a spreadsheet, export it to CSV or Markdown first.

The other files in the same upload are still added.

#### Sitemap discovery finds no pages

Not all websites have a sitemap. If discovery fails, use the **Add URL manually** option to enter specific page URLs.

#### My Brain is stuck in "Processing" status

Processing time depends on the number and size of your sources. Large files or many web pages may take longer. A file Dapta can't read moves to **Error** with the reason instead of staying in Processing. If the status does not change after several minutes, click the **refresh** button.

#### A source shows a "Partial" badge

The file was processed, but fewer than half of its pages have readable text, usually because they are scanned pages or images. Hover over the badge to see how many pages were read. Text inside images isn't indexed yet, so if your agent needs what those pages say, add it with **Add Text**.

#### I accidentally deleted a source

Deleted sources cannot be recovered. You will need to upload the file, add the URL, or enter the text again.

#### My Brain card shows "Deleting" and I cannot interact with it

The Brain is being removed in the background. This process deletes all associated files and indexed data. The card will disappear from the list once the process completes.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/ai-voice-agents/how-to-set-up-your-ai-voice-agent/brains.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
