All guides

Connect Egnyte

Egnyte is how Vectis surfaces customer documentation when your MSP runs on a cloud file server instead of a structured docs platform like Hudu or IT Glue. Vectis indexes filenames so techs can search across a customer's whole tree, and previews common file types inline (PDF, image, plain text, Word, Excel) without leaving Vectis. File contents are never persisted.

What Vectis does with Egnyte

  • One folder per customer. Each immediate subfolder under your configured clients root becomes a row on the matching customer’s Documentation section.
  • Recent files, live. Click a folder card and the customer hub fetches the most recently modified files for that folder from the Egnyte API. File metadata only — no file contents are persisted, and every fetch is audit-logged.
  • Never touches file content. Vectis lists files; opening them happens in Egnyte’s web UI via the Open link. We do not download, mirror, or render file bodies.

What you'll need

  • Egnyte subdomain — the <x> in <x>.egnyte.com
  • Long-lived access token — minted via the Egnyte Developer portal
  • Clients folder root — the absolute path inside your Egnyte tenant whose immediate subfolders are customer folders, e.g. /Shared/Work/Acme/Clients

1. Mint a developer access token

  1. Sign in at developers.egnyte.com and register an API key. Pick a descriptive name like “Vectis”.
  2. Once the key is approved (Egnyte usually approves within a business day), run the OAuth password-grant flow once to exchange the API key for a long-lived bearer token. The request is POST https://<x>.egnyte.com/puboauth/token with client_id, username, password, grant_type=password.
  3. Save the access_token from the response — that’s what you paste into Vectis.
The token inherits the permissions of the user that issued it. Use a dedicated service account whose folder access matches what Vectis should see; Egnyte’s audit log will attribute every API call to that user.

2. Paste the connection into Vectis

  1. Go to Admin → Integrations and click Configure on Egnyte.
  2. Enter the subdomain (no protocol or path), the access token, and the clients root path. The path must start with /.
  3. Click Test. Vectis calls /pubapi/v1/userinfo to verify the token, then probes the clients root to confirm the user can read it.
  4. Click Save, then trigger an initial sync. The sync lists subfolders under the clients root and creates one documentation row per subfolder, auto-matching by normalized name to your existing customers.

3. When folder names don't match customer names

If a folder name doesn’t match the PSA customer name — abbreviations, acquisitions, alternate spellings — the auto-match will miss. Pin the customer to a specific folder path by inserting a row into customer_egnyte_folder_overrides:

INSERT INTO customer_egnyte_folder_overrides
  (customer_id, folder_path)
VALUES
  ('<customer-uuid>', '/Shared/Work/Acme/Clients/Acme Holdings');

The next sync will pick up the override and link the folder to that customer regardless of name match.

What appears where

  • Customer hub → Documentation section: a “Linked folders” group with one card for the customer’s mapped Egnyte folder. Click the card to expand recent files (top 25, modified-desc). Click Open in Egnyte to jump to the folder in Egnyte’s web UI.
  • Inline preview: file metadata only — name, modified date, size. Opening a file always happens in Egnyte; we do not proxy file content.

Search and preview

Vectis maintains an index of file metadata — name, parent folder, size, modified date — for every file under each customer’s mapped folder. The index is rebuilt on every Egnyte sync and is what powers filename search (in the customer hub Documentation section’s search box, and in the global ⌘K palette when a customer page is open). The index never stores file contents.

Inline preview renders these formats without leaving Vectis:

  • PDF (.pdf) — rendered by your browser’s native PDF viewer in a sandboxed iframe.
  • Image (.png, .jpg, .jpeg, .gif, .webp, .svg) — SVG is sanitized server-side before render.
  • Plain text (.txt, .md, .csv, .log, .json) — first 2 MB shown verbatim.
  • Word (.docx) — converted to HTML server-side via Mammoth and rendered in a strict-CSP iframe.
  • Excel (.xlsx) — converted to a stacked HTML table per sheet with anchor-link navigation. Multi-sheet workbooks render every sheet in one scroll.

Anything else (PowerPoint, legacy .doc/.xls, archives, video) shows a “Preview not supported — Open in Egnyte” fallback. Files larger than 50 MB also fall through to the Egnyte web UI; this cap is intentional and applies before any conversion runs.

Vectis never stores file contents. Bytes are buffered in memory only long enough to convert (or stream straight back to your browser), then discarded. Every preview load and every search writes an audit_log row attributing the action to the signed-in user.

Tuning the index

By default Vectis walks each customer folder up to 8 directories deep and indexes up to 50,000 files per customer. If a customer tree is deeper or larger than that, the customer’s folder card surfaces a small “some files weren’t indexed” notice and search results are best-effort.

Both caps are tunable per integration via integration_configs.settings:

UPDATE integration_configs
   SET settings = jsonb_set(
     COALESCE(settings, '{}'::jsonb),
     '{walkDepth}', '12'::jsonb
   )
 WHERE provider = 'egnyte';

Same shape for fileCap. The next sync will pick up the new caps; the index will grow or shrink to match on the run after that.

Common errors

401 Unauthorized — the access token is invalid or has been revoked. Mint a new one in the Developer portal.

403 on the clients root — the token user doesn’t have permission to read that folder. Grant access to the service account in Egnyte and re-test.

404 — either the subdomain is wrong or the clients root path doesn’t exist. Verify both in Egnyte’s web UI before retrying.

Still stuck?

Email support@mspvectis.com with the error message and we’ll unblock you.

Egnyte | Vectis