[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"documentation:page:\u002Fdocumentation\u002Ftickets\u002Flifecycle":3,"documentation:nav":349},{"id":4,"title":5,"body":6,"category":336,"description":337,"extension":338,"meta":339,"navigation":340,"order":336,"path":341,"seo":342,"stem":347,"updated":336,"__hash__":348},"documentation\u002Fdocumentation\u002Ftickets\u002Flifecycle.md","Ticket lifecycle",{"type":7,"value":8,"toc":321},"minimark",[9,19,24,46,53,57,60,101,109,113,116,121,137,141,148,155,158,170,174,181,193,197,200,213,216,220,228,242,246],[10,11,12,13,18],"p",{},"This page walks through the life of a ticket from the moment it is created to the moment it disappears. For the exact rules per status, see ",[14,15,17],"a",{"href":16},"\u002Fdocumentation\u002Ftickets\u002Fstatuses","Ticket statuses",".",[20,21,23],"h2",{"id":22},"creation","Creation",[25,26,27,35],"ul",{},[28,29,30,34],"li",{},[31,32,33],"strong",{},"Customers"," create tickets from the customer portal, optionally linking a purchased Tebex package so staff immediately know which product the request is about.",[28,36,37,40,41,45],{},[31,38,39],{},"Staff"," with the ",[42,43],"permission-label",{"permission":44},"tickets.create"," permission can also create tickets from the dashboard.",[10,47,48,49,52],{},"A new ticket starts in the ",[31,50,51],{},"Open"," status.",[20,54,56],{"id":55},"the-conversation","The conversation",[10,58,59],{},"Both sides post messages in the ticket thread:",[25,61,62,71,84],{},[28,63,64,66,67,18],{},[31,65,33],{}," can reply and edit their own messages on any status except ",[68,69,70],"code",{},"closed",[28,72,73,75,76,79,80,83],{},[31,74,39],{}," can reply on any status. Staff can also post ",[31,77,78],{},"internal notes"," that customers never see (requires the ",[42,81],{"permission":82},"messages.create_internal"," permission).",[28,85,86,87,90,91,90,94,90,97,100],{},"Status changes along the way (",[68,88,89],{},"in_progress",", ",[68,92,93],{},"awaiting_customer",[68,95,96],{},"required_test",[68,98,99],{},"required_action",") are manual staff actions; a customer reply never changes the status by itself.",[10,102,103,104,108],{},"The creator can invite other customers to the ticket via ",[14,105,107],{"href":106},"\u002Fdocumentation\u002Fportal\u002Foverview","invite links","; those links stop working once the ticket is resolved or closed.",[20,110,112],{"id":111},"ways-a-ticket-ends","Ways a ticket ends",[10,114,115],{},"There are four paths to closure:",[117,118,120],"h3",{"id":119},"_1-staff-resolves-or-closes-directly","1. Staff resolves or closes directly",[10,122,123,124,127,128,130,131,133,134,136],{},"Staff changes the status to ",[68,125,126],{},"resolved"," or ",[68,129,70],{}," from the dashboard. ",[68,132,126],{}," is a soft landing: the customer can still reply if something is not actually fixed. ",[68,135,70],{}," is final: customer replies are blocked.",[117,138,140],{"id":139},"_2-staff-schedules-a-closure","2. Staff schedules a closure",[10,142,143,144,147],{},"Staff can schedule a closure for a future date. The ticket moves to ",[31,145,146],{},"Closure scheduled"," and a system message announces when it will close. When the time passes, the ticket is closed automatically and a system message is added.",[10,149,150,151,154],{},"The date is pre-filled with a configurable default delay (set in ",[31,152,153],{},"Ticket settings",", defaults to 24 hours), and staff can always adjust it before confirming. The default only pre-fills the form, it never closes a ticket on its own.",[10,156,157],{},"While the closure is pending:",[25,159,160,163],{},[28,161,162],{},"Staff can still change the status (which cancels the scheduled closure), but cannot schedule a second closure on top.",[28,164,165,166,169],{},"The customer can ",[31,167,168],{},"close the ticket immediately"," instead of waiting.",[117,171,173],{"id":172},"_3-the-customer-requests-closure","3. The customer requests closure",[10,175,176,177,180],{},"From the portal, the customer can request closure on any active ticket. The ticket moves to ",[31,178,179],{},"Pending closure"," immediately, a system message is posted, and a satisfaction survey is created right away. Staff then confirms by closing the ticket (or moves it back to an active status if there is more to do).",[10,182,183,184,90,186,189,190,18],{},"A closure request is rejected when the ticket is already ",[68,185,70],{},[68,187,188],{},"pending_closure",", or ",[68,191,192],{},"closure_scheduled",[117,194,196],{"id":195},"_4-staff-schedules-a-deletion","4. Staff schedules a deletion",[10,198,199],{},"Staff can schedule a ticket for permanent deletion at a future date. Two things happen immediately:",[201,202,203,210],"ol",{},[28,204,205,206,209],{},"The ticket is ",[31,207,208],{},"closed right away"," (if it was not already closed).",[28,211,212],{},"A system message announces the scheduled deletion date.",[10,214,215],{},"The actual deletion happens automatically at the scheduled time. Until then, staff can cancel the scheduled deletion; the ticket stays closed but is no longer marked for deletion. Deletion is permanent: the ticket and its messages are removed.",[20,217,219],{"id":218},"reopening","Reopening",[10,221,222,223,127,225,227],{},"A ",[68,224,126],{},[68,226,70],{}," ticket is not gone; staff can move it back to any active status at any time:",[25,229,230,233],{},[28,231,232],{},"Reopening deletes the satisfaction survey if the customer has not submitted it yet; a new survey is created the next time the ticket reaches a survey-eligible status.",[28,234,235,236,238,239,241],{},"On ",[68,237,126],{}," (but not ",[68,240,70],{},"), customers can simply keep replying, which is the usual signal that the issue was not fully fixed.",[20,243,245],{"id":244},"side-effects-along-the-way","Side effects along the way",[247,248,249,262],"table",{},[250,251,252],"thead",{},[253,254,255,259],"tr",{},[256,257,258],"th",{},"Event",[256,260,261],{},"Side effect",[263,264,265,282,290,301,313],"tbody",{},[253,266,267,279],{},[268,269,270,271,90,273,90,275,189,277],"td",{},"Ticket enters ",[68,272,126],{},[68,274,70],{},[68,276,188],{},[68,278,192],{},[268,280,281],{},"A CSAT survey is created for the customer",[253,283,284,287],{},[268,285,286],{},"Ticket leaves one of those statuses",[268,288,289],{},"The survey is deleted if not yet submitted",[253,291,292,298],{},[268,293,270,294,127,296],{},[68,295,126],{},[68,297,70],{},[268,299,300],{},"The ticket is removed from all customers' favorites",[253,302,303,310],{},[268,304,305,306,127,308],{},"Ticket is ",[68,307,126],{},[68,309,70],{},[268,311,312],{},"Invite links stop working",[253,314,315,318],{},[268,316,317],{},"Deletion is scheduled",[268,319,320],{},"The ticket is auto-closed and a system message is posted",{"title":322,"searchDepth":323,"depth":323,"links":324},"",2,[325,326,327,334,335],{"id":22,"depth":323,"text":23},{"id":55,"depth":323,"text":56},{"id":111,"depth":323,"text":112,"children":328},[329,331,332,333],{"id":119,"depth":330,"text":120},3,{"id":139,"depth":330,"text":140},{"id":172,"depth":330,"text":173},{"id":195,"depth":330,"text":196},{"id":218,"depth":323,"text":219},{"id":244,"depth":323,"text":245},null,"[object Object]","md",{},true,"\u002Fdocumentation\u002Ftickets\u002Flifecycle",{"title":5,"description":343},{"How a ticket moves from creation to closure":344,"category":345,"order":323,"updated":346},"replies, resolution, scheduled closure, scheduled deletion, and reopening.","tickets","2026-06-07","documentation\u002Ftickets\u002Flifecycle","C1rBdPdBUE3c5h22LKH5ldGdnxzTr-O_p0YnlA4Z8S8",[350,352,353,358,362,366,370,374,378,379,382,385,388,391,395,398,401,404,407,411,414],{"title":351,"path":106,"category":336,"order":336},"Customer portal",{"title":5,"path":341,"category":336,"order":336},{"title":354,"path":355,"category":356,"order":357},"Account & security","\u002Fdocumentation\u002Faccount\u002Fsecurity","account",1,{"title":359,"path":360,"category":361,"order":357},"AI assistant","\u002Fdocumentation\u002Fai\u002Fassistant","ai",{"title":363,"path":364,"category":365,"order":357},"CSAT surveys","\u002Fdocumentation\u002Fcsat","csat",{"title":367,"path":368,"category":369,"order":357},"Getting started","\u002Fdocumentation\u002Fgetting-started","getting-started",{"title":371,"path":372,"category":373,"order":357},"Tebex integration","\u002Fdocumentation\u002Fintegrations\u002Ftebex","integrations",{"title":375,"path":376,"category":377,"order":357},"Roles & permissions","\u002Fdocumentation\u002Fteam\u002Froles-permissions","team",{"title":17,"path":16,"category":345,"order":357},{"title":380,"path":381,"category":356,"order":323},"Notifications","\u002Fdocumentation\u002Faccount\u002Fnotifications",{"title":383,"path":384,"category":361,"order":323},"AI knowledge base","\u002Fdocumentation\u002Fai\u002Fknowledge",{"title":386,"path":387,"category":373,"order":323},"Discord integration","\u002Fdocumentation\u002Fintegrations\u002Fdiscord",{"title":389,"path":390,"category":369,"order":323},"Plans & limits","\u002Fdocumentation\u002Fplans-limits",{"title":392,"path":393,"category":394,"order":323},"Portal customization","\u002Fdocumentation\u002Fportal\u002Fbranding","portal",{"title":396,"path":397,"category":377,"order":323},"Members & invitations","\u002Fdocumentation\u002Fteam\u002Fmembers-invitations",{"title":399,"path":400,"category":361,"order":330},"Writing AI-ready documentation","\u002Fdocumentation\u002Fai\u002Fwriting-ai-ready-docs",{"title":402,"path":403,"category":373,"order":330},"GitHub integration","\u002Fdocumentation\u002Fintegrations\u002Fgithub",{"title":405,"path":406,"category":345,"order":330},"Messages & conversation","\u002Fdocumentation\u002Ftickets\u002Fmessages",{"title":408,"path":409,"category":373,"order":410},"Tebex keys & security","\u002Fdocumentation\u002Fintegrations\u002Ftebex-keys",4,{"title":412,"path":413,"category":345,"order":410},"Configuring the ticket form","\u002Fdocumentation\u002Ftickets\u002Fconfiguration",{"title":415,"path":416,"category":373,"order":417},"Self-hosted Tebex Bridge","\u002Fdocumentation\u002Fintegrations\u002Ftebex-bridge",5]