Manage the ai's sources

An Admin uploads documents and writes text or FAQ entries that ground the AI's answers, activates and deactivates them, and follows their indexing state.

When this happens: Admin opens Admin — AI Assistant — Sources — Add Source.

Step by step

  1. 1

    Open Admin — AI Assistant — Sources — Add Source — Document.

  2. 2

    Select a PDF (Return-and-Warranty-Policy.pdf, 1.8 MB) and enters the title Return & Warranty Policy.

    EasyCRM checks size and extension against the existing upload limits ([FileStorageOptions](. /. /. /EasyCrm/Services/Files/FileStorageOptions.cs) — 25 MB per file, allow-listed extensions including pdf, doc, docx, txt), uploads through IFileStorageProvider, and scans it with the existing ClamAV integration ([ClamAvVirusScanner](. /. /. /EasyCrm/Services/Files/ClamAvVirusScanner.cs)). EasyCRM creates AiSource with Document, FileAttachmentId set. Pending. Enqueues AiSourceIndexJob for the new source. EasyCRM shows the source in the list with a *Pending* badge. The job extracts text, chunks and indexes it; on completion sets Indexed. The list badge updates to *Indexed* without a manual refresh (SignalR).

Other paths

Deactivate a source

Toggles a source's Active switch off. Sets . The source is excluded from retrieval immediately; it is not deleted and its index is kept so reactivation does not require re-indexing.

Edit a text or faq source

Edit the content of an existing Text/Faq source and saves. EasyCRM updates Content, sets Pending, and re-enqueues AiSourceIndexJob.

If something goes wrong

Malware detected

If the scan flags the file. The upload is rejected, no AiSource is created, and the existing malware notification flow ([FileMalwareNotifier](. /. /. /EasyCrm/Services/Files/FileMalwareNotifier.cs)) fires.

Indexing fails

The job cannot extract or index the content (corrupt file, unsupported layout). Sets Failed with a reason shown in the list; the source is excluded from retrieval until re-indexed. Error EasyCrm:Ai:SourceIndexingFailed. Click Retry to re-enqueue, or edits/replaces the source.

Unsupported file type or oversized file

If the file fails the existing upload validation. EasyCRM shows the standard file-upload error; no source is created.

Good to know

  • Retrieval reads only and Indexed sources of the requesting company — tenant-isolated like every other query (ADR-012).
  • The Platform Operator never sees source titles or content — EasyCrm.AiAssistant.ManageSources is MultiTenancySides.Tenant.
  • Deactivating a source does not retroactively change AI replies already sent.