Data Sources & RAG

Overview of Data Sources, RAG, and source connectivity

Data Sources (RAG)

Data sources are the foundation for retrieval-augmented generation (RAG) in meinGPT. Content from connected sources is indexed and made available to your assistants as knowledge. You can also attach a data source directly to a chat when you only want to look something up once.

Add a data source

Open Settings → Data sources and click Add data source:

Files that must not leave your network?

All six sources above run in meinGPT Cloud. If source files and the search index should stay in your own network instead, that's the Outpost — a separate path, not a checkbox on this page.

Citations in answers

Answers from a data source include numbered citations as clickable badges next to the text. Clicking one opens a preview with the title, location, and an excerpt of the original document - and, depending on the data source's sharing settings, an option to open or download the original file.

Attention

Citation isn't clickable? That is not expected behavior. Contact support@meingpt.com with a link to the affected chat so we can investigate.

Release level: what leaves a source

How much is available behind a citation is decided by a setting on the data source — not on the assistant. You find it under Settings → Data sources: click the source, open the Admin tab, setting "What employees get from this source".

LevelWhat leaves the source
Matching passages onlyThe matching passages and the file name
Text onlyPlus the full text of the documents found
Original filesPlus the file itself

Only Original files unlocks opening and downloading the original file from a citation — and lets the assistant load an original file into the chat or the Code Sandbox when needed.

A cloud data source inherits the Cloud Vault's level by default; the selector shows which one that currently is (at present Original files). You only need a level of its own when one source should release less than the rest. For an Outpost data source the level is set exclusively in the Outpost app, where Text only is the preset; the platform only displays the reported value.

Note

A citation opens the copy stored in meinGPT, not a deep link into the source system. Jumping straight to the document in SharePoint or Google Drive is not part of a citation from a data pool.

How search works

Customer knowledge bases are often large. Hundreds or thousands of gigabytes of Word, PDF, and other files are not unusual. Sending every search query through every file would be far too slow. That is why a search index is built up front. It works similar to Google, just for your internal documents.

The initial indexing can take hours to days, depending on the data volume. Word, PDF, and similar formats are binary, so the text has to be extracted first. This one-time effort pays off in fast search results afterwards.

You do not have to wait for all of it. The index is built in two stages: keyword search first, semantic search second. A file is therefore searchable as soon as its keyword index is ready — semantic search follows in the background, file by file. You can see how far each stage has got under Indexing progress.

Search characteristics:

  • Keyword search: Finds exactly the terms you type — case numbers, article numbers, proper names. It is built first and is always available.
  • Semantic: Documents are converted into mathematical representations (called embeddings) that capture meaning, not just individual words. Can be turned off per data source.
  • Sorted by relevance: Hits are ranked by content fit, not by frequency of a search term. A document that thematically matches the question can rank higher than one with the exact keyword.
  • Number of results: By default, the ten most relevant sources are returned. The number is configurable in the settings.
  • Filename search: Besides content, you can also search specifically by filename, for example "Show me file XY".

Attention

No filtering by custom metadata fields. Data sources search file contents (semantically) and file names. You can additionally filter by built-in file properties: path, extension, MIME type, and created/modified dates. Custom metadata fields from source systems are not carried over as separate, filterable fields — at best they exist as plain text inside the document content, so they can only be found via semantic search, not filtered on reliably.

Search settings per data pool

Each data pool has four settings that decide how it is searched (open the data pool → Overview tab):

  • Semantic search — additionally finds what matches in meaning but is worded differently. On by default. Turning it off is worth it when you search for exact terms anyway and the corpus is large: indexing then finishes far sooner and costs less.
  • Passages per answer — how many passages may go into a single answer (default 10, range 1 to 100).
  • Deep search (experimental) — hands retrieval to a dedicated search agent that runs several queries, broadening or narrowing them as needed, instead of a single direct search call. Cloud data pools only, and additionally requires deep search to be enabled for your organization.
  • Improve result ordercurrently has no effect. The switch stores a value that is not evaluated in any search path. Leave it off.

These settings apply per data pool, not per assistant — they take effect the same way whether the pool is used directly in a chat or through an assistant.

Which value to set when, with recommendations per document type: Data pool search settings.

Note

Turning semantic search off later deletes nothing. It only stops new files from being embedded — whatever is already embedded stays searchable. Turning it back on builds semantic search up gradually from the next sync run.

Indexing progress

At the top of a data source's detail page, Indexing shows one bar per stage:

  • Keyword search — how many files are already searchable. Once the first files appear here, the data source is usable.
  • Semantic search — how far the embeddings have caught up. If semantic search is off for this source, that is stated here instead of a bar.

Below that you can see how many files did not make it into the index: failed and skipped ones, each with its reason — such as "no text in the file", "password protected" or "too large for the configured limits". Files whose extension is not on the list of file formats are not counted here: the sync never picks them up in the first place.

If the platform cannot query the progress right now, the section shows the message "Indexing status unavailable" instead — for a cloud data source (CloudVault) because the CloudVault did not answer this status check, for an Outpost data source because the Outpost is offline or unreachable.

Right after creating a source, this is normal

This message can appear before you have uploaded or synced a single file. It only means this one status check failed — not that anything is blocked. Uploading, connecting, and any indexing run already in progress are unaffected and keep working. If it does not clear on its own within a few minutes, contact meinGPT support.

Knowledge Map

Every cloud data source has its own Knowledge Map tab (open the data source → Knowledge Map). It shows how the documents in this pool are actually used - not manually curated, but computed from real searches over the last 30 days:

  • Folder activity: The folders the assistant returns to most often.
  • Knowledge map graph: A network of the documents most frequently retrieved together. Clicking a document shows its retrieval count and connected documents.

Note

The tab needs prior search activity. Until this pool has been searched, the tab shows a message that knowledge is being indexed - this is not an error. The first snapshot usually appears within a few minutes of a search happening against this pool.

Cloud data source at a glance

For most teams, the cloud-based data source is the right choice.

PropertyValue
HostingmeinGPT Cloud (Hetzner, Germany)
Sync intervalEvery 15 minutes
Search results per queryDefault 10, configurable
Search methodKeyword search and semantic search (embeddings, sorted by relevance); semantic search can be turned off per data source
AvailabilityIncluded in the standard package

Connection status

Each data source shows a status dot for its current connection state:

StatusMeaning
🟢 ReadyConnected and syncing regularly.
🟠 Not readyThe connection exists, but the last sync failed or was incomplete.
🔴 UnreachableThe source could not be reached during the last check.
⚪ UnknownStatus has not been determined yet (e.g. right after creation).

Common causes of Unreachable for a single data source:

  • The source's access token (e.g. SharePoint, Google Drive, Confluence) has expired or was revoked
  • Permissions were revoked in the source system
  • Network or firewall changes on the source system's side

Attention

If all of your data sources show "Unreachable" at the same time — including sources with completely different underlying systems (e.g. SharePoint, Google Drive, and Confluence simultaneously) — this usually does not point to a problem with the individual sources, but to a temporary platform-side issue. In that case, contact meinGPT support instead of reconnecting individual sources.

Monitor sync status and fix failures

Every data pool syncs automatically every 15 minutes. If a sync fails, you can see it and fix it directly in meinGPT.

Automatic alert email

Admins automatically get an email when there's a problem with a data pool:

  • Sync failing – a data pool has failed to sync several times in a row. New or changed documents stop being indexed until this is fixed.
  • Data source connection lost – an OAuth connection (e.g. SharePoint) repeatedly fails to refresh its access token.
  • Spike in sync errors – an unusually large share of files errored out during a sync.

Each email links directly to the affected data source in your settings. You can toggle these notifications individually under Settings → Notifications → Data vault alerts.

Check sync status

  1. Open Settings → Data sources
  2. Click the affected data pool
  3. The Sync Logs tab has two sub-tabs: Runs shows recent sync runs as a numeric summary, Logs shows the error message for each individual file

Each row in the Runs sub-tab has three numeric columns:

ColumnMeaning
FoundHow many files this run found in the source - the full listing of the configured scope, not just new or changed files
IngestedHow many of those found files were actually processed and added to the index during this run
ErroredHow many files failed during this run

Note

These three numbers apply only to that one run, not cumulatively to the whole data pool - they reset to 0 at the start of every new sync run. Two consecutive runs can therefore show very different values without that indicating a problem. For the total number of currently indexed files, see Indexing progress at the top of the detail page instead.

If the Errored count is above 0, switch to the Logs sub-tab, filter by Status = error, and open the affected row - the Message column contains the exact error for that specific file, for example a note about a metadata field that could not be processed. That message is the starting point for troubleshooting; if it doesn't make clear what to do, contact support@meingpt.com with the exact wording.

Manually trigger a resync

  1. Open the affected data pool under Settings → Data sources
  2. Click Re-Synchronize to start a new run immediately

Every sync run – whether automatic or manually triggered – also removes entries for files that have been deleted from the linked source. A manual resync is therefore the right way to clear out stale index entries without having to recreate the data source. In rare cases, a single deletion may be missed during the sync and will still be present after a resync – if that happens, reach out to meinGPT support so we can look at the affected data source directly.

Re-authenticate the connection (OAuth sources)

  1. Open the affected data pool under Settings → Data sources
  2. Click Reconnect and authenticate again
  3. Your existing source settings stay unchanged — only the authorization is refreshed

If that doesn't help, contact support@meingpt.com.

"Could not verify account" during initial setup

This message can appear the very first time you connect an OAuth source, before any sync has run - usually because the Microsoft or Google sign-in window closed without returning a valid authorization code. For SharePoint, the most common cause is missing admin consent for the meinGPT application in your Microsoft tenant; details and other causes: SharePoint/OneDrive troubleshooting.

File formats

Well supported are all formats that primarily consist of text:

  • Office documents: DOCX, PPTX, ODT (OpenDocument Text)
  • Spreadsheets: XLSX and XLS (with caveats, see below), and CSV
  • PDF
  • Email files: EML and MSG (see "Emails and attachments" below)
  • TXT, Markdown, RTF, EPUB, HTML

What gets skipped during sync

  • File extensions not listed here. Only the formats above are made searchable. Files with other extensions (for example .json) are not added to the data pool during sync - they appear neither in the file list, nor as an error in the Sync Logs, nor in the count of skipped files. If an expected file is missing, check its extension against the list above first.
  • Image files. PNG, JPG and other image formats are not on the list and are skipped by default. Images inside documents are read, however - how that works, how to lay images out for it, and how an image becomes visible in chat is covered in Images in a data pool.
  • Encrypted or rights-managed PDFs. If a PDF file is password-protected or carries a rights-management (DRM) profile, meinGPT can't read its content or make it searchable. Remove the password protection, or export the document without the DRM restriction, before adding it to the data pool.
  • Excel tables are a special case. When splitting documents into searchable chunks (a process called chunking), the table context gets lost - a single data row without its column headers often no longer makes sense. For calculations, analyses, and visualizations from Excel files, use the Code Sandbox instead. It processes the original file directly.

OneNote workaround. OneNote files are currently not indexed directly because the format is proprietary. Workaround: export OneNote content regularly via Make or n8n, as PDF or text. The exported files can then be connected like any other source.

Attention

OneNote notebooks don't show up in the sync status - not even as "skipped". Like every unlisted file type, OneNote notebooks and sections appear neither in the file list, nor in the Sync Logs' error messages, nor in the count of skipped files (see Indexing progress). If the connected SharePoint source also contains other supported files, those still index normally - so the sync status can show something like "1 indexed - No errors" even though the OneNote notebook itself never made it into the index. A clean sync status is therefore not proof that OneNote content is searchable. Check the data source's file list directly for the files you expect, or use the export workaround described above.

Emails and attachments

You can place email files in EML (open standard) and MSG (Outlook) format directly into a data pool. The subject, sender, recipients, and message body are extracted and made searchable. Both formats are supported equally - you do not need to convert MSG to EML beforehand.

Attention

Attachments inside email files are a special case. For smaller emails, the content of attachments (e.g. a PDF) is read and indexed. For larger emails, attachments are reduced to their filename for performance reasons - their content is then not searchable. If you want a PDF attachment indexed as reliably as a PDF that sits directly in the data pool, also add the attachment as its own file to the data pool.

Access control

A newly created data pool starts out private to its creator - nobody else has access automatically, not even through a linked assistant. To give others access, share the pool explicitly: with individual users, a team, or workspace-wide for everyone - currently always as view-only access ("Kann ansehen" in the sharing dialog). You can additionally restrict access to specific teams: create teams in the admin interface and assign them to specific data sources. This lets you control which user groups see which data.

Details on creating and managing teams: Team management.

Attention

Sharing an assistant does not override a data pool's own access restriction. If a data pool is not shared with everyone - for example only with specific users, a team, or admins - that restriction applies regardless of who the associated assistant is shared with. A user who can open the assistant but has no access of their own to the data pool gets no hits when asking about it - the assistant may report something like "no matching documents found," even though the same data pool works normally for its creator or other authorized users. In that case, check the data pool's own sharing settings under Settings → Data sources, not just the assistant's sharing settings.

Note

"Settings → Data sources" is an admin area. Only workspace admins see this menu item (under "Knowledge & integrations" in the settings) - it does not appear in a member's personal profile settings, even if that person created the assistant in question themselves. If you are not an admin, you cannot view or change a data pool's sharing settings yourself - ask an admin to check the sharing settings for the affected data pool instead.

How meinGPT works with files (3-stage model)

Not every request needs the same processing depth. meinGPT decides per request how deep it has to go. There are three stages:

StageWhat happensSufficient for
1. SearchThe platform searches all configured sources and returns snippets and filenamesSimple questions like "Is there a document about topic X?"
2. Full-text retrievalThe model loads the complete content of individual files that look relevant after stage 1Content questions about individual, not overly large documents
3. Code SandboxThe original file is opened in an isolated environment (the sandbox) and processed with PythonCalculations, analyses, charts from large or structured files (e.g. Excel with many rows)

You do not have to configure anything manually. More about the sandbox: Code Sandbox.

Attention

Full-text retrieval can use a lot of context. Stage 2 loads the complete content of a file or Confluence page into the chat at once – not just the relevant excerpt. When several large sources are connected to the same assistant or chat (for example a data source and a Confluence space), a single question can already consume a significant share of the model's context window. Keep an eye on the context window indicator in the chat input, and prefer narrow, targeted questions for very large or heavily nested pages (e.g. Confluence pages with many embedded macros). More on this: Chat too large for the model.

Note

Note for on-premise setups: Stage 3 (sandbox) temporarily uploads original files into the meinGPT Cloud, because the sandbox environments run there — but only when that Outpost folder is set to Text and original files (ORIGINAL_FILES). With Text only (FULL_TEXT) or the legacy PASSAGES level, the sandbox request is rejected before an original file is uploaded. Permitted files are deleted immediately after processing. For privacy-sensitive setups, communicate this transparently to your stakeholders.

SharePoint Connector vs. data source: which one when?

If you want to use SharePoint data in meinGPT, you have two options: the native Microsoft 365 Connector, or a data source with SharePoint as a source. Both have their strengths.

CriterionMicrosoft 365 ConnectorData source with SharePoint source
Search methodDirect access in real timePre-built index, sync every 15 minutes
PermissionsRespects SharePoint permissions automatically (at user level via OAuth)Admin configures manually. SharePoint permissions do not apply automatically
AuthenticationEach user authenticates individuallyCentrally configured
ScalingGood for targeted research in single sites or foldersScales to large data volumes, multiple sources combinable
Combining sourcesOnly SharePoint and OneDriveMultiple sources in one data source (SharePoint, local files, Drive, …)

Rule of thumb:

  • Microsoft 365 Connector for most SharePoint use cases. Especially when each user should only see what they are allowed to see in SharePoint itself.
  • Data source when you want to index large stocks centrally, mix multiple sources, or build a central knowledge base without individual permissions.

Configuration & recommendations

Narrow the data scope

There is no hard data limit. But the more data a data source covers, the more irrelevant hits compete with the relevant ones. Recommendation:

  • When you connect a SharePoint/OneDrive folder, all subfolders are included automatically - you don't need to add subfolders as their own data source
  • Connect 500 to 1,000 relevant files per data source in a targeted way, not the entire SharePoint
  • Prefer multiple specialized data sources over one huge one, for example "HR policies", "Product specifications", "Sales material"
  • The more focused a data source, the better the results

Attention

The same folder tree in more than one data source means duplicate indexing. There is no platform-wide deduplication across data sources - if two data sources point at the same or an overlapping SharePoint/OneDrive folder, that content is fully crawled, chunked, and embedded twice, with matching storage and compute cost. If an assistant is connected to both data sources, the same file can also appear twice in the search results for a single query. Connect a folder as a data source only once, then share that one data source with every assistant that needs it, instead of creating a separate data source per assistant on the same folder.

Write the short description carefully

The short description of a data source is not just documentation. The model uses it to decide whether a data source is relevant for a given request. A poor description leads to data sources not being searched even when they should be.

Good: "Contains all internal HR policies, process descriptions, and onboarding documents."

Less good: "HR documents."

Reference the tool in the system prompt

In assistant instructions, it pays to reference data sources explicitly. For example: "Start every conversation by retrieving relevant information from the connected data source." This makes data source usage more reliable.

Symptom: the assistant ignores a linked data pool. If an assistant answers from general knowledge instead of the data pool even though the pool is correctly synced and linked, a missing reference in the system prompt is the most common cause — not a misconfiguration of the data pool itself. Check first whether the instructions explicitly mention the data pool before investigating sync status or permissions.

Advanced: Customer-Managed Outpost (On-Premise)

If you want to run your own on-premise knowledge infrastructure, for example for regulated industries or special security requirements, you can run your own Outpost. Source files and the search index remain stored there; there is no permanent central copy. For a request, however, the Outpost transmits exactly what you released per folder on the Outpost: extracted text and metadata, or a copy of the original file as well. There is no second setting for this in the meinGPT web console. Temporary sandbox processing is described above.

Other sources

Besides the six Cloud sources above and manually uploaded files, there are folders and network drives only an Outpost can read. The full overview with the Cloud-vs-Outpost distinction: Data sources.

Custom Data Preparation Pipelines

For the dedicated pattern with S3 handover for third-party systems, see:

Was this page helpful?