# First run

> A new nexxus installation starts empty. You create the first administrator account, then a setup wizard walks you through ten steps, from your name and logo to the first invitations. This page covers every step and how to come back to it later.

A fresh nexxus has no accounts, no settings and no default password. The first person who opens it creates the administrator account, and nexxus then leads that person through a setup wizard: what your organisation is called, which AI provider answers, which areas your team needs, how the menu should look, how mail goes out, how files are filed, who may do what, whether people sign in with Microsoft, and who gets an invitation.

None of the steps locks you in. You can postpone any step except the first, and every step stays available as a form on the page **Setup**, so you can change your mind a month later without starting over.

Take Brandt & Söhne, an installation company with 60 people. Their office manager creates the account on Monday morning, uploads the logo, connects an AI provider, switches on time tracking and absences and confirms the mail server. Sign-in with Microsoft is the IT department's job, so she postpones that step by a week. By lunch her first colleagues have their invitations.

## How the first run works

<Flow
  steps={[
    { icon: 'user-plus', title: 'Create the admin', text: 'At /setup, as long as no administrator exists.' },
    { icon: 'wand-sparkles', title: 'Run the wizard', text: 'Ten steps. Each one saves on its own.', tone: 'lavender' },
    { icon: 'bell', title: 'Postpone what can wait', text: 'Postponed steps come back as reminders on the dashboard.', tone: 'cyan' },
    { icon: 'settings-2', title: 'Change it later', text: 'Every step stays available on the page Setup.' },
  ]}
  caption="The wizard and the page Setup show the same forms and write the same settings."
/>

## Before you start

The wizard goes fastest when you have these at hand. You can postpone any of them except the organisation name.

- **The name of your organisation**, and if you like a different name for the app (it appears in the browser tab and in every email).
- **Your logo** as PNG, JPG or WebP. You crop it in the browser into a wide logo and a square symbol.
- **An API key** for an AI provider, or the address of a model server you run yourself. See [Connect your AI](/setup/connect-ai/).
- **Your outgoing mail server**: host, port, user, password and sender address. nexxus sends invitations and sign-in links through it.
- **For sign-in with Microsoft**: the directory ID, the application ID and a client secret from an app registration in Microsoft Entra. Usually your IT department provides them.
- **A few email addresses** of colleagues you want to invite first.

If someone else runs the server for you, ask them for the **setup code** as well. The operator can protect the account page with one (see [For operators](#for-operators)).

## Create the first administrator

{/* SHOT: first-run-setup-account */}

<Steps>

1. Open the address of your installation. As long as no administrator exists, nexxus sends you from the sign-in page to `/setup`. The page has no menu yet. On the left you see the steps ahead: <Ui>Account</Ui>, then the ten steps of the wizard.

2. In the card <Ui>Your account</Ui>, enter a <Ui>Username</Ui> and your <Ui>Email address</Ui>.

3. Enter a <Ui>Password</Ui> and repeat it in <Ui>Repeat password</Ui>. The checklist under the fields turns green as you type: <Ui>At least 12 characters</Ui> and <Ui>Both passwords match</Ui>. When you create the account, nexxus also checks the password against known data breaches.

4. If the page shows a field <Ui>Setup code</Ui>, enter the code you got from whoever runs the server. The hint reads <Ui>This installation is publicly reachable. Whoever runs it has the code.</Ui>

5. Look at the card <Ui>What comes next</Ui> on the right. If it lists entries under <Ui>Still open in the server configuration</Ui>, pass them on to your operator. They do not stop you from continuing (see [Server settings the page warns about](#server-settings-the-page-warns-about)).

6. Click <Ui>Create account and continue</Ui>. nexxus signs you in and opens the setup wizard.

</Steps>

:::caution[Finish this step right away]
Without a setup code, whoever reaches a new installation first can create the administrator account. Create it immediately after the installation is reachable, or ask your operator to set a setup code.
:::

## The setup wizard at a glance

The wizard runs full screen at `/onboarding`, without the menu. On the left is the list of steps (on a narrow screen behind <Ui>Show steps</Ui>), in the middle the current step, and at the bottom the buttons <Ui>Back</Ui>, <Ui>Remind me later</Ui> and the main button, usually <Ui>Save and continue</Ui>. The eyebrow above each step says where you are, for example <Ui>Step 3 of 10</Ui>.

| # | Step | What it sets | Can be postponed | Can be marked as not needed |
|---|---|---|---|---|
| 1 | <Ui>Welcome</Ui> | Organisation name, app name, logo, accent colour, main menu, language, time zone | no | no |
| 2 | <Ui>AI</Ui> | AI provider, default model, the AI Assistant's name and look | yes | no |
| 3 | <Ui>Areas</Ui> | Which parts of nexxus your tenant uses | yes | no |
| 4 | <Ui>Main menu</Ui> | Order and groups of the menu, pages in the rail | yes | yes |
| 5 | <Ui>Focus zones</Ui> | Zones that bundle areas and single pages under their own name, icon, colour and logo | yes | yes |
| 6 | <Ui>Email</Ui> | Outgoing mail server, confirmed with a code | yes | no |
| 7 | <Ui>Files</Ui> | Folders or attributes, extra attributes | yes | no |
| 8 | <Ui>Roles</Ui> | Access roles and the default role for new people | yes | no |
| 9 | <Ui>Microsoft Entra</Ui> | Sign-in with Microsoft | yes | yes |
| 10 | <Ui>Invite people</Ui> | The first invitations | yes | yes |

The left rail also has the button <Ui>Pause setup</Ui>: <Ui>Everything stays saved. The open steps wait on the dashboard.</Ui>

## Step 1: Welcome

The first step asks what your organisation is called and how nexxus looks for everyone. Its title is *Welcome to nexxus*. What your team uses you choose two steps later under <Ui>Areas</Ui>.

<Screenshot src={shot_first_run_welcome} url="/onboarding?step=welcome" alt={"Step Welcome with the basic data"} caption={"Name, logo, colours and language apply to everyone in the tenant."} />

### Basic data

<Steps>

1. Enter the <Ui>Organization name</Ui>. It becomes the name of your tenant and of your first own company. The company name as it appears on invoices ("... GmbH") you add later under <MenuPath to="Administration > Company > Company structure > Own companies" />.

2. Optional: enter a <Ui>Name in the app</Ui>. It replaces the product name in the browser tab and in every email. Leave it empty to keep the product name.

3. Click <Ui>Upload logo</Ui> and choose a PNG, JPG or WebP file. A crop tool opens with two tabs:

   - <Ui>Logo</Ui>: the whole wordmark without empty margins. It appears in the side bar, on the sign-in page and in emails.
   - <Ui>Symbol</Ui>: a square section, usually the pictorial mark. It appears in the collapsed menu, in the browser tab and in link previews, for example in Slack or Teams.

   Drag the frame, or use <Ui>Fit to content</Ui> and <Ui>Whole image</Ui>. Two previews show the result (<Ui>Sidebar, sign-in, email</Ui> and <Ui>Collapsed menu</Ui>). Click <Ui>Apply</Ui> to save both; <Ui>Other file</Ui> starts again with another image, <Ui>Cancel</Ui> keeps the previous logo.

   <Screenshot src={shot_first_run_logo_crop} url="/onboarding?step=welcome" alt={"Cropping the logo and the square symbol"} caption={"The logo appears in the side bar, on the sign-in page and in emails; the symbol in the collapsed menu."} />

4. Pick an <Ui>Accent color</Ui>: <Ui>Default</Ui>, <Ui>Petrol</Ui>, <Ui>Turquoise</Ui>, <Ui>Green</Ui>, <Ui>Indigo</Ui>, <Ui>Violet</Ui>, <Ui>Berry</Ui>, <Ui>Red</Ui>, <Ui>Amber</Ui>, <Ui>Slate</Ui> or <Ui>Custom color</Ui>. You see it right away in the bar on the left and on the buttons. White text must stay readable on it, so nexxus needs a contrast of at least 3:1.

5. Under <Ui>Main menu</Ui> choose <Ui>Dark</Ui> or <Ui>Light</Ui>, and under <Ui>Area colours</Ui> <Ui>Colourful</Ui> or <Ui>Single colour</Ui>. Colourful gives every area its own colour; single colour shows every area in the accent colour. It applies to everyone; in dark mode the menu is always dark.

6. Choose the <Ui>Language</Ui> (Deutsch, English or Polski) and the <Ui>Time zone</Ui>. The language is the default of your tenant: the sign-in page and everyone who has not chosen a language on their profile see nexxus in it, newly invited people included. The time zone list offers Europe/Berlin, Europe/Vienna, Europe/Zurich, Europe/London and UTC. The reminders of the setup follow this time zone.

7. Click <Ui>Save and continue</Ui>. The message <Ui>Basic data saved</Ui> confirms it.

</Steps>

## Step 2: AI

<Ui>The assistant, the file search and the role suggestions run through this provider.</Ui> That is why this step comes second: step 8 already uses the AI to suggest roles.

<Screenshot src={shot_first_run_ai} url="/einrichtung" alt={"Step AI after a successful test run"} caption={"The step counts as done only when all three checks are green."} />

<Steps>

1. In the card <Ui>Provider</Ui>, pick a provider from the list, or <Ui>Custom endpoint (OpenAI-compatible) ...</Ui> for a model server of your own. For your own endpoint, also enter a <Ui>Name</Ui> and the <Ui>Base URL</Ui> up to and including `/v1`.

2. Paste the <Ui>API key</Ui>. Click <Ui>Test connection</Ui>. A message such as "Connected. 12 models found." means the key works.

3. In <Ui>Model for the chat</Ui>, choose the <Ui>Default model</Ui>. If the endpoint returns no model list, type the model ID yourself.

4. Optional: in the card <Ui>Assistant</Ui>, rename the AI Assistant (the default is Ava, at most 40 characters) and choose its <Ui>Appearance</Ui> (<Ui>Dark</Ui> or <Ui>Light</Ui>) and <Ui>Colour</Ui> (<Ui>Aurora</Ui>, <Ui>Ocean</Ui>, <Ui>Forest</Ui>, <Ui>Sunset</Ui>, <Ui>Graphite</Ui>). Colour and appearance change at once. The name changes when you click <Ui>Apply</Ui> in that card.

5. Click <Ui>Save and continue</Ui>. nexxus sends a real message through the AI gateway and back, the <Ui>Test run</Ui>. The card on the right shows the answer and three checks: <Ui>Provider and model</Ui>, the gateway reaching nexxus, and <Ui>Model answers</Ui>. The step only counts as done when all three are green.

</Steps>

This step connects one provider with one chat model. Prices, more models, the search model and voice are set on the AI settings page, described in [Connect your AI](/setup/connect-ai/).

## Step 3: Areas

Here you decide which parts of nexxus your tenant uses. Its title is *What do you need?* Each card stands for one group of the menu. An area you switch off disappears from the menu, from the API and for the AI Assistant, for everyone in the tenant. The data stays, and you can switch the area back on at any time. A new tenant starts with <Ui>Files</Ui> only; you select everything else.

<Screenshot src={shot_first_run_areas} url="/onboarding?step=areas" alt={"Step Areas with ten cards, the AI assistant is always included"} caption={"What an area needs, nexxus switches on with it."} />

| Card | What it contains | Needs |
|---|---|---|
| <Ui>Time tracking</Ui> | Entries, monthly timesheets, time accounts, Toggl sync | Customers & suppliers, Projects |
| <Ui>Absences</Ui> | Leave requests, leave quotas, public holidays, absences in the calendar | |
| <Ui>Customers & suppliers</Ui> | Customers, suppliers, own companies, contacts | |
| <Ui>Projects</Ui> | Projects, project groups, project team, hourly rates, links | Customers & suppliers |
| <Ui>Invoices</Ui> | Invoices, positions, billing roles | Customers & suppliers |
| <Ui>Contingents & credit</Ui> | Contingents, credit accounts, transactions | Customers & suppliers, Projects |
| <Ui>Teams & working time models</Ui> | Teams, working time models | |
| <Ui>Files</Ui> | Filing, search, shares | |
| <Ui>Information security</Ui> | Assets, risks, measures, self-declarations | |
| <Ui>Apps & workspace</Ui> | Apps, workspace, academy | |
| <Ui>Chat</Ui> | Channels, direct messages, threads, mentions | |
| <Ui>Content</Ui> | Content, blocks, media, delivery | |

What an area needs, nexxus switches on with it and says so, for example <Ui>Invoices needs Customers & suppliers, it is now switched on too.</Ui> Switch off an area another one needs, and the other one goes off too: <Ui>Invoices needs Customers & suppliers and is therefore switched off too.</Ui> The server refuses a selection in which something is missing.

Pages that are always there show nothing from a switched-off area: without projects a contact does not ask for its project, without time tracking an employee has no Toggl ID and no timesheet approval, without teams & working time models no team and no working time model. Names stay readable: a person's company can still be picked on the user page while customers & suppliers are off. Figures from a switched-off area are not available through analytics either (see [Dashboard](/use/dashboard/)).

Six things are <Ui>Always included</Ui> and <Ui>Cannot be switched off.</Ui>: <Ui>Dashboard</Ui>, <Ui>Calendar</Ui>, <Ui>AI assistant</Ui>, <Ui>Users & roles</Ui>, <Ui>Settings</Ui> and <Ui>Notifications</Ui>. Without the last three nobody could switch an area back on. The AI assistant belongs to every page and is already set up in step 2, before anyone picks areas. If your tenant had switched it off in an earlier version, it is on again.

Click a card to switch it on or off, then <Ui>Save and continue</Ui>. Later, on the page Setup, switching an area off asks for confirmation first, because it affects everyone at once.

## Step 4: Main menu

Here you arrange the menu for everyone in the tenant, or for a single role. Its title is *How should the menu look?* If the menu nexxus comes with suits you, choose <Ui>Not needed</Ui> under <Ui>Remind me later</Ui>.

<Screenshot src={shot_first_run_menu} url="/onboarding?step=menu" alt={"Step Main menu with the rail on the left and the areas on the right"} caption={"A page in the rail opens with one click."} />

On the left is the <Ui>Rail</Ui> with the order of the areas; <Ui>Administration</Ui> is always at the bottom. On the right is every area with its sections, groups and pages.

<Steps>

1. Drag a row by its handle to its new place. The menu at the end of the row does the same: <Ui>Move up</Ui>, <Ui>Move down</Ui>, <Ui>Into the rail</Ui>, <Ui>Into a new group</Ui> or, for example, <Ui>Move to "Organisation"</Ui>.

2. Bring a page your team needs every day to the left with <Ui>Into the rail</Ui>. It then has its own icon in the rail, marked <Ui>Page</Ui>, and opens with one click.

3. Rename areas, sections and groups with <Ui>Rename</Ui>; areas and groups can get a different <Ui>Icon</Ui> there too. <Ui>New area</Ui> adds an area, <Ui>Dissolve section</Ui> and <Ui>Dissolve group</Ui> take a level out.

4. Click <Ui>Save and continue</Ui>. The new order applies to everyone right away.

</Steps>

On the Setup page, the menu on the left already shows every change before you save: <Ui>The menu on the left already shows your changes. They are only saved with "Save".</Ui> <Ui>Discard</Ui> takes them back, <Ui>Restore default</Ui> brings back the menu nexxus comes with.

The order grants nobody a right. Everyone still sees only the pages they may open, and only from areas that are switched on. <Ui>New pages appear in their default place until you move them. Pages of areas that are switched off keep their place for later.</Ui> The same goes for the pages of a newly installed package. The role editor orders the permissions the same way (see [Roles and permissions](/setup/roles/)), and the AI Assistant can read the order and names the page where it is changed.

### A menu for one role

A role can have its own menu, for example a lean one for people with only a few tasks. As soon as your tenant has roles, <Ui>Menu for</Ui> above the rail picks whose menu you arrange: <Ui>Everyone</Ui> or one role. Roles come in step 8, so on the first run through the wizard the field is not there yet; it appears when you come back to the step on the Setup page. A role with its own menu has *(own menu)* after its name in the list.

Whoever has exactly one role with its own menu sees that menu. Administrators, and people who hold several roles with their own menu, see the menu for everyone. Under the field, the page tells you how many people have the chosen role and names those who still see the menu for everyone, for example *admin (admin)* or *Gina Gastdienst (also Housekeeping)*. Its own menu grants the role no right either: pages its people may not open stay out of their menu.

On the Setup page, the menu on the left shows the chosen role's menu for as long as the role is selected, with every page you yourself can see. <Ui>Use the menu for everyone</Ui> followed by <Ui>Save</Ui> takes the role's own menu away again. While you have unsaved changes, the field is locked: <Ui>Save or discard your changes before you choose another menu.</Ui> The AI Assistant reads the menu that the person asking sees.

### Areas, simple or focus zones

<Ui>Style</Ui> picks how the menu is drawn: <Ui>Areas</Ui>, the rail of coloured areas beside a column with the entries of one area, <Ui>Simple</Ui>, one column with every page under quiet headings, or <Ui>Focus zones</Ui>, the simple column with a badge at the top where everyone switches between the whole menu and single zones (see [step 5](#step-5-focus-zones)). The step says: <Ui>Simple shows one column with headings instead of the rail of areas. It suits roles with only a few pages.</Ui> The style belongs to the menu you are arranging, the one for everyone or the chosen role's, and is saved with it. The order stays the same in both styles; in the simple menu the sections of all areas follow one another, area by area, each under its heading. A click on a heading folds its section and opens it again; nexxus remembers that for each person. On the Setup page the menu on the left switches as soon as you click.

Everyone can pick a different <Ui>Style</Ui> for themselves under <Ui>My profile</Ui>, tab <Ui>Profile</Ui>, section <Ui>Main menu</Ui>: <Ui>Areas</Ui>, <Ui>Simple</Ui>, <Ui>Focus zones</Ui>, or <Ui>As set up</Ui> with the style you save here in brackets, which follows your setting. Pages and permissions stay the same.

## Step 5: Focus zones

A focus zone bundles areas and single pages of the menu under its own name, icon, colour and logo, for example "LIMS" for everything around the lab or "CRM" for sales. Whoever works in a zone sees only its content in the menu. People slice their work differently, so nexxus does not split the menu by itself: everyone starts in <Ui>Everything</Ui>, the whole menu, and picks a zone on purpose. The step's title is *Which focus zones should nexxus have?* If you need no zones, choose <Ui>Not needed</Ui> under <Ui>Remind me later</Ui>.

<Steps>

1. Click <Ui>Add focus zone</Ui> and enter what the zone is called under <Ui>Name</Ui>.

2. Pick the zone's areas under <Ui>Areas</Ui>. <Ui>An area may belong to several zones.</Ui>

3. Under <Ui>Single pages</Ui>, add pages from other areas with <Ui>Add page ...</Ui>, for example the desk, the chat or the calendar. The zone holds only what is chosen here or with the areas.

4. Pick an <Ui>Icon</Ui> and a <Ui>Colour</Ui>; without a colour of its own the zone uses the <Ui>Installation accent colour</Ui>. <Ui>Start page</Ui> sets the page that opens when someone switches to the zone, otherwise it is the <Ui>First page of the zone</Ui>.

5. A <Ui>Logo</Ui> replaces icon and colour in the menu, the tab and the tile. You can upload it once the zone is saved.

6. Click <Ui>Save and continue</Ui>. The message <Ui>Focus zones saved</Ui> confirms it.

</Steps>

The zones only take effect with the style <Ui>Focus zones</Ui> in the step Main menu. While another style is chosen there, the step says: <Ui>The zones only apply once the style "Focus zones" is chosen under Main menu. Until then nobody sees the badge.</Ui>

How your team works with the zones:

- **The badge** at the top of the menu shows the zone you are in. A click opens the choice: <Ui>Everything</Ui>, your installation's zones, your own zones and <Ui>Create own zone</Ui>. The same choice appears on the dashboard as tiles under <Ui>Your focus zones</Ui>.
- **In a zone** the menu shows exactly its areas and pages, and the menu, the tab title and the icon in the browser tab carry the zone's name, colour and logo.
- **Links never switch the zone.** If a link leads to a page outside, the top of the page says <Ui>not in this focus zone</Ui> and the menu stays as it is. A search hit outside does switch, to a zone that holds it: the one used last, otherwise <Ui>Everything</Ui>. The hit list says so beforehand, and afterwards a notice offers <Ui>Back to</Ui> the previous zone.
- **Own zones** are made by everyone at the badge with <Ui>Create own zone</Ui>, from pages of the menu, with pinned pages at the top. Only that person sees them, at most twelve.
- **Page lists in the menu:** the chat shows its channels and direct messages to the left of the conversation. When the chat belongs to the chosen zone, the menu takes over this list. If the chat is the zone's only page, the whole menu is the list. Otherwise the chat opens its own level in the menu, and a click on the zone's name above it leads back.

A zone grants nobody a right: everyone sees only the pages in it they may open. Someone who has exactly one zone and already finds everything they may open in it sees no badge.

## Step 6: Email

nexxus sends invitations, sign-in links and notifications by email. This step sets up the server and proves that a mail actually arrives.

<Screenshot src={shot_first_run_email_code} url="/onboarding?step=email" alt={"Step Email with the presets and the fields for the outgoing mail server"} caption={"The step counts as done only once the code from the test email has been entered."} />

<Steps>

1. Pick a preset at the top. The presets fill in the server for Microsoft 365 (`smtp.office365.com`, port 587) and Google Workspace (`smtp.gmail.com`, port 587). <Ui>Own server</Ui> lets you enter everything yourself.

2. In <Ui>Outgoing mail server</Ui>, check <Ui>Server</Ui>, <Ui>Port</Ui> and <Ui>Encryption</Ui>, and enter <Ui>User</Ui>, <Ui>Password</Ui>, <Ui>Sender name</Ui> and <Ui>Sender address</Ui>.

3. In <Ui>Confirm address</Ui>, click <Ui>Send test email</Ui>. nexxus sends a 6-digit code to your address.

4. Type the code into the six boxes. Nothing arrived? Check your spam folder, then use <Ui>send again</Ui>.

5. Click <Ui>Confirm and continue</Ui>. The card now says <Ui>Confirmed</Ui>.

</Steps>

The code is valid for 15 minutes. A plain connection test would not notice when your mails land in spam, which is why nexxus asks for the code. Any later change to the server, the credentials or the sender asks for a new confirmation.

If your operator already configured a mail server for the whole installation, the step says so (<Ui>Mail currently goes through the server from the operations configuration.</Ui>) and counts as done. A server you enter here takes precedence.

## Step 7: Files

This step decides how documents are organised in [Files](/use/files/), for everyone in the tenant.

<Screenshot src={shot_first_run_files} url="/onboarding?step=dms" alt={"Step Files with the two ways to organise documents"} caption={"You can switch later; existing folders and their shares are kept."} />

- <Ui>Folders and attributes</Ui>: a shared folder tree for filing, attributes for finding, for example *Customers / Nordwind AG / Contracts*. This is what most people know.
- <Ui>Attributes only</Ui>: no folders. Documents get attributes and are found by them, for example *Type: contract · Customer: Nordwind AG · Status: final*.

Five attributes always exist: type, project, status, confidentiality and tags. Below the two cards you can tick extra attributes: "Kunde" (customer), "Abteilung" (department) and "Norm" (standard). "Abteilung" is always preselected, "Kunde" when customers & suppliers are on, and "Norm" when information security is on. An attribute that already exists stays as it is. You can switch the mode later; existing folders and their shares are kept.

## Step 8: Roles

Describe in a sentence or two who does what, and the AI proposes access roles that fit.

<Screenshot src={shot_first_run_roles} url="/onboarding?step=roles" alt={"Roles proposed by the AI, each quoting the sentence it comes from"} caption={"The AI only grants permissions from areas that are switched on."} />

<Steps>

1. Under <Ui>Let the AI suggest roles</Ui>, write in <Ui>Who does what in your team?</Ui> something like: "Three team leads assign the projects, most people only book time. Accounting writes invoices."

2. Click <Ui>Suggest</Ui>. The AI proposes up to eight roles. Each role quotes the part of your sentence it comes from and lists its permissions (read, write, select, use). It only grants permissions from areas you switched on.

3. Untick the roles you don't want, and choose the <Ui>Default role for new people</Ui>.

4. Click <Ui>Save and continue</Ui>. nexxus creates the ticked roles and sets the default role. (On the page <Ui>Setup</Ui> later, the same card has its own button <Ui>Apply roles</Ui>.)

</Steps>

If the AI cannot be reached or proposes nothing useful, the step shows role templates instead, with a notice in German: <Ui>Mitarbeiter:in</Ui> (employee) as the default role always, plus the templates whose areas are on, such as <Ui>Teamleitung</Ui> (team lead) with projects, time tracking or absences and <Ui>ISMS-Verantwortliche</Ui> (ISMS officer) with information security. Someone with two roles gets the permissions of both. Administrators have every permission anyway. Single permissions you change afterwards under <MenuPath to="Administration > Users & access > Access Roles" />, see [Roles and permissions](/setup/roles/).

## Step 9: Microsoft Entra

With sign-in through Microsoft Entra ID, your people sign in with their Microsoft 365 account, without a separate password. nexxus creates their account on the first sign-in and gives them the default role. If you don't use Microsoft 365, invitations and sign-in links by email are enough: choose <Ui>Not needed</Ui> under <Ui>Remind me later</Ui>.

<Screenshot src={shot_first_run_entra} url="/onboarding?step=entra" alt={"Step Microsoft Entra with the redirect URI to pass on to IT"} caption={"Your IT enters the redirect URI in the app registration and sends back three values."} />

<Steps>

1. Copy the value of <Ui>Redirect URI, enter it in Entra</Ui> with <Ui>Copy</Ui> and send it to your IT department. They create an app registration in Entra and give you three values back.

2. Enter <Ui>Directory ID (tenant)</Ui>, <Ui>Application ID (client)</Ui> and <Ui>Client secret</Ui>. The secret is stored encrypted and never shown again.

3. Click <Ui>Save and continue</Ui>. nexxus checks the details, the directory and the application with its secret.

</Steps>

All sign-in options, two-factor rules included, are described in [Sign-in](/setup/sign-in/).

## Step 10: Invite people

<Steps>

1. Paste the addresses into <Ui>Email addresses, one per line or separated by commas</Ui>. Copying from Outlook or a spreadsheet works too. nexxus derives names from the addresses.

2. Click <Ui>Check addresses</Ui>. A table shows each address with <Ui>Name</Ui>, <Ui>Role</Ui> and <Ui>Status</Ui>: <Ui>New</Ui>, <Ui>Already has an account</Ui>, <Ui>Address incomplete</Ui> or <Ui>Duplicate</Ui>.

3. Pick a role per person if needed. Without a choice, people get the default role from step 8.

4. Click the send button, for example <Ui>Send 4 invitations</Ui>.

</Steps>

<Screenshot src={shot_first_run_invite} url="/onboarding?step=invite" alt={"Four addresses checked before the invitations go out"} caption={"Without a chosen role, people get the default role."} />

Each person receives an email with a link to set a password. If you have not confirmed the mail server in step 6 yet, the invitations wait in the queue until you do. More on invitations in [Invite users](/setup/invite-users/).

## Postpone a step

Not everything has to happen today. Every step except Welcome has the button <Ui>Remind me later</Ui>. It opens the menu <Ui>Remind</Ui>:

| Option | When the step comes back |
|---|---|
| <Ui>Tomorrow morning</Ui> | Tomorrow at 9 am |
| <Ui>In a week</Ui> | In seven days at 9 am |
| <Ui>At next sign-in</Ui> | As soon as an admin signs in again |
| <Ui>Not needed</Ui> (only Microsoft Entra and Invite people) | Never. The step is hidden. |

<Screenshot src={shot_first_run_snooze} url="/onboarding?step=entra" alt={"The menu for postponing a step"} caption={"Reminders apply to all admins and appear on the dashboard."} />

Reminders apply to all admins and use the time zone from step 1. When a reminder is due, the step shows up on the dashboard.

## Finish the wizard

After the last step you see *nexxus is ready to go* with a list of all steps: done, postponed or open. Open steps have a button <Ui>Set up now</Ui>.

<Screenshot src={shot_first_run_done} url="/onboarding" alt={"The end of the wizard with one postponed step"} caption={"Postponed steps wait on the dashboard."} />

- <Ui>Go to dashboard</Ui> ends the wizard and opens the dashboard.
- <Ui>Change settings later</Ui> ends the wizard and opens the page Setup.

Either way, the wizard no longer opens by itself after sign-in. Open and postponed steps wait on the dashboard in the card <Ui>Setup</Ui>: it shows the progress (<Ui>4 of 10 steps done</Ui>), marks due reminders with <Ui>Due</Ui> and offers <Ui>Set up</Ui> and <Ui>Later</Ui> per step. <Ui>All steps</Ui> opens the page Setup. The card only appears for admins, and only while something is open.

<Screenshot src={shot_first_run_dashboard_card} url="/dashboard" alt={"The setup card on the dashboard with a due reminder"} caption={"Only admins see this card, and only while a step is open."} />

## Change the setup later

Every step of the wizard is also a form on the page <MenuPath to="Administration > Operations > Setup" /> (route `/einrichtung`).

<Screenshot src={shot_first_run_setup_page} url="/einrichtung" alt={"The page Setup with every step as a form"} caption={"Every step of the wizard stays available here as a form."} />

- At the top: the progress and <Ui>Open wizard</Ui>, which runs the wizard again.
- On the left: <Ui>Setup steps</Ui>, each with its state: <Ui>Configured</Ui>, <Ui>Done</Ui>, <Ui>Postponed</Ui>, <Ui>Reminder due</Ui> or <Ui>Open</Ui>.
- On the right: the selected step as a form with its own save button. A step marked as not needed offers <Ui>Needed after all</Ui>. A postponed step offers <Ui>Cancel reminder</Ui>.

### Run the whole wizard again

Under <MenuPath to="Administration > Operations > System configuration" />, the section <Ui>Setup</Ui> has the button <Ui>Reset setup</Ui>. After you confirm with <Ui>Reset</Ui>, all steps are open again and nexxus opens the wizard right away. Nothing is deleted: settings, roles, users and AI providers stay and already appear in the wizard's forms.

## What happens behind the scenes

- **A step counts as done** when an admin completed it, or when the configuration already shows it is done. An installation whose mail server has run for months does not start at zero. Specifically: Welcome is done once the tenant has a name of its own; AI once an active provider exists; Email once the address was confirmed or the server configuration provides a mail server; Roles once a default role is set; Microsoft Entra once Entra sign-in is on with directory and application ID; Invite people once at least one person besides the admins has an account. Main menu once an own order is saved; Focus zones once they were saved in the step. Areas and Files only count when saved in the step. After a reset, nexxus ignores the configuration until the steps are done again, so you can replay the flow.
- **When the wizard opens by itself:** after sign-in, an admin lands in the wizard once per browser session while the setup is neither finished nor paused, something is still open, and the installation is new (no one but admins has signed in yet) or was reset. An existing installation that receives the wizard through an update does not send its admins there. It shows the dashboard card instead.
- **The wizard and the page System configuration write the same settings.** Changing the file mode or the language in one place changes it in the other.
- **The logo** is scaled down to at most 512 pixels (the symbol to 256) and is served publicly, because the sign-in page shows it before anyone is signed in.

## When something goes wrong

Messages from the server are only available in German.

| Message | Cause and fix |
|---|---|
| <Ui>Der Einrichtungscode stimmt nicht.</Ui> (the setup code is wrong) | Ask whoever runs the server for the current code. Leading and trailing spaces are ignored. |
| <Ui>Die Ersteinrichtung wurde bereits abgeschlossen.</Ui> (first setup already done) | An administrator exists. Sign in with that account, or ask that person to invite you. |
| <Ui>The AI gateway is not responding right now, so the list of providers is missing.</Ui> | The AI gateway is down or not reachable from the server. Providers you already set up can still be chosen, but the test run only succeeds once the gateway is back. |
| <Ui>Test run failed</Ui> | Look at the three checks in the card <Ui>Test run</Ui>: a red <Ui>Provider and model</Ui> means key or model; a red gateway check means the gateway cannot reach nexxus; a red <Ui>Model answers</Ui> means the model did not reply. |
| <Ui>The base URL must start with http:// or https://, e.g. http://host:11434/v1.</Ui> | Enter the full address of your endpoint, including `/v1`. |
| <Ui>Der Code ist abgelaufen. Schick einen neuen.</Ui> (the code expired) | Codes are valid for 15 minutes. Click <Ui>Send a new test email</Ui>. |
| <Ui>Der Code stimmt nicht.</Ui> (the code is wrong) | Check for a newer test mail; only the last code counts. |
| <Ui>The test email could not be sent</Ui> | The server rejected the connection or the login. Check server, port, encryption, user and password. |
| <Ui>Too light for white text: contrast 2.1:1, 3:1 is required.</Ui> (the number varies) | Pick a darker accent colour. |
| <Ui>The file is larger than 15 MB.</Ui> | Export the logo smaller. You crop it in the browser anyway. |
| <Ui>Directory ID, application ID and secret are required.</Ui> | All three values from the Entra app registration are needed. |
| <Ui>Mail sending is not confirmed yet (step Email). Invitations stay in the queue until it is.</Ui> | Finish step 6. The queued invitations go out afterwards. |

## Server settings the page warns about

While no administrator exists, the account page lists server settings that are missing. They do not block you, but they cause problems that are hard to see later. Pass them on to whoever runs the server:

| Setting | What happens without it |
|---|---|
| `NEXXUS_SECRETS_KEY` | A server does not start without it. On a developer machine, two-factor secrets and credentials of AI tools are encrypted with a known development key instead. Marked as critical. |
| `NEXXUS_REMEMBER_ME_KEY` | "Stay signed in" uses a key that changes with every restart, so everyone is signed out after a restart. Marked as critical. |
| `APP_EMAIL_ENABLED` and `SPRING_MAIL_HOST` | No mail leaves the server. The sign-in link still says "check your inbox", so nobody notices from outside. |
| `APP_FRONTEND_BASE_URL` | Links in emails point to the wrong address and don't work for recipients. |
| `AI_GATEWAY_TOKEN` | The AI assistant uses the development token that ships with the software. Replace it per environment. |

## For operators

- Set `NEXXUS_SETUP_TOKEN` to require a setup code on `/setup`. Without it, the page is open to anyone until the first administrator exists. Both setup endpoints stop working the moment an administrator exists.
- The creation of the first administrator is written to the authentication log with the source address.
- Generate the two keys with `openssl rand -base64 32`.

## Next steps

<CardGrid>
  <LinkCard title="Quickstart" description="The shortest path from the first sign-in to a first answer from the AI Assistant." href="/start/quickstart/" />
  <LinkCard title="Connect your AI" description="More providers, published models, prices, search and voice." href="/setup/connect-ai/" />
  <LinkCard title="Find your way around" description="The menu, the search, the assistant column and the bell." href="/start/tour/" />
</CardGrid>