[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"documentation:page:\u002Fdocumentation\u002Fautomations\u002Ftriggers":3,"documentation:nav":299},{"id":4,"title":5,"body":6,"category":289,"description":290,"extension":291,"meta":292,"navigation":293,"order":280,"path":294,"seo":295,"stem":296,"updated":297,"__hash__":298},"documentation\u002Fdocumentation\u002Fautomations\u002Ftriggers.md","Triggers",{"type":7,"value":8,"toc":278},"minimark",[9,18,31,36,111,114,125,128,131,138,141,144,183,186,193,211,225,229,244,248],[10,11,12,13,17],"p",{},"Every workflow starts with a ",[14,15,16],"strong",{},"single trigger node",". It names the ticket event the workflow listens to, and publishes that ticket's data to the nodes after it.",[10,19,20,21,24,25,30],{},"Triggers have ",[14,22,23],{},"no configuration of their own",". They pass the ticket's data — status, priority, tags, linked packages, assignees, and the form button the ticket was opened from — to the nodes that follow; ",[26,27,29],"a",{"href":28},"\u002Fdocumentation\u002Fautomations\u002Fconditions","condition nodes"," do all the filtering.",[32,33,35],"h2",{"id":34},"the-four-triggers","The four triggers",[37,38,39,55],"table",{},[40,41,42],"thead",{},[43,44,45,49,52],"tr",{},[46,47,48],"th",{},"Trigger",[46,50,51],{},"Fires when",[46,53,54],{},"Publishes, on top of the ticket data",[56,57,58,72,85,98],"tbody",{},[43,59,60,66,69],{},[61,62,63],"td",{},[14,64,65],{},"Status changed",[61,67,68],{},"A ticket moves from one status to another",[61,70,71],{},"Previous status, New status",[43,73,74,79,82],{},[61,75,76],{},[14,77,78],{},"Ticket creation",[61,80,81],{},"A new ticket is opened",[61,83,84],{},"Ticket source",[43,86,87,92,95],{},[61,88,89],{},[14,90,91],{},"On chat message",[61,93,94],{},"A user sends a chat message in a ticket",[61,96,97],{},"Message author type, Message content, Message author, Message ID",[43,99,100,105,108],{},[61,101,102],{},[14,103,104],{},"Package selected",[61,106,107],{},"A package is linked to a ticket after it was created",[61,109,110],{},"Selected packages, Selected package names",[32,112,65],{"id":113},"status-changed",[10,115,116,117,120,121,124],{},"Fires whenever a ticket moves from one status to another. Both ends of the transition are published, so a condition can test where the ticket came ",[14,118,119],{},"from",", where it went ",[14,122,123],{},"to",", or both.",[10,126,127],{},"One case does not fire it: when a customer requests ticket closure from the portal, that transition does not trigger workflows. The same status reached through a staff status change does.",[32,129,78],{"id":130},"ticket-creation",[10,132,133,134,137],{},"Fires whenever a new ticket is opened — from the portal, the dashboard, or the API — including the package it was opened about. The ticket's first message belongs to this trigger, not to ",[135,136,91],"em",{},".",[32,139,91],{"id":140},"on-chat-message",[10,142,143],{},"Fires whenever a user sends a chat message in a ticket, whether they are a customer or a member of your team.",[145,146,147,158,164],"ul",{},[148,149,150,151,154,155,157],"li",{},"The ticket's ",[14,152,153],{},"first message"," counts as ",[135,156,78],{},", not as a chat message.",[148,159,160,163],{},[14,161,162],{},"System event lines"," and the messages automations post themselves never fire it.",[148,165,166,167,170,171,170,174,178,179,182],{},"To react to customers only, add a condition on ",[14,168,169],{},"Message author type"," ",[135,172,173],{},"is",[175,176,177],"code",{},"customer"," (the other value is ",[175,180,181],{},"staff",").",[32,184,104],{"id":185},"package-selected",[10,187,188,189,192],{},"Fires when a package is linked to a ticket ",[14,190,191],{},"after"," it was created:",[145,194,195,198,201],{},[148,196,197],{},"the customer answering the AI package picker,",[148,199,200],{},"a team member setting it from the ticket,",[148,202,203,204,210],{},"or a ",[26,205,207],{"href":206},"\u002Fdocumentation\u002Fautomations\u002Factions#set-package",[14,208,209],{},"Set package"," action.",[10,212,213,214,216,217,220,221,224],{},"A package chosen at creation belongs to ",[135,215,78],{}," instead, so the two never fire for the same choice; unlinking a package fires neither. The trigger publishes the packages that were just linked (",[14,218,219],{},"Selected packages"," and ",[14,222,223],{},"Selected package names","), next to the ticket's full list.",[32,226,228],{"id":227},"order-versus-the-ai-auto-reply","Order versus the AI auto-reply",[10,230,231,232,234,235,220,237,239,240,243],{},"For ",[14,233,78],{},", ",[14,236,91],{},[14,238,104],{},", the workflow's actions run ",[14,241,242],{},"before"," the AI auto-reply is scheduled, so an automation can adjust the ticket before the AI answers about it.",[32,245,247],{"id":246},"example","Example",[249,250,251],"blockquote",{},[10,252,253,256,258,259,170,261,170,263,265,266,269,270,273,274,277],{},[14,254,255],{},"Only customer replies bump the priority.",[135,257,91],{}," → condition ",[14,260,169],{},[135,262,173],{},[175,264,177],{}," → ",[14,267,268],{},"Set priority"," to ",[135,271,272],{},"High",".\nA team member's own reply leaves the priority alone, because the condition sends it down the ",[135,275,276],{},"False"," branch, which is connected to nothing.",{"title":279,"searchDepth":280,"depth":280,"links":281},"",2,[282,283,284,285,286,287,288],{"id":34,"depth":280,"text":35},{"id":113,"depth":280,"text":65},{"id":130,"depth":280,"text":78},{"id":140,"depth":280,"text":91},{"id":185,"depth":280,"text":104},{"id":227,"depth":280,"text":228},{"id":246,"depth":280,"text":247},"automations","The four events an automation workflow can start from — status changes, new tickets, chat messages, and packages linked after creation — and the data each one publishes.","md",{},true,"\u002Fdocumentation\u002Fautomations\u002Ftriggers",{"title":5,"description":290},"documentation\u002Fautomations\u002Ftriggers","2026-08-31","LR2S21ByB4ukwMJs_GIMmsR1sSnW3ZQJdg7XO9VHTtc",[300,304,307,312,316,319,323,327,331,335,339,342,345,346,349,352,356,359,363,365,368,371,375,378,381,385,388,392],{"title":301,"path":302,"category":303,"order":303},"Customer portal","\u002Fdocumentation\u002Fportal\u002Foverview",null,{"title":305,"path":306,"category":303,"order":303},"Ticket lifecycle","\u002Fdocumentation\u002Ftickets\u002Flifecycle",{"title":308,"path":309,"category":310,"order":311},"Account & security","\u002Fdocumentation\u002Faccount\u002Fsecurity","account",1,{"title":313,"path":314,"category":315,"order":311},"AI assistant","\u002Fdocumentation\u002Fai\u002Fassistant","ai",{"title":317,"path":318,"category":289,"order":311},"Automation workflows","\u002Fdocumentation\u002Fautomations\u002Foverview",{"title":320,"path":321,"category":322,"order":311},"CSAT surveys","\u002Fdocumentation\u002Fcsat","csat",{"title":324,"path":325,"category":326,"order":311},"Getting started","\u002Fdocumentation\u002Fgetting-started","getting-started",{"title":328,"path":329,"category":330,"order":311},"Tebex integration","\u002Fdocumentation\u002Fintegrations\u002Ftebex","integrations",{"title":332,"path":333,"category":334,"order":311},"Roles & permissions","\u002Fdocumentation\u002Fteam\u002Froles-permissions","team",{"title":336,"path":337,"category":338,"order":311},"Ticket statuses","\u002Fdocumentation\u002Ftickets\u002Fstatuses","tickets",{"title":340,"path":341,"category":310,"order":280},"Notifications","\u002Fdocumentation\u002Faccount\u002Fnotifications",{"title":343,"path":344,"category":315,"order":280},"AI knowledge base","\u002Fdocumentation\u002Fai\u002Fknowledge",{"title":5,"path":294,"category":289,"order":280},{"title":347,"path":348,"category":330,"order":280},"Discord integration","\u002Fdocumentation\u002Fintegrations\u002Fdiscord",{"title":350,"path":351,"category":326,"order":280},"Plans & limits","\u002Fdocumentation\u002Fplans-limits",{"title":353,"path":354,"category":355,"order":280},"Portal customization","\u002Fdocumentation\u002Fportal\u002Fbranding","portal",{"title":357,"path":358,"category":334,"order":280},"Members & invitations","\u002Fdocumentation\u002Fteam\u002Fmembers-invitations",{"title":360,"path":361,"category":315,"order":362},"Writing AI-ready documentation","\u002Fdocumentation\u002Fai\u002Fwriting-ai-ready-docs",3,{"title":364,"path":28,"category":289,"order":362},"Conditions",{"title":366,"path":367,"category":330,"order":362},"GitHub integration","\u002Fdocumentation\u002Fintegrations\u002Fgithub",{"title":369,"path":370,"category":338,"order":362},"Messages & conversation","\u002Fdocumentation\u002Ftickets\u002Fmessages",{"title":372,"path":373,"category":289,"order":374},"Actions","\u002Fdocumentation\u002Fautomations\u002Factions",4,{"title":376,"path":377,"category":330,"order":374},"Tebex keys & security","\u002Fdocumentation\u002Fintegrations\u002Ftebex-keys",{"title":379,"path":380,"category":338,"order":374},"Configuring the ticket form","\u002Fdocumentation\u002Ftickets\u002Fconfiguration",{"title":382,"path":383,"category":289,"order":384},"Placeholders","\u002Fdocumentation\u002Fautomations\u002Fplaceholders",5,{"title":386,"path":387,"category":330,"order":384},"Self-hosted Tebex Bridge","\u002Fdocumentation\u002Fintegrations\u002Ftebex-bridge",{"title":389,"path":390,"category":289,"order":391},"Building workflows","\u002Fdocumentation\u002Fautomations\u002Fbuilding-workflows",6,{"title":393,"path":394,"category":289,"order":395},"Runs and quota","\u002Fdocumentation\u002Fautomations\u002Fruns-and-quota",7]