> For the complete documentation index, see [llms.txt](https://docs.usepylon.com/pylon-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.usepylon.com/pylon-docs/customer-portal/access-control.md).

# Access Control

Control who gets access to the portal and what level of access they get

Every contact who can log in to the portal has a portal role. The role decides which tickets, teammates, tasks, and feature requests the contact can see, and what they can change.

## Default roles

There are three default roles. You can't edit them, but you can duplicate one as a starting point for a custom role.

### No Access

Contacts with no access can't log in to the portal. You or a customer admin can revoke access at any time.

### Member

Members work on the tickets they follow. A contact follows a ticket when they requested it, were CC'd on it, or were added as a follower. They don't see their coworkers' other tickets.

Members can:

* View and reply to tickets they follow, and add or remove followers on them.
* See the **Members** tab, but not invite teammates or change roles.
* View projects and tasks shared with their account.
* View feature requests shared with their account.

### Admin

Admins can see and manage every ticket for their account. They can also invite teammates, change teammates' roles, create and edit tasks, view feature requests, and manage followers.

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FlnjKGUJ4MtUhE2GSnU5W%2Fimage.png?alt=media&amp;token=2b9c7902-7a79-4dea-a6f8-7d599db745b8" alt=""><figcaption></figcaption></figure>

## Default role for new contacts

Set the role new contacts get under **Settings > Customers > Customer portal > General > Default portal role**. Changing it doesn't affect existing contacts.

If the contact's account has domains and the contact's email domain isn't one of them, the contact gets **No Access** instead of the default role.

## Custom portal roles

Custom portal roles let you define more granular permissions for different types of portal users. Custom portal roles are available on the Enterprise plan.

<figure><img src="https://982123570-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9hXBoCTTNw5flARlUVJf%2Fuploads%2FKhcSMWqyvKUZub6kRd5m%2FScreenshot%202025-12-14%20at%2011.30.08%E2%80%AFAM.png?alt=media&amp;token=f4e361e6-b6b8-4d88-9a70-04ec63d9b6a3" alt=""><figcaption></figcaption></figure>

Go to **Customers > Contacts** and select [**Manage Portal Roles**](https://app.usepylon.com/customers/contacts/portal-roles) to view default and custom roles. From a role's menu you can:

* **Duplicate** the role.
* **Hide** the role so it can't be assigned, or **Show** it again.
* **Delete** a custom role.

#### Permissions <a href="#permissions" id="permissions"></a>

Each role has five permission areas:

| Area             | Controls                                                         | Levels                       |
| ---------------- | ---------------------------------------------------------------- | ---------------------------- |
| Issues           | Viewing and managing tickets                                     | Editor, View only, No access |
| Contacts         | Viewing teammates; with Editor, inviting them and changing roles | Editor, View only, No access |
| Tasks            | Viewing and managing tasks                                       | Editor, View only, No access |
| Feature requests | Viewing feature requests                                         | View only, No access         |
| Followers        | Adding and removing followers on tickets                         | Editor, No access            |

**Feature requests** appears only when Feature Requests is enabled for your workspace.

#### Access <a href="#access" id="access"></a>

* **Editor** - Full read and write access
* **View only** - Read access without editing capabilities
* **No access** - No visibility or interaction

#### Limit which issues a role can access

When **Issues** isn't set to **No access**, add filters on issue and contact properties to narrow which tickets the role covers. Use the **Current Contact** value to scope access to the person logged in, for example **Requester** is **Current Contact** or **Contact Follower** is **Current Contact**.

{% hint style="warning" %}
A role with no issue filters can access every ticket in the contact's account. Pylon shows a warning on the role and asks you to confirm before saving it.
{% endhint %}

## Related accounts

A contact can have portal access on more than one account. If those accounts are related as parent and sub-account, or as partner and client, the portal combines them. The contact sees issues, projects, tasks, feature requests, and notebooks across the related accounts and can filter by account. Each item still follows the permissions of the account it belongs to. Ticket forms and the embedded chat widget use the account the contact currently has selected.


---

# 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.usepylon.com/pylon-docs/customer-portal/access-control.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.
