Product guide
Sources — files, storage & web
Connect file stores, cloud drives and websites — every setup, field by field.
Sources — where your knowledge comes from
A source is a place your documents live. The built-in “Uploaded documents” source holds files you upload here; you can also connect a Google Drive, a OneDrive/SharePoint library (including Microsoft Teams files), Dropbox, a Nextcloud/ownCloud/WebDAV folder, Notion pages and databases, email (a dedicated forwarding mailbox, or a full mailbox read automatically), an Amazon S3 bucket, a SQL database, a CRM or ERP, your issue tracker or help desk, or your website. Everything from all sources feeds one knowledge base.
Common places, and how they map to sources
- Microsoft Teams — files shared in Teams channels live in the team's SharePoint library: add a OneDrive / SharePoint / Teams source, sign in, and pick the team's library.
- Office file server or NAS (shared network drive) — connected by your provider as a folder source; documents on the share then sync like any other source. Ask your provider to set it up.
- Website, help centre or knowledge base (Zendesk, Freshdesk, WordPress…) — add a Website / Help centre source with the page URLs or the site's sitemap.xml.
- Nextcloud, ownCloud or any WebDAV server — add a Nextcloud / WebDAV source with the server address and an app password.
- Notion — add a Notion source; whatever pages and databases you connect the integration to become searchable.
- A database, CRM or ERP (PostgreSQL / Supabase, MySQL / MariaDB, or Microsoft SQL Server — the engines most on-prem ERPs run on) — add a SQL database source with a read-only connection: it reads the schema and turns your customers, invoices, contracts and so on into records it can reason over, with figures totalled exactly.
- HubSpot (CRM) — companies, contacts, deals and tickets become records the assistant reasons over, with logged notes, emails, calls and meetings as dated activity. Read-only.
- Salesforce (CRM) — accounts, contacts, opportunities, cases and leads become records, with the tasks, events and files logged against them. Read-only.
- Pipedrive (CRM) — organizations, people and deals become records, with their notes, activities and files. Read-only.
- Zoho CRM — accounts, contacts, deals and leads become records, with their tasks, calls, events and notes. Read-only.
- Microsoft Dynamics 365 — accounts, contacts, opportunities, cases and leads become records, with the activity logged against them. Read-only.
- GitHub / GitLab / Bitbucket — issues, pull/merge requests and their comment threads become searchable documents. Read-only.
- Jira / Linear / Asana / Trello / monday.com — issues, tasks, cards and items, with their comments, become documents tied to project, board and assignee. Read-only.
- Zendesk / ServiceNow — support tickets and incidents, with the full conversation, become documents tied to the customer. Read-only.
- An ERP (Odoo) — customers, sales orders, invoices, leads and products become records, with order and invoice totals per customer, and attachments brought in. Read-only.
- Email, forwarded — set up a Dedicated mailbox (forwards) source and forward anything worth keeping: the message and its attachments are ingested automatically.
- Shared mailbox (info@, support@…) or a whole account — add it as a Full mailbox (auto-read) source: every message is read as it arrives, with newsletters, spam and auto-replies filtered out.
- Paper documents — scan them (your scanner's PDF output is fine, scans are OCR'd automatically) and upload them, or have the scanner save into the connected file server folder.
- Google Docs, Sheets and Slides — imported automatically when their Drive folder is connected.
Syncing keeps it current, automatically
Each source is synced on a schedule and whenever you press Sync. A sync is incremental: it checks the source for new, changed and removed documents and updates the knowledge base to match — so when a file changes in the Drive, the next sync picks up exactly that change without re-processing everything. Recent syncs are listed under Settings → Background activity.
If a source can't be reached (wrong credentials, an outage), it shows an error and its documents are left in place — a temporary problem never wipes your knowledge base.
Adding a source
- Open Documents → choose the type from the catalog.
- Fill in its details (each type has its own short setup — the ? on the card opens step-by-step instructions).
- Choose which groups may read this source's documents.
- Press Test to confirm the connection, then Sync to bring the documents in.
Sources whose platform knows your team (a CRM, an ERP, an issue tracker) can also create the team's accounts for you — see “Import your team from a connected system”.
Set up Google Drive
The usual setup is sharing a folder with a “service account” — a robot Google account. Your provider gives you its email address; everything you do happens inside Google Drive.
- Ask your provider for the service account email (it ends in @…iam.gserviceaccount.com) — or create your own service account in the Google Cloud Console and download its JSON key.
- In Google Drive, right-click the folder → Share → paste that email → Viewer access.
- Back here: Documents → Google Drive, paste the folder's URL straight from the browser, paste the JSON key your provider gave you, choose the access groups, Test, then Sync.
Google Docs, Sheets and Slides are imported too (exported to text, spreadsheet and PDF). Shared drives work if the folder is shared with the service account. If a Connect button shows on this source, you can sign in with a Google account instead — no keys at all. Set Access to “Mirror each file's own Drive sharing” to keep documents readable here by the same people they're shared with in Drive (see Access).
Set up OneDrive / SharePoint / Teams
Create the source and sign in with a Microsoft work account that can read the library, then pick the library from the list — done. This also covers Microsoft Teams: files shared in a Teams channel live in that team's SharePoint library, so pick the team's library in the picker and the Teams files sync.
- Documents → OneDrive / SharePoint / Teams: name it, choose access groups, Create — the Microsoft sign-in opens by itself.
- If Microsoft says approval is needed, forward the admin approval link (shown on that page) to your IT administrator, then use Connect on the source to sign in again.
- Back on the source, click Choose library and pick the OneDrive or SharePoint library to sync.
| Folder path | Optional — restrict to a sub-folder like /Policies. Leave blank for the whole library. |
|---|
Sync runs as the account that connected: if that person's password is reset, the source shows an error until someone clicks Reconnect. Advanced setups can instead paste an Entra app registration's credentials (tenant ID, client ID, secret) under Advanced — that path doesn't depend on a person. Set Access to “Mirror each file's own sharing” to keep documents readable here by the same people they're shared with in Microsoft 365 (see Access).
Set up Microsoft OneNote
Bring your OneNote notebooks in — each page becomes a searchable document, tied to its notebook and section. It uses the same Microsoft sign-in as OneDrive.
- Documents → Microsoft OneNote: name it, choose access groups, Create — the Microsoft sign-in opens by itself (approve read-only access to your notebooks).
- If Microsoft says approval is needed, forward the admin approval link to your IT administrator, then use Connect to sign in again.
- Optionally restrict to one notebook by name; Test, then Sync.
Read-only. Pages come in as their formatted content; the notebook and section become the document's breadcrumb so it sits alongside everything else about that team.
Set up Dropbox
Create the source and sign in to Dropbox in the window that opens — that's it. Syncing starts on its own.
- Documents → Dropbox: name it, optionally set a folder path (blank = your whole Dropbox), choose access groups, Create.
- Approve access in the Dropbox window that opens; it closes itself when done.
No Connect button? Then this deployment uses manual tokens: create an app in the Dropbox App Console with files.metadata.read and files.content.read, and paste its access token (quickest) or refresh token + app key under Advanced.
Set up Amazon S3
- In the AWS IAM console create a user (or role) with programmatic access.
- Attach a policy allowing s3:ListBucket on the bucket and s3:GetObject on its objects (limit it to the prefix you'll use).
- Create an access key for that user — you'll get an Access key ID and a Secret access key.
- Back here: Documents → Amazon S3, enter the bucket, its region and the keys; set a prefix to limit to a sub-folder; choose groups, Test, Sync.
Keys are stored securely and never shown again after you save them. Use a read-only key scoped to just this bucket/prefix.
Set up Nextcloud / WebDAV
Works with Nextcloud, ownCloud and any other WebDAV server. Best practice is a dedicated account (or an app password) that can read just the folders to ingest.
- In Nextcloud/ownCloud open Settings → Security → Devices & sessions and create an app password for Naxis Assistant.
- Documents → Nextcloud / WebDAV: enter the server address (e.g. https://cloud.example.com), the username and that app password.
- Optionally set Folder to limit ingestion (e.g. /Company/Policies), choose access groups, Test, then Sync.
| Server or WebDAV URL | A plain Nextcloud/ownCloud address is completed automatically; any full WebDAV folder URL (e.g. https://server/remote.php/dav/files/anna/Docs) also works. |
|---|---|
| Folder | Optional folder within the account. Blank = everything the account can see. |
Whatever the signed-in account can read is what gets ingested — share only the right folders with it. Hidden files (names starting with a dot) are skipped.
Set up Notion
Notion access works through an “integration” — a robot member of your workspace. You choose exactly which pages it can see; everything below those pages, sub-pages and database entries included, becomes searchable.
- As a workspace owner open notion.so/profile/integrations and create an internal integration for your workspace (read-content capability is enough).
- Copy its Internal Integration Secret.
- In Notion, open each top page or database to ingest → ⋯ menu → Connections → add your integration (children are included automatically).
- Back here: Documents → Notion, paste the secret, choose access groups, Test, then Sync.
Pages are converted to text with headings, lists, tables and code preserved; database entries include their fields. To stop ingesting something, remove the integration from that page in Notion — the next sync removes it here.
Set up Websites
Ingest public web pages — a handbook site, a help centre, published policies.
| URLs | One page URL per line. |
|---|---|
| Sitemap URL | A sitemap.xml — every page listed in it is ingested. Sitemap index files (the WordPress/Shopify layout) and gzipped sitemaps work too. Combine with the URL list or use either alone. |
Pages behind a login can't be reached. Each sync re-checks pages and updates any that changed. Only the URLs you configure are fetched — links are not crawled and robots.txt is not consulted, so point it exactly at what you want indexed; requests are paced so your site is never hammered.