# Custom roles

Tailor a built-in Stripe role to the access your team members need.

Custom roles let you control what a team member can do in your Stripe account more precisely than the [built-in roles](https://docs.stripe.com/get-started/account/teams/roles.md) allow. You start from a built-in role, remove the jobs and permissions your team doesn’t need, and assign the resulting custom role to team members the same way you assign any other role. Use custom roles to give each team member only the access their work requires.

## Request access  (Private preview)

Custom roles are in [private preview](https://docs.stripe.com/release-phases.md) and available to a limited number of users.

### Get early access to custom roles

Enter your email to request access to the custom roles private preview.

```bash
curl https://docs.stripe.com/preview/register \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Referer: https://docs.stripe.com/get-started/account/teams/custom-roles" \
  -d '{"email": "EMAIL", "preview": "custom_roles_private_preview"}'
```

## How custom roles work

A role is a set of permissions, which are grouped into jobs.

| Term | Description |
| --- | --- |
| Permission | Access to one kind of data or action, such as read access to charges or write access to invoices. |
| Job | A group of permissions that covers a task a team member performs, such as processing refunds. Jobs are the unit you work with most when you configure a custom role. |
| Role | A named set of jobs and permissions that you assign to a team member. |

A custom role starts as a copy of a built-in role and includes everything that role includes. From there, you remove the jobs your team doesn’t need. For finer control, you can open a job and lower an individual permission from write access to read access.

A custom role is independent of its base role after you create it. If Stripe adds permissions to the base role, those permissions don’t appear in your custom role automatically. Stripe tells you when the base role changes so you can decide whether to apply the change.

## Use cases

Custom roles let you shape support access around how your team works. For example, you can create a role that:

- Looks up payments and manages customers but can’t issue refunds, by removing **Process refunds**.
- Leaves dispute handling to a dedicated team, by removing **Respond to disputes**.
- Covers lookups only, by keeping **View payment data** and **Manage customers** and removing every other job.
- Excludes the ability to create and edit connected account data, by removing **Update connected accounts**.

You can also use custom roles for tiered support. Assign the Support Specialist role to your tier 2 agents, and assign tier 1 agents a custom role that removes **Process refunds**, **Respond to disputes**, and **Manage subscriptions**. Tier 1 agents gather information, and tier 2 agents take the actions that need more authority.

## Availability

Custom roles are in private preview. To create and manage custom roles, you need the Administrator role on an account that’s enrolled in the preview.

## Limitations

The private preview currently has the following limitations:

- Support Specialist is the only role you can use as the base for a custom role.
- You can remove jobs and permissions from the base role, but you can’t add jobs or permissions the base role doesn’t include.
- You can create up to 50 custom roles per account.
- You can assign, view, and edit a custom role only in the account or organization where you create it.
- You can’t test a custom role in a sandbox before you use it in live mode.

## See also

- [Start a team](https://docs.stripe.com/get-started/account/teams.md)
- [Single sign-on](https://docs.stripe.com/get-started/account/sso.md)
- [SCIM provisioning](https://docs.stripe.com/get-started/account/sso/scim.md)
