> For the complete documentation index, see [llms.txt](https://docs.euno.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.euno.ai/setup-configuration/user-management.md).

# User Management

User Management lets you invite team members, assign [personas](/setup-configuration/personas.md), and control who has access to your Euno account.

## Account Admin and Initial Setup

Every account must have at least one user with **Account Admin** privileges. Account Admins have full access to all Euno functionality at the account level. The Account Admin persona cannot be updated or deleted.

When an account is created, **initial personas** are also set up: Maintainer, Contributor, and Viewer. These are scoped to the `default` [domain](/setup-configuration/domains.md) and can be assigned to users. You can create additional custom [personas](/setup-configuration/personas.md) as needed.

## Adding Users

To add a new team member:

1. Navigate to **User Menu → Account Settings → User Management**
2. Click **Invite new user**
3. Enter the email address of the user you wish to invite
4. Select one or more **personas** to assign. Choose from built-in personas (Account Admin), initial personas (Maintainer, Contributor, Viewer), or custom personas you have created
5. Click **Add user** to send the invitation

The user will receive an email invitation to join Euno. They can log in via OAuth (GitHub, Gmail, or Okta—contact <support@euno.ai> for Okta setup) or via a magic link. Magic links expire 30 minutes after creation.

## User Permissions

Permissions are determined by the **permission set** of the persona (admin, maintainer, contributor, or viewer). See [Personas](/setup-configuration/personas.md) for the built-in and initial personas. The following permissions are available:

| Permission                   | Description                                                              |
| ---------------------------- | ------------------------------------------------------------------------ |
| manage\_members              | Manage member access: invite, remove, and update personas of other users |
| list\_stakeholders           | View the list of stakeholders and members in the account                 |
| manage\_account\_settings    | Update and manage global account settings                                |
| manage\_source\_integrations | Add, remove, and configure source integrations                           |
| view\_sources                | View metadata and configuration of connected sources                     |
| trigger\_source\_run         | Manually initiate ingestion runs for integrations                        |
| manage\_integrations         | Set up and manage integrations with external tools                       |
| view\_resource               | View data models, metrics, and metadata in the Data Model screen         |
| search\_resource             | Search across data resources                                             |
| create\_custom\_property     | Define new custom properties                                             |
| edit\_custom\_property       | Modify existing custom properties                                        |
| delete\_custom\_property     | Delete custom properties                                                 |
| read\_custom\_property       | View custom property values (read-only)                                  |
| set\_custom\_property        | Assign or update custom property values on resources                     |
| view\_dashboards             | Access and view dashboards                                               |
| view\_targets                | View git repositories and dbt projects configured as sync targets        |
| manage\_targets              | Create and configure sync targets                                        |
| view\_runs                   | View history, status, and logs of data model sync runs                   |
| manage\_runs                 | Initiate, cancel, and manage sync runs                                   |
| view\_jobs                   | View job definitions and execution details                               |
| manage\_jobs                 | Create, configure, and schedule sync jobs                                |

## Permission sets

| Archetype                              | Description                                                                                                                           |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Admin** (Account Admin, Super Admin) | Full administrative control. Can manage members and personas, configure integrations, and access all functionality.                   |
| **Maintainer**                         | Comprehensive access to manage all aspect of the account or scoped domains, except managing personas and assigning personas to users. |
| **Contributor**                        | Can manage most of Euno's resources, assign values to manual properties in the scoped domains                                         |
| **Viewer**                             | Read-only access. Can view resources, active tags and their values in the scoped domains                                              |

Permissions can be further scoped by [domain](/setup-configuration/domains.md) when using domain-scoped personas. See [Personas](/setup-configuration/personas.md) for details.

## Switching a User's Personas

To change the personas assigned to a user:

1. Navigate to **User Menu → Account Settings → User Management**
2. Search for the user using the search bar
3. Click on the user's current persona(s) to display a dropdown of available personas
4. Select or deselect personas to update the user's assignments

Users can have multiple personas and switch between them using the [User Menu](/setup-configuration/personas.md#active-persona-and-switching).

## Removing a User from an Account

To remove a user:

1. Navigate to **User Menu → Account Settings → User Management**
2. Search for the user
3. Click the vertical ellipsis <img src="https://3442486607-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjd87LSzdZm6uu6WlpVMg%2Fuploads%2Fgit-blob-9154784cde8945b0c57608f9bc7306f48270a3a9%2Fimage%20(193).png?alt=media" alt="" data-size="line"> in the user's row
4. Select **Remove from account**
5. Confirm the action in the dialog

<figure><img src="https://3442486607-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fjd87LSzdZm6uu6WlpVMg%2Fuploads%2Fgit-blob-f627ea6a013b424ab35b30d957a8eaa33f4cf93e%2Fimage%20(192).png?alt=media" alt=""><figcaption><p>Remove a User from an Account</p></figcaption></figure>

You cannot remove the last Account Admin from an account.

## Service Accounts

Account Admins can create **service accounts** from **User Menu → Account Settings → User Management**. Click **Create service account** (next to **Add user**), provide a name, and confirm.

Service accounts are used to generate **Personal Access Tokens (PATs)** for programmatic access to Euno. Tokens inherit the service account's persona and permissions. Grant only the minimum required permissions and store tokens securely. For assistance, contact your Euno account manager.

## Accepting an Invitation Sent to a Different Email

When you accept an invitation, Euno checks that the email you signed in with matches the address the invitation was sent to. They can differ — for example, you were invited at `you.ext@company.com` but your SSO/Google login signs you in as `you@company.com`.

If they differ, opening the invitation link shows a **"This invitation was sent to a different email"** screen with a few options:

* **Verify the invited email** — Euno (via Descope) emails a one-time code to the invited address. Enter it to confirm both addresses are yours; the invitation's access is then linked to the account you're signed in with, and you can sign in with either address in the future.
* **Sign in with a different account** — if you have access to the invited address as its own login, sign out and back in with it.
* **Request admin approval** — if you can't access the invited inbox, ask an account admin to approve the link. You'll get access once they approve.

If the invited address is managed by your identity provider (SSO/SCIM), Euno asks an admin to review the request instead of self-verification, to avoid merging two managed identities.

## Approving an Invitation Link Request (Admins)

When someone requests approval to link an invitation sent to a different address, Account Admins see a **Pending invitation approvals** panel at the top of **User Management**, showing who is claiming which invitation. Review the claimant and the invited address, then **Approve** (grants this account's roles to the claimant) or **Reject** (leaves the invitation for the intended recipient).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.euno.ai/setup-configuration/user-management.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
