[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"documentation:page:\u002Fdocumentation\u002Fteam\u002Froles-permissions":3,"documentation:nav":819},{"id":4,"title":5,"body":6,"category":315,"description":809,"extension":810,"meta":811,"navigation":812,"order":813,"path":814,"seo":815,"stem":816,"updated":817,"__hash__":818},"documentation\u002Fdocumentation\u002Fteam\u002Froles-permissions.md","Roles & permissions",{"type":7,"value":8,"toc":790},"minimark",[9,13,18,69,72,76,84,88,93,227,240,247,251,313,317,369,373,434,438,500,504,546,550,622,626,658,662,754,758],[10,11,12],"p",{},"Every team member in a project has a role, and every role is a set of granular permissions. All permission checks are enforced on the backend; the UI only hides what you cannot do anyway.",[14,15,17],"h2",{"id":16},"built-in-roles","Built-in roles",[19,20,21,34],"table",{},[22,23,24],"thead",{},[25,26,27,31],"tr",{},[28,29,30],"th",{},"Role",[28,32,33],{},"Description",[35,36,37,49,59],"tbody",{},[25,38,39,46],{},[40,41,42],"td",{},[43,44,45],"strong",{},"Owner",[40,47,48],{},"Full access to every permission. The owner cannot be removed from the project.",[25,50,51,56],{},[40,52,53],{},[43,54,55],{},"Admin",[40,57,58],{},"Everything except disconnecting GitHub, removing Tebex stores, and deleting the project.",[25,60,61,66],{},[40,62,63],{},[43,64,65],{},"Staff",[40,67,68],{},"Handles tickets day to day: reply, assign, change status, use AI tools, view CSAT, but no team, role, or settings management.",[10,70,71],{},"Admin and Staff are created with every project as sensible defaults. Only the Owner role is locked; the others can be adjusted like custom roles.",[14,73,75],{"id":74},"custom-roles","Custom roles",[10,77,78,79,83],{},"You can create custom roles with any combination of the permissions below. Roles have a position that defines their hierarchy, and the ",[80,81],"permission-label",{"permission":82},"roles.reorder"," permission controls who can change that hierarchy.",[14,85,87],{"id":86},"permission-reference","Permission reference",[89,90,92],"h3",{"id":91},"tickets","Tickets",[19,94,95,105],{},[22,96,97],{},[25,98,99,102],{},[28,100,101],{},"Permission",[28,103,104],{},"What it allows",[35,106,107,117,127,137,147,157,167,177,187,197,207,217],{},[25,108,109,114],{},[40,110,111],{},[80,112],{"permission":113},"tickets.view_all",[40,115,116],{},"View all tickets in the project",[25,118,119,124],{},[40,120,121],{},[80,122],{"permission":123},"tickets.create",[40,125,126],{},"Create tickets",[25,128,129,134],{},[40,130,131],{},[80,132],{"permission":133},"tickets.update",[40,135,136],{},"Update tickets",[25,138,139,144],{},[40,140,141],{},[80,142],{"permission":143},"tickets.delete",[40,145,146],{},"Delete tickets",[25,148,149,154],{},[40,150,151],{},[80,152],{"permission":153},"tickets.assign",[40,155,156],{},"Assign tickets to team members",[25,158,159,164],{},[40,160,161],{},[80,162],{"permission":163},"tickets.change_status",[40,165,166],{},"Change ticket status",[25,168,169,174],{},[40,170,171],{},[80,172],{"permission":173},"tickets.change_priority",[40,175,176],{},"Change ticket priority",[25,178,179,184],{},[40,180,181],{},[80,182],{"permission":183},"tickets.auto_assign",[40,185,186],{},"Configure auto-assignment rules",[25,188,189,194],{},[40,190,191],{},[80,192],{"permission":193},"tickets.ask_ai",[40,195,196],{},"Use AI to generate response suggestions",[25,198,199,204],{},[40,200,201],{},[80,202],{"permission":203},"tickets.view_settings",[40,205,206],{},"View ticket settings",[25,208,209,214],{},[40,210,211],{},[80,212],{"permission":213},"tickets.update_settings",[40,215,216],{},"Update ticket settings",[25,218,219,224],{},[40,220,221],{},[80,222],{"permission":223},"tickets.manage_github_issues",[40,225,226],{},"Create, link, and unlink GitHub issues from tickets",[10,228,229,235,236,239],{},[43,230,231,232,234],{},"The ",[80,233],{"permission":113}," effect:"," this permission decides ticket visibility. With it, a member sees every ticket in the project. Without it, they only see tickets they are ",[43,237,238],{},"assigned to",", useful for external collaborators or trainees who should only work their own queue.",[10,241,242,243,246],{},"The restriction covers ",[43,244,245],{},"reading and writing alike",": a member limited to their assignments cannot post a message, change read state, or assign somebody on a ticket outside their queue — including assigning themselves to reach it. It also applies to the real-time connection, so the ticket's live updates are never delivered for a ticket they cannot open.",[89,248,250],{"id":249},"messages","Messages",[19,252,253,261],{},[22,254,255],{},[25,256,257,259],{},[28,258,101],{},[28,260,104],{},[35,262,263,273,283,293,303],{},[25,264,265,270],{},[40,266,267],{},[80,268],{"permission":269},"messages.create",[40,271,272],{},"Send messages",[25,274,275,280],{},[40,276,277],{},[80,278],{"permission":279},"messages.create_internal",[40,281,282],{},"Send internal notes (never visible to customers)",[25,284,285,290],{},[40,286,287],{},[80,288],{"permission":289},"messages.edit_own",[40,291,292],{},"Edit own messages",[25,294,295,300],{},[40,296,297],{},[80,298],{"permission":299},"messages.delete_own",[40,301,302],{},"Delete own messages",[25,304,305,310],{},[40,306,307],{},[80,308],{"permission":309},"messages.delete_any",[40,311,312],{},"Delete any message",[89,314,316],{"id":315},"team","Team",[19,318,319,327],{},[22,320,321],{},[25,322,323,325],{},[28,324,101],{},[28,326,104],{},[35,328,329,339,349,359],{},[25,330,331,336],{},[40,332,333],{},[80,334],{"permission":335},"team.view",[40,337,338],{},"View team members",[25,340,341,346],{},[40,342,343],{},[80,344],{"permission":345},"team.invite",[40,347,348],{},"Invite team members",[25,350,351,356],{},[40,352,353],{},[80,354],{"permission":355},"team.remove",[40,357,358],{},"Remove team members",[25,360,361,366],{},[40,362,363],{},[80,364],{"permission":365},"team.change_roles",[40,367,368],{},"Change member roles",[89,370,372],{"id":371},"roles","Roles",[19,374,375,383],{},[22,376,377],{},[25,378,379,381],{},[28,380,101],{},[28,382,104],{},[35,384,385,395,405,415,425],{},[25,386,387,392],{},[40,388,389],{},[80,390],{"permission":391},"roles.view",[40,393,394],{},"View custom roles",[25,396,397,402],{},[40,398,399],{},[80,400],{"permission":401},"roles.create",[40,403,404],{},"Create custom roles",[25,406,407,412],{},[40,408,409],{},[80,410],{"permission":411},"roles.update",[40,413,414],{},"Update custom roles",[25,416,417,422],{},[40,418,419],{},[80,420],{"permission":421},"roles.delete",[40,423,424],{},"Delete custom roles",[25,426,427,431],{},[40,428,429],{},[80,430],{"permission":82},[40,432,433],{},"Reorder roles (change hierarchy)",[89,435,437],{"id":436},"integrations","Integrations",[19,439,440,448],{},[22,441,442],{},[25,443,444,446],{},[28,445,101],{},[28,447,104],{},[35,449,450,460,470,480,490],{},[25,451,452,457],{},[40,453,454],{},[80,455],{"permission":456},"integrations.view",[40,458,459],{},"View integrations",[25,461,462,467],{},[40,463,464],{},[80,465],{"permission":466},"integrations.github.configure",[40,468,469],{},"Configure the GitHub integration",[25,471,472,477],{},[40,473,474],{},[80,475],{"permission":476},"integrations.github.disconnect",[40,478,479],{},"Disconnect GitHub",[25,481,482,487],{},[40,483,484],{},[80,485],{"permission":486},"integrations.discord.configure",[40,488,489],{},"Configure the Discord integration",[25,491,492,497],{},[40,493,494],{},[80,495],{"permission":496},"integrations.discord.send_embed",[40,498,499],{},"Send the portal embed to Discord channels",[89,501,503],{"id":502},"project","Project",[19,505,506,514],{},[22,507,508],{},[25,509,510,512],{},[28,511,101],{},[28,513,104],{},[35,515,516,526,536],{},[25,517,518,523],{},[40,519,520],{},[80,521],{"permission":522},"project.view_settings",[40,524,525],{},"View project settings",[25,527,528,533],{},[40,529,530],{},[80,531],{"permission":532},"project.update_settings",[40,534,535],{},"Update project settings",[25,537,538,543],{},[40,539,540],{},[80,541],{"permission":542},"project.delete",[40,544,545],{},"Delete the project",[89,547,549],{"id":548},"ai","AI",[19,551,552,560],{},[22,553,554],{},[25,555,556,558],{},[28,557,101],{},[28,559,104],{},[35,561,562,572,582,592,602,612],{},[25,563,564,569],{},[40,565,566],{},[80,567],{"permission":568},"ai.view",[40,570,571],{},"View AI settings and usage",[25,573,574,579],{},[40,575,576],{},[80,577],{"permission":578},"ai.configure",[40,580,581],{},"Configure AI settings and schedule",[25,583,584,589],{},[40,585,586],{},[80,587],{"permission":588},"ai.knowledge.manage",[40,590,591],{},"Add and delete knowledge entries",[25,593,594,599],{},[40,595,596],{},[80,597],{"permission":598},"ai.teach",[40,600,601],{},"Generate knowledge from ticket conversations",[25,603,604,609],{},[40,605,606],{},[80,607],{"permission":608},"ai.approve",[40,610,611],{},"Approve or reject pending AI messages",[25,613,614,619],{},[40,615,616],{},[80,617],{"permission":618},"ai.toggle_ticket",[40,620,621],{},"Toggle AI auto-response per ticket",[89,623,625],{"id":624},"commands","Commands",[19,627,628,636],{},[22,629,630],{},[25,631,632,634],{},[28,633,101],{},[28,635,104],{},[35,637,638,648],{},[25,639,640,645],{},[40,641,642],{},[80,643],{"permission":644},"commands.manage",[40,646,647],{},"Manage chat command settings",[25,649,650,655],{},[40,651,652],{},[80,653],{"permission":654},"commands.share",[40,656,657],{},"Create and edit commands shared with the whole project",[89,659,661],{"id":660},"tebex","Tebex",[19,663,664,672],{},[22,665,666],{},[25,667,668,670],{},[28,669,101],{},[28,671,104],{},[35,673,674,684,694,704,714,724,734,744],{},[25,675,676,681],{},[40,677,678],{},[80,679],{"permission":680},"tebex.add",[40,682,683],{},"Add Tebex stores",[25,685,686,691],{},[40,687,688],{},[80,689],{"permission":690},"tebex.update",[40,692,693],{},"Update Tebex stores",[25,695,696,701],{},[40,697,698],{},[80,699],{"permission":700},"tebex.remove",[40,702,703],{},"Remove Tebex stores",[25,705,706,711],{},[40,707,708],{},[80,709],{"permission":710},"tebex.create_coupon",[40,712,713],{},"Create Tebex coupons from tickets",[25,715,716,721],{},[40,717,718],{},[80,719],{"permission":720},"tebex.revoke_coupon",[40,722,723],{},"Revoke Tebex coupons from tickets",[25,725,726,731],{},[40,727,728],{},[80,729],{"permission":730},"tebex.create_gift_card",[40,732,733],{},"Create Tebex gift cards from tickets",[25,735,736,741],{},[40,737,738],{},[80,739],{"permission":740},"tebex.revoke_gift_card",[40,742,743],{},"Revoke Tebex gift cards from tickets",[25,745,746,751],{},[40,747,748],{},[80,749],{"permission":750},"tebex.view_customer_orders",[40,752,753],{},"View a customer's purchases and orders from a ticket",[89,755,757],{"id":756},"csat","CSAT",[19,759,760,768],{},[22,761,762],{},[25,763,764,766],{},[28,765,101],{},[28,767,104],{},[35,769,770,780],{},[25,771,772,777],{},[40,773,774],{},[80,775],{"permission":776},"csat.view",[40,778,779],{},"View CSAT analytics and survey responses",[25,781,782,787],{},[40,783,784],{},[80,785],{"permission":786},"csat.manage",[40,788,789],{},"Configure CSAT settings",{"title":791,"searchDepth":792,"depth":792,"links":793},"",2,[794,795,796],{"id":16,"depth":792,"text":17},{"id":74,"depth":792,"text":75},{"id":86,"depth":792,"text":87,"children":797},[798,800,801,802,803,804,805,806,807,808],{"id":91,"depth":799,"text":92},3,{"id":249,"depth":799,"text":250},{"id":315,"depth":799,"text":316},{"id":371,"depth":799,"text":372},{"id":436,"depth":799,"text":437},{"id":502,"depth":799,"text":503},{"id":548,"depth":799,"text":549},{"id":624,"depth":799,"text":625},{"id":660,"depth":799,"text":661},{"id":756,"depth":799,"text":757},"Built-in roles, custom roles, and the full list of permission keys that control what each team member can do.","md",{},true,1,"\u002Fdocumentation\u002Fteam\u002Froles-permissions",{"title":5,"description":809},"documentation\u002Fteam\u002Froles-permissions","2026-06-07","OJ_l7unK9uj8GnKMLvgL56wyAHNKBlRWjRmn61_NHc8",[820,824,827,831,834,837,841,844,845,848,851,854,857,860,864,867,870,873,876,880,883],{"title":821,"path":822,"category":823,"order":823},"Customer portal","\u002Fdocumentation\u002Fportal\u002Foverview",null,{"title":825,"path":826,"category":823,"order":823},"Ticket lifecycle","\u002Fdocumentation\u002Ftickets\u002Flifecycle",{"title":828,"path":829,"category":830,"order":813},"Account & security","\u002Fdocumentation\u002Faccount\u002Fsecurity","account",{"title":832,"path":833,"category":548,"order":813},"AI assistant","\u002Fdocumentation\u002Fai\u002Fassistant",{"title":835,"path":836,"category":756,"order":813},"CSAT surveys","\u002Fdocumentation\u002Fcsat",{"title":838,"path":839,"category":840,"order":813},"Getting started","\u002Fdocumentation\u002Fgetting-started","getting-started",{"title":842,"path":843,"category":436,"order":813},"Tebex integration","\u002Fdocumentation\u002Fintegrations\u002Ftebex",{"title":5,"path":814,"category":315,"order":813},{"title":846,"path":847,"category":91,"order":813},"Ticket statuses","\u002Fdocumentation\u002Ftickets\u002Fstatuses",{"title":849,"path":850,"category":830,"order":792},"Notifications","\u002Fdocumentation\u002Faccount\u002Fnotifications",{"title":852,"path":853,"category":548,"order":792},"AI knowledge base","\u002Fdocumentation\u002Fai\u002Fknowledge",{"title":855,"path":856,"category":436,"order":792},"Discord integration","\u002Fdocumentation\u002Fintegrations\u002Fdiscord",{"title":858,"path":859,"category":840,"order":792},"Plans & limits","\u002Fdocumentation\u002Fplans-limits",{"title":861,"path":862,"category":863,"order":792},"Portal customization","\u002Fdocumentation\u002Fportal\u002Fbranding","portal",{"title":865,"path":866,"category":315,"order":792},"Members & invitations","\u002Fdocumentation\u002Fteam\u002Fmembers-invitations",{"title":868,"path":869,"category":548,"order":799},"Writing AI-ready documentation","\u002Fdocumentation\u002Fai\u002Fwriting-ai-ready-docs",{"title":871,"path":872,"category":436,"order":799},"GitHub integration","\u002Fdocumentation\u002Fintegrations\u002Fgithub",{"title":874,"path":875,"category":91,"order":799},"Messages & conversation","\u002Fdocumentation\u002Ftickets\u002Fmessages",{"title":877,"path":878,"category":436,"order":879},"Tebex keys & security","\u002Fdocumentation\u002Fintegrations\u002Ftebex-keys",4,{"title":881,"path":882,"category":91,"order":879},"Configuring the ticket form","\u002Fdocumentation\u002Ftickets\u002Fconfiguration",{"title":884,"path":885,"category":436,"order":886},"Self-hosted Tebex Bridge","\u002Fdocumentation\u002Fintegrations\u002Ftebex-bridge",5]