> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/administration/basics/roles-and-permissions-how-access-works.md).

# Roles and permissions: how access works

Access in Essential is controlled by roles. A role is a named bundle of permissions, and each user is assigned one or more roles. A user's effective access is the union of every permission across all of their roles, so adding a role only ever grants more, never less.

Permissions are grouped into categories and cover specific abilities, for example viewing invoices, editing quotes, filling out inspection reports, managing users, or opening property files.

Some permissions depend on others: turning one on automatically pulls in everything it requires, and turning a required one off removes anything that depended on it. Essential ships with built-in default roles. These are read-only and cannot be edited or deleted directly.

Creating, duplicating, editing, and deleting roles is self-serve: anyone holding the Manage roles permission can create a role, duplicate a built-in role into an editable copy, edit it, and delete it directly from the Roles & Permissions page.

When management actions are available, a key limit protects against privilege escalation: you cannot grant a permission you do not hold yourself.

> **Where to find it:** Settings, then Roles & Permissions and Users

## Related guides

* [Managing portal users (inviting, access scope, and editing)](/administration/what-your-customers-see-in-the-customer-portal/managing-portal-users-inviting-access-scope-and-editing.md)
* [How your customers sign in to the Customer Portal](/administration/what-your-customers-see-in-the-customer-portal/how-your-customers-sign-in-to-the-customer-portal.md)


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://learn.withessential.com/administration/basics/roles-and-permissions-how-access-works.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
