Skip to content

Search

Zyx keeps one search over everything the company connects. It runs on the server: a local Weaviate search engine that matches by keyword and by meaning together, with bge-m3 embeddings computed by Ollama on the same server. The index never leaves the server. The passages an answer uses are sent to the model that writes the answer; see Models and cost.

The status column follows the labels on Status and limits.

Source What is searched Who may read an item Status
Company folder Word, Excel, PowerPoint, PDF, text, e-invoice fields; photos and scans by local OCR the folder’s permissions Live-proven
Mail (IMAP/SMTP) the newest 300 mails of inbox and sent, per mailbox the connection’s readers Live-proven
Notion the 300 most recently edited pages, with database rows the connection’s readers Live-proven
Slack channels the Slack app is in, one item per channel and day; never direct messages, not thread replies the connection’s readers, plus the channel’s members Tested against fakes
Google Drive Docs, Sheets, Slides, text files the connection’s readers Tested against fakes
Google Calendar events the connection’s readers, plus organizer and attendees Tested against fakes
Microsoft 365 Outlook mail, SharePoint and OneDrive files, Teams channel messages (not thread replies) the connection’s readers, plus a file’s permissions, a channel’s members Tested against fakes
GitHub issues, pull requests, discussions; off until the owner turns it on the connection’s readers Tested against fakes
Linear issues the connection’s readers, plus the team’s members Tested against fakes
Jira and Confluence issues and pages the connection’s readers Tested against fakes
HubSpot CRM records the connection’s readers Tested against fakes
Salesforce records the connection’s readers Tested against fakes
Zendesk tickets the connection’s readers Tested against fakes
Dropbox files the connection’s readers Tested against fakes
Any MCP app with a search tool asked live at question time (3 second budget), nothing stored the connection’s readers Built and tested

The connection’s readers are the owner on a company connection, or the person on their own connection. Where a row says “plus”, Zyx also adds the people the app names, on a company connection.

“Tested against fakes” means the code ships and is tested against stand-ins of each app’s API. No live connection to the real app has been run yet. The first live connect for a company is the first real run for that app.

Each synced source is a copy kept fresh in the background, each item with its readers. Files are indexed every 5 minutes, so a question rarely waits. Settings, Search shows each source, its mode (synced, live or off), its item count and its last sync.

Under each answer, a Sources row lists the files, mails and pages it used. A click opens the item: a file in Zyx’s viewer, a mail or page at its own address. The model is asked to cite each passage.

  • By source: “only Slack”, or one synced kind.
  • By date: “since Monday”.
  • Recency: a passage changed recently scores up to 10% higher, halving every 30 days.
  • Follow-up questions also search with the person’s previous message.

search_people ranks the people who wrote the matching items. It uses the same readers check, so it never reveals an item the asker may not read.

A search hit quotes a passage. read_item returns one whole synced item: the full mail, page or thread. Same readers check.

Search hands back the passages that rank best. For “which deals are open?” that is not enough. list_items lists the synced records of one app, for example HubSpot deals or Zendesk tickets, by type, with simple filters such as “stage is open”. It returns up to 200 records, newest first, and says how many matched. Same readers check as search, and each title and field passes the privacy gate. Records an asker may not read are only counted, never named. Each listed record can be cited as a source like a search hit.

Zendesk, Linear and Jira syncs write no fields yet. For those apps the list shows titles only, so a filter on a field finds nothing.

  • Zyx’s own .zyx folders, including each person’s private journal.
  • Folders a .zyxignore or a .gitignore keeps out (see below).
  • A program’s working folders, such as a cache or a browser profile, and a folder of numbered video frames. Zyx finds these by itself.
  • A picture whose text recognition finds almost no words, and a near-copy of a file already indexed in the same folder.
  • Online-only cloud files that are not downloaded to the server. Zyx never opens them, so nothing downloads by surprise.
  • Slack direct messages, and private channels the Slack app is not a member of.

Settings, Search shows the owner what fills the search: the folders with the most files, and how many files were left out and why. Don’t search this folder keeps a folder out. On the next pass its files leave the index. Undo brings it back.

The press writes a .zyxignore file into the folder. You can also write one yourself, in any folder: it uses the same rules as a .gitignore, so a line such as *.mov or Export/ keeps only those files out. A .gitignore inside a git project counts too.

  • No reranker model. It was measured at 10 seconds per search on a CPU and dropped correct hits.
  • No published accuracy figure. The test set is small and synthetic, so it does not prove quality on a real company’s data.