Control user access and permissions with system and custom roles.
Roles define what users can do in Qwoty: which objects they can read, write, or delete, which settings they can manage, and which app-level actions they can perform. Each user has one role in a workspace.Roles have their own section in the settings menu: Settings › Role › Role.
You need a role with the Roles settings permission to create or modify roles. See Permissions reference.
Create custom roles when the system roles don’t match your organisation. Custom roles show a Custom badge in the list and can be edited or deleted.Use custom roles to:
Grant partial access to some object families (for example, catalogs only)
Restrict actions on an object family (for example, read customers but never delete them)
Limit which quotes users can access with the Project Access Level
In the Objects section, the Project Access Level list controls which projects (quotes) a user can access:
Own: only their own projects
Team: the projects of their teams
Workspace: all projects in the workspace
Project Access Level filters on top of the Read, Write, and Delete rights. A user with Read on Project but an Own access level only sees their own quotes.
The Apps section controls transversal capabilities that apply across modules.
Action
Description
Import CSV
Allow importing data from CSV files
Export CSV
Allow exporting data to CSV files
Overpass sales Restriction
Allow to overpass restrictions such as approval, discount, and so on
Overpass sales Restriction lets users skip restrictions such as approvals. For example, it shows the Approve without validation action on a quote that needs approval. Grant it only to senior roles.
In General Information, enter the Role Name, an optional Description, and the API Name.
3
Configure object permissions
Select the Project Access Level (Own, Team, or Workspace), then check Read, Write, and Delete for each object family.
4
Configure settings access
Check Authorize for each settings zone the role should manage (Workspace, User & Teams, Roles, Data, Developers, Organization).
5
Configure app-level actions
Check Authorize for each app-level action (Import CSV, Export CSV, Overpass sales Restriction).
6
Save
Click Save. The role appears in the list with a Custom badge.
Qwoty calculates the Licence of the role automatically: core if the role can write projects, support if it can only read projects but can write other objects. A user’s licence must match the role you assign. See Manage users.
You can’t create a custom role with exactly the same permissions as view_only.
No. System roles are locked to ensure Qwoty functions correctly. Create a custom role instead and configure the permissions to match your needs.
What happens if I delete a custom role assigned to users?
Reassign its users to another role before you delete it, so they keep their access.
Can a user have multiple roles?
No. Each user is assigned exactly one role. If you need a combination of permissions, create a custom role that bundles them.
What is the API name used for?
The API name is a technical identifier used in integrations and API calls.
Do roles affect API access?
Yes. Each API token has a role, chosen when you create it. See API tokens.
What's the difference between Project Access Level and Read permission?
Read permission decides whether a user can view projects. Project Access Level decides which ones: their own, their teams’, or all projects in the workspace.
Organize users into teams to control access to templates and catalogs.
Permissions reference
Every permission a role can grant.
Approvals & workflows
Set up approval rules that depend on roles and team scope.
Last modified on October 27, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"Qwoty","description":"Qwoty Knowledge base \u0026 Documentation","colors":{"primary":"#005FFF","light":"#ffffff","dark":"#005FFF"},"logo":{"light":"https://mintcdn.com/qwoty-45352a33/gk4Fp4-ULydfpJ9J/images/Logo-dark3.png?fit=max\u0026auto=format\u0026n=gk4Fp4-ULydfpJ9J\u0026q=85\u0026s=86d23e4573b59d0930fddeb9216fbcd2","dark":"https://mintcdn.com/qwoty-45352a33/gk4Fp4-ULydfpJ9J/images/Logo-white3.png?fit=max\u0026auto=format\u0026n=gk4Fp4-ULydfpJ9J\u0026q=85\u0026s=ab63813d7128796cde279797159f75cd","href":"https://qwoty.io"},"favicon":{"light":"https://mintcdn.com/qwoty-45352a33/gdFxQ5lvFHEHmvTF/images/favi2.png?fit=max\u0026auto=format\u0026n=gdFxQ5lvFHEHmvTF\u0026q=85\u0026s=02759adcd66f76f310693066c41baec5","dark":"https://mintcdn.com/qwoty-45352a33/CurQTwLZ6gkIdZZ6/images/Favi-4.png?fit=max\u0026auto=format\u0026n=CurQTwLZ6gkIdZZ6\u0026q=85\u0026s=1bd7725be84a501b30af97faa66d8463"},"background":{"color":{"light":"#ffffff","dark":"#030303"}},"navbar":{"links":[{"href":"https://docs.qwoty.io/contact-support","label":"Contact support"},{"href":"https://qwoty.app/signin","label":"Sign in"}]},"fonts":{"family":"Inter"},"contextual":{"options":["copy","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"getting-started/introduction"},{"language":"fr","href":"fr/getting-started/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"qwoty-45352a33","hasAudioNarration":false,"actualSubdomain":"qwoty-45352a33","customDomains":["docs.qwoty.io"],"gitSource":{"type":"github","owner":"qwoty-io","repo":"qwoty-v2","deployBranch":"docs/mintlify","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1a3059e6542c02e678c83","collectionId":"5ec8c720-4394-4078-9090-9d701e05ba20","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1a3059e6542c02e678c83"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae1a3059e6542c02e678c83","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"en","tag":"Help Center","count":102},{"language":"fr","tag":"Guide utilisateur","count":102},{"language":"en","tag":"API Reference","count":76},{"language":"fr","tag":"Développeurs","count":66},{"language":"en","tag":"How-Tos","count":40},{"language":"fr","tag":"Guides pratiques","count":40},{"language":"fr","tag":"Référence API","count":38},{"language":"fr","tag":"Démarrage","count":36},{"language":"en","tag":"Getting Started","count":33},{"language":"en","tag":"Reference","count":30},{"language":"fr","tag":"Référence","count":30},{"language":"en","tag":"Developer Docs","count":28},{"language":"en","tag":"Settings (Admin)","count":21},{"language":"fr","tag":"Paramètres (Admin)","count":21},{"language":"en","tag":"Quotes","count":20},{"language":"fr","tag":"Devis","count":20},{"language":"en","tag":"Catalog \u0026 Products","count":14},{"language":"fr","tag":"Catalogue \u0026 Produits","count":14},{"language":"en","tag":"Integrations","count":13},{"language":"fr","tag":"Intégrations","count":13},{"language":"default","tag":"API Reference","count":10},{"language":"default","tag":"Categories","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"user-guide/settings/users/manage-roles","slug":"/user-guide/settings/users/manage-roles","pageMetadata":{"title":"Manage roles","description":"Control user access and permissions with system and custom roles.","audit_date":"2026-10-27","last_updated":"2026-10-27","href":"/user-guide/settings/users/manage-roles"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Control user access and permissions with system and custom roles.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Roles define what users can do in Qwoty: which objects they can read, write, or delete, which settings they can manage, and which app-level actions they can perform. Each user has one role in a workspace.`}),`\n`,_jsxs(_components.p,{children:[`Roles have their own section in the settings menu: `,_jsx(_components.strong,{children:`Settings › Role › Role`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You need a role with the `,_jsx(_components.strong,{children:`Roles`}),` settings permission to create or modify roles. See `,_jsx(_components.a,{href:`/user-guide/settings/users/reference/permissions`,children:`Permissions reference`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`system-roles`,children:`System roles`}),`\n`,_jsxs(_components.p,{children:[`Every workspace has four system roles. They show a `,_jsx(_components.strong,{children:`System`}),` badge in the list. You can view them, but you can’t modify them.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Role (API name)`}),_jsx(_components.th,{children:`Typical use`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`admin`})}),_jsx(_components.td,{children:`Full access to the workspace and its settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`manager`})}),_jsx(_components.td,{children:`Sales managers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`view_only`})}),_jsx(_components.td,{children:`Read-only access`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`sale`})}),_jsx(_components.td,{children:`Sales reps who create and send quotes`})]})]})]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=0b94a74fff8a1ea1216b1eafe9aced21`,alt:`Role list with the admin, manager, view_only, and sale system roles`,\"data-og-width\":`614`,width:`614`,\"data-og-height\":`270`,height:`270`,\"data-path\":`images/app/settings-roles.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=b1b67f1137d493ba2991662aa19fadb7 280w, https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=d9311adc0a882fd5e119122205e1c0b5 560w, https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=ff1f9bd310f865c6a2dc31d7223b96e2 840w, https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=cd04304d48071c7cc0ff07aab7f18fd5 1100w, https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=e3eff0d5eb0d69ac2bff1739710cb201 1650w, https://mintcdn.com/qwoty-45352a33/eWpiS0eDlFAhkSLr/images/app/settings-roles.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=eWpiS0eDlFAhkSLr\u0026q=85\u0026s=6a638b74f68688f65eafbeb20ad49332 2500w`})}),`\n`,_jsxs(_components.p,{children:[`To see exactly what a system role allows, open it with `,_jsx(_components.strong,{children:`View`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`custom-roles`,children:`Custom roles`}),`\n`,_jsxs(_components.p,{children:[`Create custom roles when the system roles don’t match your organisation. Custom roles show a `,_jsx(_components.strong,{children:`Custom`}),` badge in the list and can be edited or deleted.`]}),`\n`,_jsx(_components.p,{children:`Use custom roles to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Grant partial access to some object families (for example, catalogs only)`}),`\n`,_jsx(_components.li,{children:`Restrict actions on an object family (for example, read customers but never delete them)`}),`\n`,_jsx(_components.li,{children:`Limit which quotes users can access with the Project Access Level`}),`\n`,_jsx(_components.li,{children:`Enable or disable CSV imports and exports`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`the-permission-model`,children:`The permission model`}),`\n`,_jsxs(_components.p,{children:[`A Qwoty role configures permissions in three areas: `,_jsx(_components.strong,{children:`Objects`}),`, `,_jsx(_components.strong,{children:`Settings`}),`, and `,_jsx(_components.strong,{children:`Apps`}),`. The `,_jsx(_components.a,{href:`/user-guide/settings/users/reference/permissions`,children:`Permissions reference`}),` lists every permission.`]}),`\n`,_jsx(Heading,{level:`3`,id:`objects-—-crud-per-object-family`,children:`Objects — CRUD per object family`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Objects`}),` section controls what users can read, write, or delete, broken down by object family. You set one checkbox per action per family.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Object family`}),_jsx(_components.th,{children:`Objects concerned`}),_jsx(_components.th,{children:`Actions`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Project`})}),_jsx(_components.td,{children:`Quote, contract, order`}),_jsx(_components.td,{children:`Read / Write / Delete`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Products \u0026 Pricing`})}),_jsx(_components.td,{children:`Catalogs, Products, price grid`}),_jsx(_components.td,{children:`Read / Write / Delete`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Customers`})}),_jsx(_components.td,{children:`Customers`}),_jsx(_components.td,{children:`Read / Write / Delete`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Workflow`})}),_jsx(_components.td,{children:`Approval, workflow, and configurator`}),_jsx(_components.td,{children:`Read / Write / Delete`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Content`})}),_jsx(_components.td,{children:`Contract model, media, content`}),_jsx(_components.td,{children:`Read / Write / Delete`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Templates`})}),_jsx(_components.td,{children:`Project templates`}),_jsx(_components.td,{children:`Read / Write / Delete`})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Grant `,_jsx(_components.strong,{children:`Read`}),` without `,_jsx(_components.strong,{children:`Write`}),` to give users visibility without letting them change records, for example for Finance roles.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`project-access-level`,children:`Project Access Level`}),`\n`,_jsxs(_components.p,{children:[`In the `,_jsx(_components.strong,{children:`Objects`}),` section, the `,_jsx(_components.strong,{children:`Project Access Level`}),` list controls which projects (quotes) a user can access:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Own`}),`: only their own projects`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Team`}),`: the projects of their teams`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Workspace`}),`: all projects in the workspace`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Project Access Level filters on top of the Read, Write, and Delete rights. A user with `,_jsx(_components.strong,{children:`Read`}),` on Project but an `,_jsx(_components.strong,{children:`Own`}),` access level only sees their own quotes.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`settings-—-toggle-per-admin-area`,children:`Settings — toggle per admin area`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Settings`}),` section controls access to administration zones. Each zone has a single `,_jsx(_components.strong,{children:`Authorize`}),` toggle.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`What it unlocks`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Workspace`})}),_jsx(_components.td,{children:`Set global workspace preferences`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`User \u0026 Teams`})}),_jsx(_components.td,{children:`Add or remove users and define teams`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Roles`})}),_jsx(_components.td,{children:`Define user roles and access levels`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Data`})}),_jsx(_components.td,{children:`Edit CPQ data structure and fields`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Developers`})}),_jsx(_components.td,{children:`Manage integrations, API keys, and webhooks`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Organization`})}),_jsx(_components.td,{children:`Manage multi-tenant org and billing`})]})]})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Settings access is all or nothing: a user either has access to a zone or doesn’t.`})}),`\n`,_jsx(Heading,{level:`3`,id:`apps-—-transversal-app-level-actions`,children:`Apps — transversal app-level actions`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Apps`}),` section controls transversal capabilities that apply across modules.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Import CSV`})}),_jsx(_components.td,{children:`Allow importing data from CSV files`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Export CSV`})}),_jsx(_components.td,{children:`Allow exporting data to CSV files`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Overpass sales Restriction`})}),_jsx(_components.td,{children:`Allow to overpass restrictions such as approval, discount, and so on`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Overpass sales Restriction`}),` lets users skip restrictions such as approvals. For example, it shows the `,_jsx(_components.strong,{children:`Approve without validation`}),` action on a quote that needs approval. Grant it only to senior roles.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-roles-work-with-teams`,children:`How roles work with teams`}),`\n`,_jsxs(_components.p,{children:[`Roles define `,_jsx(_components.strong,{children:`what`}),` users can do. Teams define `,_jsx(_components.strong,{children:`which resources`}),` they can access. The Project Access Level in a role connects the two.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Element`}),_jsx(_components.th,{children:`Controls`}),_jsx(_components.th,{children:`Example`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Role`})}),_jsx(_components.td,{children:`Feature access and actions`}),_jsxs(_components.td,{children:[`A `,_jsx(_components.code,{children:`sale`}),` user can write quotes; a `,_jsx(_components.code,{children:`view_only`}),` user can’t`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Team`})}),_jsx(_components.td,{children:`Group of users and the templates they can use`}),_jsx(_components.td,{children:`A sales rep belongs to the France team`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Project Access Level`})}),_jsx(_components.td,{children:`Scope of accessible projects`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Team`}),` limits the sales rep to the France team’s quotes`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`access-the-roles-screen`,children:`Access the roles screen`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open Settings`,children:_jsxs(_components.p,{children:[`In the left sidebar, click `,_jsx(_components.strong,{children:`Settings`}),`.`]})}),_jsx(Step,{title:`Open Role`,children:_jsxs(_components.p,{children:[`Under the `,_jsx(_components.strong,{children:`Role`}),` section, click `,_jsx(_components.strong,{children:`Role`}),` to view the list of roles.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`view-the-roles-list`,children:`View the roles list`}),`\n`,_jsx(_components.p,{children:`The roles table displays:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Name`}),`: the role name`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API Name`}),`: technical identifier used for integrations and API calls`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`System`}),`: a `,_jsx(_components.strong,{children:`System`}),` badge for system roles, `,_jsx(_components.strong,{children:`Custom`}),` for the others`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Use the search bar to filter roles.`}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-new-role`,children:`Create a new role`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Click New`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New`}),` at the top right of the list.`]})}),_jsx(Step,{title:`Set the role identity`,children:_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`General Information`}),`, enter the `,_jsx(_components.strong,{children:`Role Name`}),`, an optional `,_jsx(_components.strong,{children:`Description`}),`, and the `,_jsx(_components.strong,{children:`API Name`}),`.`]})}),_jsx(Step,{title:`Configure object permissions`,children:_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Project Access Level`}),` (Own, Team, or Workspace), then check `,_jsx(_components.strong,{children:`Read`}),`, `,_jsx(_components.strong,{children:`Write`}),`, and `,_jsx(_components.strong,{children:`Delete`}),` for each object family.`]})}),_jsx(Step,{title:`Configure settings access`,children:_jsxs(_components.p,{children:[`Check `,_jsx(_components.strong,{children:`Authorize`}),` for each settings zone the role should manage (Workspace, User \u0026 Teams, Roles, Data, Developers, Organization).`]})}),_jsx(Step,{title:`Configure app-level actions`,children:_jsxs(_components.p,{children:[`Check `,_jsx(_components.strong,{children:`Authorize`}),` for each app-level action (Import CSV, Export CSV, Overpass sales Restriction).`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`. The role appears in the list with a `,_jsx(_components.strong,{children:`Custom`}),` badge.`]})})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`Qwoty calculates the `,_jsx(_components.strong,{children:`Licence`}),` of the role automatically: `,_jsx(_components.code,{children:`core`}),` if the role can write projects, `,_jsx(_components.code,{children:`support`}),` if it can only read projects but can write other objects. A user’s licence must match the role you assign. See `,_jsx(_components.a,{href:`/user-guide/settings/users/manage-users`,children:`Manage users`}),`.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`You can’t create a custom role with exactly the same permissions as `,_jsx(_components.code,{children:`view_only`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`view-a-system-role`,children:`View a system role`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Locate the role`,children:_jsx(_components.p,{children:`Find the system role in the roles list.`})}),_jsx(Step,{title:`Open the menu`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`⋯`}),` menu to the right of the row.`]})}),_jsx(Step,{title:`Select View`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`View`}),` to open the role details in read-only mode.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`edit-a-custom-role`,children:`Edit a custom role`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Locate the role`,children:_jsx(_components.p,{children:`Find the custom role in the roles list.`})}),_jsx(Step,{title:`Open the menu`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`⋯`}),` menu to the right of the row.`]})}),_jsx(Step,{title:`Select Edit`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Edit`}),`, update the Objects, Settings, or Apps sections, then click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`delete-a-custom-role`,children:`Delete a custom role`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Locate the role`,children:_jsx(_components.p,{children:`Find the custom role in the roles list.`})}),_jsx(Step,{title:`Open the menu`,children:_jsxs(_components.p,{children:[`Click the `,_jsx(_components.strong,{children:`⋯`}),` menu to the right of the row.`]})}),_jsx(Step,{title:`Select Delete`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Delete`}),`, then confirm with `,_jsx(_components.strong,{children:`Delete role`}),`.`]})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Before deleting a custom role, reassign any users currently holding it. Users with a deleted role lose access until they receive a new role.`})}),`\n`,_jsx(Heading,{level:`2`,id:`assign-a-role-to-a-user`,children:`Assign a role to a user`}),`\n`,_jsx(_components.p,{children:`You assign a role when you invite a new user or edit an existing one.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the user list`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Settings`}),`, then click `,_jsx(_components.strong,{children:`User`}),` in the `,_jsx(_components.strong,{children:`Users \u0026 Team`}),` section.`]})}),_jsx(Step,{title:`Select the user`,children:_jsxs(_components.p,{children:[`To invite a new user, click `,_jsx(_components.strong,{children:`New`}),`. To edit an existing user, click the `,_jsx(_components.strong,{children:`⋯`}),` menu on their row and select `,_jsx(_components.strong,{children:`Edit`}),`.`]})}),_jsx(Step,{title:`Choose the role`,children:_jsxs(_components.p,{children:[`Select the `,_jsx(_components.strong,{children:`Licence`}),`, then the `,_jsx(_components.strong,{children:`Role`}),`. The role list only shows roles compatible with the licence.`]})}),_jsx(Step,{title:`Save your changes`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),`.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`common-questions`,children:`Common questions`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Can I modify a system role?`,id:`can-i-modify-a-system-role`,children:_jsx(_components.p,{children:`No. System roles are locked to ensure Qwoty functions correctly. Create a custom role instead and configure the permissions to match your needs.`})}),_jsx(Accordion,{title:`What happens if I delete a custom role assigned to users?`,id:`what-happens-if-i-delete-a-custom-role-assigned-to-users`,children:_jsx(_components.p,{children:`Reassign its users to another role before you delete it, so they keep their access.`})}),_jsx(Accordion,{title:`Can a user have multiple roles?`,id:`can-a-user-have-multiple-roles`,children:_jsx(_components.p,{children:`No. Each user is assigned exactly one role. If you need a combination of permissions, create a custom role that bundles them.`})}),_jsx(Accordion,{title:`What is the API name used for?`,id:`what-is-the-api-name-used-for`,children:_jsx(_components.p,{children:`The API name is a technical identifier used in integrations and API calls.`})}),_jsx(Accordion,{title:`Do roles affect API access?`,id:`do-roles-affect-api-access`,children:_jsxs(_components.p,{children:[`Yes. Each API token has a role, chosen when you create it. See `,_jsx(_components.a,{href:`/user-guide/settings/developer/api-tokens`,children:`API tokens`}),`.`]})}),_jsx(Accordion,{title:`What's the difference between Project Access Level and Read permission?`,id:`whats-the-difference-between-project-access-level-and-read-permission`,children:_jsxs(_components.p,{children:[`Read permission decides `,_jsx(_components.strong,{children:`whether`}),` a user can view projects. Project Access Level decides `,_jsx(_components.strong,{children:`which`}),` ones: their own, their teams’, or all projects in the workspace.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Manage users`,icon:`users`,href:`/user-guide/settings/users/manage-users`,children:_jsx(_components.p,{children:`View, invite, and edit users in your workspace.`})}),_jsx(Card,{title:`Manage teams`,icon:`user-group`,href:`/user-guide/settings/users/manage-teams`,children:_jsx(_components.p,{children:`Organize users into teams to control access to templates and catalogs.`})}),_jsx(Card,{title:`Permissions reference`,icon:`table-list`,href:`/user-guide/settings/users/reference/permissions`,children:_jsx(_components.p,{children:`Every permission a role can grant.`})}),_jsx(Card,{title:`Approvals \u0026 workflows`,icon:`circle-check`,href:`/user-guide/workflows/introduction`,children:_jsx(_components.p,{children:`Set up approval rules that depend on roles and team scope.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Manage roles","description":"Control user access and permissions with system and custom roles.","audit_date":"2026-10-27","last_updated":"2026-10-27","href":"/user-guide/settings/users/manage-roles"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"System roles","slug":"system-roles","depth":2,"children":[]},{"title":"Custom roles","slug":"custom-roles","depth":2,"children":[]},{"title":"The permission model","slug":"the-permission-model","depth":2,"children":[{"title":"Objects — CRUD per object family","slug":"objects-—-crud-per-object-family","depth":3,"children":[]},{"title":"Project Access Level","slug":"project-access-level","depth":3,"children":[]},{"title":"Settings — toggle per admin area","slug":"settings-—-toggle-per-admin-area","depth":3,"children":[]},{"title":"Apps — transversal app-level actions","slug":"apps-—-transversal-app-level-actions","depth":3,"children":[]}]},{"title":"How roles work with teams","slug":"how-roles-work-with-teams","depth":2,"children":[]},{"title":"Access the roles screen","slug":"access-the-roles-screen","depth":2,"children":[]},{"title":"View the roles list","slug":"view-the-roles-list","depth":2,"children":[]},{"title":"Create a new role","slug":"create-a-new-role","depth":2,"children":[]},{"title":"View a system role","slug":"view-a-system-role","depth":2,"children":[]},{"title":"Edit a custom role","slug":"edit-a-custom-role","depth":2,"children":[]},{"title":"Delete a custom role","slug":"delete-a-custom-role","depth":2,"children":[]},{"title":"Assign a role to a user","slug":"assign-a-role-to-a-user","depth":2,"children":[]},{"title":"Common questions","slug":"common-questions","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/qwoty-45352a33/617cb85cf3308d35/plain-chat.js"],"subdomain":"qwoty-45352a33","siteName":"Qwoty","title":"Manage roles - Qwoty","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/user-guide/settings/users/manage-roles","matchLevel":0},"fr":{"href":"/fr/user-guide/settings/users/manage-roles","matchLevel":1}}},"lastModified":"2026-10-27T11:11:09.209Z","gitLastModified":"2026-10-27T11:10:52.000Z","originalFileLocation":"user-guide/settings/users/manage-roles.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Control user access and permissions with system and custom roles.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Qwoty\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Manage roles - Qwoty\">\u003cmeta data-mint-head property=\"og:description\" content=\"Control user access and permissions with system and custom roles.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Qwoty\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://qwoty-45352a33.mintlify.app/_mintlify/api/og/v2?division=Users%2C+Teams+%26+Roles\u0026amp;title=Manage+roles\u0026amp;description=Control+user+access+and+permissions+with+system+and+custom+roles.\u0026amp;theme=479ea95918077de376b56582\u0026amp;signature=b53b476d9d1afd2bf31cfbf64d824e5973d279bb0c5a25c0c9f22084b4f7c86d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Manage roles - Qwoty\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Control user access and permissions with system and custom roles.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://qwoty-45352a33.mintlify.app/_mintlify/api/og/v2?division=Users%2C+Teams+%26+Roles\u0026amp;title=Manage+roles\u0026amp;description=Control+user+access+and+permissions+with+system+and+custom+roles.\u0026amp;theme=479ea95918077de376b56582\u0026amp;signature=b53b476d9d1afd2bf31cfbf64d824e5973d279bb0c5a25c0c9f22084b4f7c86d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/qwoty-45352a33/1j3WJiLJddhEThQe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Qwoty\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#005FFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/user-guide/settings/users/manage-roles.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://docs.qwoty.io/fr/user-guide/settings/users/manage-roles\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.qwoty.io/#organization\",\"name\":\"Qwoty\",\"url\":\"https://docs.qwoty.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/qwoty-45352a33/gk4Fp4-ULydfpJ9J/images/Logo-dark3.png?fit=max\u0026auto=format\u0026n=gk4Fp4-ULydfpJ9J\u0026q=85\u0026s=86d23e4573b59d0930fddeb9216fbcd2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.qwoty.io#website\",\"name\":\"Qwoty\",\"url\":\"https://docs.qwoty.io\",\"publisher\":{\"@id\":\"https://docs.qwoty.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles#webpage\",\"url\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\",\"name\":\"Manage roles\",\"description\":\"Control user access and permissions with system and custom roles.\",\"dateModified\":\"2026-10-27T11:10:52.000Z\",\"isPartOf\":{\"@id\":\"https://docs.qwoty.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Settings (Admin)\",\"item\":\"https://docs.qwoty.io/user-guide/settings/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Users, Teams \u0026 Roles\",\"item\":\"https://docs.qwoty.io/user-guide/settings/users/manage-users\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Manage roles\",\"item\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles#article\",\"headline\":\"Manage roles\",\"name\":\"Manage roles\",\"description\":\"Control user access and permissions with system and custom roles.\",\"url\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles\",\"mainEntityOfPage\":{\"@id\":\"https://docs.qwoty.io/user-guide/settings/users/manage-roles#webpage\"},\"dateModified\":\"2026-10-27T11:10:52.000Z\",\"publisher\":{\"@id\":\"https://docs.qwoty.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.qwoty.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Qwoty\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Qwoty","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Getting Started","icon":"rocket","pages":[{"title":"Getting Started","href":"/getting-started/introduction"}]},{"tab":"Help Center","icon":"life-ring","pages":[{"title":"Welcome to help center","icon":"house","href":"/user-guide"},{"group":"Quotes","icon":"file-invoice-dollar","pages":[{"title":"Quotes","sidebarTitle":"Quotes","href":"/user-guide/quotes/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"Quote lifecycle","href":"/user-guide/quotes/reference/lifecycle"},{"title":"Quote anatomy","sidebarTitle":"Quote anatomy","href":"/user-guide/quotes/reference/quote-anatomy"},{"title":"Quote sections","sidebarTitle":"Quote sections","href":"/user-guide/quotes/reference/quote-sections"},{"title":"Quote list and analytics","sidebarTitle":"Quote list and analytics","href":"/user-guide/quotes/reference/quote-list-and-analytics"},{"title":"Gross margin","sidebarTitle":"Gross margin","href":"/user-guide/quotes/reference/margin"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create a quote","sidebarTitle":"Create a quote","href":"/user-guide/quotes/how-tos/create-quote"},{"title":"Add products and options","href":"/user-guide/quotes/how-tos/add-products-and-options"},{"title":"Apply a discount","href":"/user-guide/quotes/how-tos/apply-discount"},{"title":"Duplicate a quote","sidebarTitle":"Duplicate a quote","href":"/user-guide/quotes/how-tos/duplicate-quote"},{"title":"Submit a quote for approval","sidebarTitle":"Submit for approval","href":"/user-guide/quotes/how-tos/submit-for-approval"},{"title":"Publish to Dealroom","href":"/user-guide/quotes/how-tos/publish-to-dealroom"},{"title":"Import line items with AI","sidebarTitle":"Build with AI","href":"/user-guide/quotes/how-tos/import-line-items-with-ai"},{"title":"Build quote sections","sidebarTitle":"Build quote sections","href":"/user-guide/quotes/how-tos/build-quote-sections"},{"title":"Configure line items","sidebarTitle":"Configure line items","href":"/user-guide/quotes/how-tos/configure-line-items"},{"title":"Change a quote status","sidebarTitle":"Change quote status","href":"/user-guide/quotes/how-tos/change-quote-status"},{"title":"Set taxes and payment terms","sidebarTitle":"Taxes and payment terms","href":"/user-guide/quotes/how-tos/taxes-and-payment-terms"}]}]},{"group":"Catalog \u0026 Products","icon":"box","pages":[{"title":"Catalog and Products","href":"/user-guide/catalog/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"Catalog vs Pricebook vs Bundle","href":"/user-guide/catalog/reference/catalog-vs-pricebook-vs-bundle"},{"title":"Variants and options","href":"/user-guide/catalog/reference/variants-and-options"},{"title":"Pricing types","href":"/user-guide/catalog/reference/pricing-types"},{"title":"Product configurator","sidebarTitle":"Product configurator","href":"/user-guide/catalog/reference/product-configurator"},{"title":"Product performance and relations","sidebarTitle":"Performance and relations","href":"/user-guide/catalog/reference/product-performance-and-relations"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create a product","href":"/user-guide/catalog/how-tos/create-product"},{"title":"Manage variants","href":"/user-guide/catalog/how-tos/manage-variants"},{"title":"Create a bundle","href":"/user-guide/catalog/how-tos/create-bundle"},{"title":"Build a product configuration","sidebarTitle":"Build a configuration","href":"/user-guide/catalog/how-tos/product-configurator"},{"title":"Create a pricebook","href":"/user-guide/catalog/how-tos/create-pricebook"},{"title":"Configure discounts","href":"/user-guide/catalog/how-tos/configure-discounts"},{"title":"Manage product options","href":"/user-guide/catalog/how-tos/manage-product-options"},{"title":"Configure Buy X get Y","href":"/user-guide/catalog/how-tos/configure-buy-x-get-y"}]}]},{"group":"Customers","icon":"users","pages":[{"title":"Customers","href":"/user-guide/customers/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"The customer record","sidebarTitle":"Customer record","href":"/user-guide/customers/reference/customer-record"},{"title":"Segments","href":"/user-guide/customers/reference/segments"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create a customer","sidebarTitle":"Create a customer","href":"/user-guide/customers/how-tos/create-customer"},{"title":"Create a segment","href":"/user-guide/customers/how-tos/create-segment"}]}]},{"group":"Templates","icon":"clone","pages":[{"title":"Templates","sidebarTitle":"Introduction","href":"/user-guide/templates/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"What is a template","sidebarTitle":"What is a template","href":"/user-guide/templates/reference/what-is-a-template"},{"title":"Quote, contract section and order numbering","sidebarTitle":"Quote, contract and order","href":"/user-guide/templates/reference/quote-vs-order-vs-contract"},{"title":"Template settings","sidebarTitle":"Template settings","href":"/user-guide/templates/reference/template-settings"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create a quote template","href":"/user-guide/templates/how-tos/create-quote-template"},{"title":"Link a contract model","href":"/user-guide/templates/how-tos/link-contract-model"},{"title":"Duplicate a template","sidebarTitle":"Duplicate a template","href":"/user-guide/templates/how-tos/duplicate-template"}]}]},{"group":"Approvals \u0026 Workflows","icon":"circle-check","pages":[{"title":"Approvals and Workflows","sidebarTitle":"Introduction","href":"/user-guide/workflows/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"How approvals work","sidebarTitle":"How approvals work","href":"/user-guide/workflows/reference/how-approvals-work"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create an approval workflow","sidebarTitle":"Create workflow","href":"/user-guide/workflows/how-tos/create-approval-workflow"},{"title":"Approve or reject a quote","href":"/user-guide/workflows/how-tos/approve-or-reject-quote"}]}]},{"group":"Dealroom","icon":"handshake","pages":[{"title":"Dealroom","href":"/user-guide/dealroom/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"What is Dealroom","sidebarTitle":"What is Dealroom","href":"/user-guide/dealroom/reference/what-is-dealroom"},{"title":"The client view","sidebarTitle":"Client view","href":"/user-guide/dealroom/reference/client-view"},{"title":"Email tracking","sidebarTitle":"Email tracking","href":"/user-guide/dealroom/reference/email-tracking"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Publish a quote to Dealroom","href":"/user-guide/dealroom/how-tos/publish-quote"},{"title":"Configure the signature","sidebarTitle":"Configure the signature","href":"/user-guide/dealroom/how-tos/configure-signature"}]}]},{"group":"Documents \u0026 Models","icon":"folder","pages":[{"title":"Documents and Models","sidebarTitle":"Introduction","href":"/user-guide/documents/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"Contract model and variables","sidebarTitle":"Contract models","href":"/user-guide/documents/reference/contract-model-and-variables"},{"title":"Content blocks","href":"/user-guide/documents/reference/content-blocks"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Create a contract model","href":"/user-guide/documents/how-tos/create-contract-model"},{"title":"Use dynamic variables","href":"/user-guide/documents/how-tos/use-dynamic-variables"},{"title":"Manage the media library","sidebarTitle":"Manage media library","href":"/user-guide/documents/how-tos/manage-media-library"},{"title":"Add a contract to a quote","sidebarTitle":"Add a contract to a quote","href":"/user-guide/documents/how-tos/add-contract-to-quote"},{"title":"Create a content block","sidebarTitle":"Create a content block","href":"/user-guide/documents/how-tos/create-content-block"}]}]},{"group":"Settings (Admin)","icon":"sliders","pages":[{"title":"Settings","href":"/user-guide/settings/introduction"},{"group":"Workspace","icon":"building","pages":[{"title":"General workspace settings","sidebarTitle":"General","href":"/user-guide/settings/workspace/general"},{"title":"Business units","href":"/user-guide/settings/workspace/business-units"},{"title":"Quote settings","sidebarTitle":"Quote settings","href":"/user-guide/settings/workspace/quote-settings"},{"title":"Currencies and taxes","href":"/user-guide/settings/workspace/currencies-and-taxes"},{"title":"Payment terms","href":"/user-guide/settings/workspace/payment-terms"},{"title":"Payment methods","sidebarTitle":"Payment methods","href":"/user-guide/settings/workspace/payment-methods"},{"title":"Forms","href":"/user-guide/settings/workspace/forms"}]},{"group":"Users, Teams \u0026 Roles","icon":"user-shield","pages":[{"title":"Manage users","href":"/user-guide/settings/users/manage-users"},{"title":"Manage teams","sidebarTitle":"Manage teams","description":"Group users into teams and link the templates they can use to create quotes.","href":"/user-guide/settings/users/manage-teams"},{"title":"Manage roles","href":"/user-guide/settings/users/manage-roles"},{"title":"Permissions reference","sidebarTitle":"Permissions","description":"Every permission a Qwoty role can grant: objects, project access level, settings, and apps.","href":"/user-guide/settings/users/reference/permissions"}]},{"group":"Languages","icon":"wrench","pages":[{"title":"Languages and localization","href":"/user-guide/settings/customization/translations"}]},{"group":"Developer","pages":[{"title":"API tokens","href":"/user-guide/settings/developer/api-tokens"},{"title":"Webhooks","href":"/user-guide/settings/developer/webhooks"}]},{"group":"Organisation","pages":[{"title":"Organisation and workspaces","sidebarTitle":"Introduction","href":"/user-guide/settings/organisation/introduction"},{"title":"Subscription and seats","href":"/user-guide/settings/organisation/subscription-and-seats"},{"title":"Create a workspace","href":"/user-guide/settings/organisation/how-tos/create-workspace"},{"title":"Switch workspace","href":"/user-guide/settings/organisation/how-tos/switch-workspace"}]},{"group":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/user-guide/settings/integrations/introduction"},{"title":"CRM integrations","sidebarTitle":"CRM","href":"/user-guide/settings/integrations/crm"}]}]},{"group":"Data migration","icon":"database","pages":[{"title":"Data migration","sidebarTitle":"Overview","href":"/user-guide/data-migration/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"Supported file formats","sidebarTitle":"File formats","href":"/user-guide/data-migration/reference/file-formats"},{"title":"Field mapping","sidebarTitle":"Field mapping","href":"/user-guide/data-migration/reference/field-mapping"},{"title":"Uniqueness constraints","sidebarTitle":"Uniqueness constraints","href":"/user-guide/data-migration/reference/uniqueness-constraints"},{"title":"Import relations between objects","sidebarTitle":"Import relations","href":"/user-guide/data-migration/reference/import-relations"},{"title":"Error handling and validation","sidebarTitle":"Error handling","href":"/user-guide/data-migration/reference/error-handling"}]},{"group":"How-Tos","icon":"list-check","pages":[{"title":"Prepare your CSV files","sidebarTitle":"Prepare your CSV","href":"/user-guide/data-migration/how-tos/prepare-csv-files"},{"title":"Import products","sidebarTitle":"Import products","href":"/user-guide/data-migration/how-tos/import-products"},{"title":"Import and export prices","sidebarTitle":"Import \u0026 export prices","href":"/user-guide/data-migration/how-tos/import-prices"}]}]},{"group":"Data Model","icon":"diagram-project","pages":[{"title":"Data model","sidebarTitle":"Overview","href":"/user-guide/data-model/introduction"},{"group":"Reference","icon":"book-open","pages":[{"title":"Objects","sidebarTitle":"Objects","href":"/user-guide/data-model/reference/objects"},{"title":"Field types","sidebarTitle":"Field types","href":"/user-guide/data-model/reference/field-types"},{"title":"Field properties","sidebarTitle":"Field properties","href":"/user-guide/data-model/reference/field-properties"},{"title":"CRM mapping","sidebarTitle":"CRM mapping","href":"/user-guide/data-model/reference/crm-mapping"}]},{"group":"How-Tos","pages":[{"title":"Create a Quote custom field","sidebarTitle":"Quote custom field","href":"/user-guide/data-model/how-tos/create-quote-custom-field"},{"title":"Create a Product custom field","sidebarTitle":"Product custom field","href":"/user-guide/data-model/how-tos/create-product-custom-field"},{"title":"Create a Customer custom field","sidebarTitle":"Customer custom field","href":"/user-guide/data-model/how-tos/create-customer-custom-field"},{"title":"Create a Contract custom field","sidebarTitle":"Contract custom field","href":"/user-guide/data-model/how-tos/create-contract-custom-field"}]}]},{"group":"Troubleshooting","icon":"question-circle","pages":[{"title":"Why am I or my client not receiving Qwoty email notifications?","sidebarTitle":"Email notifications","icon":"envelope","href":"/user-guide/troubleshooting/email-notifications"}]}]},{"tab":"Developer Docs","icon":"books","pages":[{"title":"Developer Docs","href":"/developers/introduction"}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/catalogs/create"}]},{"tab":"Changelog","icon":"bolt-lightning","pages":[{"title":"Changelog","href":"/changelog"}]}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/user-guide/settings/users/manage-roles"}]}]},"title":"Manage roles - Qwoty","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DYplxqhs.js","DynamicMarkdown-Cc6AuSHS.js","zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}