How it works
Each refresh reads the messages each folder received since the last run and rebuilds every conversation that gained one.
A conversation that only lost a message keeps its old text until it gains a message or the connector is re-indexed.
Pruning removes conversations that no longer exist and calendar events that have left the calendar window.
Before you begin
You need:- A Microsoft 365 tenant with Exchange Online mailboxes
- Permission to create an app registration in Microsoft Entra and to grant it admin consent
- An Onyx administrator account
The app registration can open every mailbox in the tenant by default. To limit it to specific mailboxes,
either restrict the Graph grants with an application access
policy,
or replace the mail and calendar grants with scoped roles through Exchange RBAC for
Applications.
Keep User.Read.All either way. Exchange takes 30 minutes to two hours to apply such a change.
Configure Microsoft Entra
1
Create an app registration
Sign in to the Microsoft Entra admin center
(
https://entra.microsoft.us for GCC High or DoD) and open App registrations. Select New registration,
name it something like Onyx Outlook Connector, leave the other settings as they are, and select Register.2
Copy the IDs
On the Overview page, copy the Application (client) ID and the Directory (tenant) ID.
Onyx asks for both.
3
Add API permissions
Open API permissions, select Add a permission, then Microsoft Graph and Application permissions.
Add:
- Mail.Read: read mail and attachments in every mailbox the app may open
- User.Read.All: list the tenant’s users, resolve mailbox addresses and build permission lists
- Calendars.Read: read calendars, only needed when you turn on Include Calendar
4
Add a client secret or a certificate
Open Certificates & secrets. Either select New client secret,
set an expiration and copy the secret Value right away,
or upload the public certificate of a PFX bundle under Certificates. Onyx accepts both. For a certificate,
keep the PFX file and its password for the next section.
Configure Onyx
1
Open the Outlook connector
In Onyx, go to Admin Panel → Add Connector and select Outlook.
2
Create a credential
Choose the authentication method and enter the values from Entra:
- Client Secret: the client ID, the directory ID and the secret value
- Certificate Authentication: the client ID, the directory ID, the PFX bundle and its password
3
Choose the mailboxes
Give the connector a name. In Mailboxes, list the user principal names or primary email addresses to index,
or leave the list empty to index the mailbox of every enabled user who has a mail address.Shared mailboxes are normally sign-in disabled, so automatic discovery does not pick them up. List them explicitly.
4
Choose what to index
Turn on Include Attachments to index the text of file attachments and Include Calendar to index each
mailbox’s calendar as well as its mail. Both are off by default.
5
Choose the access type
Select the connector access type:
- Public makes all indexed mail visible to every Onyx user.
- Private limits the connector to selected Onyx user groups.
- Auto Sync Permissions mirrors mailbox ownership and meeting attendance.
6
Connect and verify
Select Create Connector. Then open Admin Panel → Existing Connectors, select the connector,
and confirm its initial indexing attempt completes.
Advanced settings
Attachments
With Include Attachments on, Onyx downloads each file attachment and appends its text to the message it came with. Onyx parses these types:.csv, .docx, .eml, .epub, .html, .json, .md, .mdx, .pdf, .pptx, .tsv,
.txt, .xlsx, .xlsm, .xml, .yaml, .yml, .conf, .log and .sql.
A message contributes at most 20 attachments, and a conversation stops downloading after 25 download attempts,
failed ones included, or one million characters of attachment text.
Set OUTLOOK_CONNECTOR_ATTACHMENT_SIZE_THRESHOLD (bytes) to change the 20 MB (20 × 1024 × 1024 bytes) size limit.
Auto Sync Permissions
With Auto Sync Permissions, Onyx grants access by email address. A mailbox’s address must match the user’s email in Onyx.
Permissions are attached during indexing,
so a new connector is searchable by the right people from its first indexing attempt.
A permission sync then runs every 5 minutes by default and updates the access lists of existing documents.
Set
OUTLOOK_PERMISSION_DOC_SYNC_FREQUENCY (seconds) to change the interval.
Permission sync uses the same Mail.Read and Calendars.Read grants as indexing and needs no further Graph
permission. User.Read.All supplies the owner addresses. Both authentication methods support it.