{"id":12,"date":"2026-09-09T04:25:17","date_gmt":"2026-09-09T04:25:17","guid":{"rendered":"https:\/\/nirohelp.com\/docs\/12\/roles-and-permissions\/"},"modified":"2026-09-15T12:10:23","modified_gmt":"2026-09-15T06:10:23","slug":"roles-and-permissions","status":"publish","type":"nirohelp_doc","link":"https:\/\/nirohelp.com\/docs\/setup-configuration\/roles-and-permissions\/","title":{"rendered":"Roles and permissions"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">NiroHelp adds three WordPress roles when you activate it:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Role<\/th><th>Intended for<\/th><\/tr><\/thead><tbody><tr><td><strong>NiroHelp Manager<\/strong><\/td><td>Someone who runs the knowledge base and the ticket queue.<\/td><\/tr><tr><td><strong>NiroHelp Agent<\/strong><\/td><td>Someone who answers tickets and nothing else.<\/td><\/tr><tr><td><strong>NiroHelp User<\/strong><\/td><td>The client. Files tickets and reads their own conversation.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Standard WordPress <strong>Administrator<\/strong> users keep full access to everything.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Assigning a role<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1. Go to <strong>Users \u2192 All Users<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Edit the user.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1399\" height=\"436\" src=\"https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/Edit-user.webp\" alt=\"Edit user\" class=\"has-border-color has-ast-global-color-0-border-color wp-image-102\" style=\"border-width:2px\" srcset=\"https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/Edit-user.webp 1399w, https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/Edit-user-300x93.webp 300w, https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/Edit-user-1024x319.webp 1024w, https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/Edit-user-768x239.webp 768w\" sizes=\"auto, (max-width: 1399px) 100vw, 1399px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3. Pick the NiroHelp role from the <strong>Role<\/strong> dropdown, or use a multi-role plugin to add it on top of an existing role.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Click <strong>Update User<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"778\" height=\"541\" src=\"https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/pick-the-role.webp\" alt=\"pick the role\" class=\"has-border-color has-ast-global-color-0-border-color wp-image-103\" style=\"border-width:2px\" srcset=\"https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/pick-the-role.webp 778w, https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/pick-the-role-300x209.webp 300w, https:\/\/nirohelp.com\/docs\/wp-content\/uploads\/2026\/09\/pick-the-role-768x534.webp 768w\" sizes=\"auto, (max-width: 778px) 100vw, 778px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Clients who submit a ticket from the front end are given the NiroHelp User role automatically when their account is created, so you never assign that one by hand. Account creation has to be allowed first \u2014 see Account creation below.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What each role can reach in wp-admin today<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is narrower than the role names suggest, and it is worth reading before you hand someone a role and expect them to get to work.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Screen<\/th><th>Administrator<\/th><th>Manager<\/th><th>Agent<\/th><th>User<\/th><\/tr><\/thead><tbody><tr><td>NiroHelp \u2192 Dashboard<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>NiroHelp \u2192 AI<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>NiroHelp \u2192 Settings<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>NiroHelp \u2192 Agents<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>Docs list and editor<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>Tickets list and editor<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><td>no<\/td><\/tr><tr><td>Topics \/ Reasons \/ Products<\/td><td>yes<\/td><td>yes<\/td><td>no<\/td><td>no<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In practice:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Administrator<\/strong> sees the whole menu.<\/li>\n\n\n\n<li><strong>Manager<\/strong> sees a NiroHelp menu containing only <strong>Topics<\/strong>, <strong>Reasons<\/strong> and <strong>Products<\/strong>. WordPress promotes the first screen they can reach to be the top-level link, so the menu appears but does not open the dashboard.<\/li>\n\n\n\n<li><strong>Agent<\/strong> and <strong>User<\/strong> see no NiroHelp menu at all.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Manager and Agent are not locked out of the <em>work<\/em>, only out of the list screens. A manager can save a doc and an agent can save a ticket when they reach the editor directly \u2014 from a link, for instance. It is the list screen behind the menu that they cannot open.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>If you need a manager or an agent working inside wp-admin today, give them an Editor or Administrator account, or ask a developer to add the missing capabilities to the role.<\/strong> The recipe is in the <a href=\"..\/Developers\/\">Developers<\/a> section.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Where the roles work as intended<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anything that goes through NiroHelp&#8217;s own permission checks \u2014 the public pages, the ticket forms, the front-end queue \u2014 behaves the way the role names suggest:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A <strong>Manager<\/strong> can create and edit docs, and edit or delete any ticket.<\/li>\n\n\n\n<li>An <strong>Agent<\/strong> can read and reply to any ticket, but not delete one and not touch docs.<\/li>\n\n\n\n<li>A <strong>User<\/strong> can read and reply to their own tickets only.<\/li>\n\n\n\n<li>Settings, the dashboard, the AI screens and migration are administrator-only.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That is why a client with no admin access can still read and answer their own ticket from the front end.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What a client account can do<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The NiroHelp User role is deliberately the smallest useful set of permissions: read the site, file a ticket, edit their own ticket, read their own ticket.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Uploading files is switched off<\/strong> and should stay off. It is the role handed to anyone who signs up from the public form, and enabling it would give them a writable media library. There is no client-side attachment upload. Attachments that appear on migrated tickets came in through the importer, not from clients.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Account creation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every public path that would create a WordPress account is gated. An account is only ever created when <strong>one<\/strong> of these is true:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress&#8217;s own <strong>Settings \u2192 General \u2192 Anyone can register<\/strong> is on, or<\/li>\n\n\n\n<li><strong>NiroHelp \u2192 Settings \u2192 Tickets \u2192 Submission \u2192 Create accounts for new clients<\/strong> is ticked.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With both off, a visitor whose email matches no account is told that no account was found, rather than having one made for them silently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">One thing not to change<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Do not rename the role slugs in code. WordPress stores them against every user, so renaming them leaves your existing managers, agents and clients without access until those user records are migrated too.<\/p>\n","protected":false},"author":1,"featured_media":0,"template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"nirohelp_product":[],"nirohelp_topic":[3],"class_list":["post-12","nirohelp_doc","type-nirohelp_doc","status-publish","hentry","nirohelp_topic-setup-configuration"],"_links":{"self":[{"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/nirohelp_doc\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/nirohelp_doc"}],"about":[{"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/types\/nirohelp_doc"}],"author":[{"embeddable":true,"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/users\/1"}],"wp:attachment":[{"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/media?parent=12"}],"wp:term":[{"taxonomy":"nirohelp_product","embeddable":true,"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/nirohelp_product?post=12"},{"taxonomy":"nirohelp_topic","embeddable":true,"href":"https:\/\/nirohelp.com\/docs\/wp-json\/wp\/v2\/nirohelp_topic?post=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}