[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"documentation:page:\u002Fdocumentation\u002Fintegrations\u002Ftebex":3,"documentation:nav":224},{"id":4,"title":5,"body":6,"category":213,"description":214,"extension":215,"meta":216,"navigation":217,"order":218,"path":219,"seo":220,"stem":221,"updated":222,"__hash__":223},"documentation\u002Fdocumentation\u002Fintegrations\u002Ftebex.md","Tebex integration",{"type":7,"value":8,"toc":204},"minimark",[9,13,18,32,53,57,70,94,97,101,111,129,132,136,143,154,158,177],[10,11,12],"p",{},"The Tebex integration connects your webstore(s) to Joely so support always has purchase context: who bought what, when, and for how much, without leaving the ticket.",[14,15,17],"h2",{"id":16},"connecting-stores","Connecting stores",[10,19,20,21,26,27,31],{},"A project can connect one or more Tebex stores from the project settings (the number of stores depends on your plan; see ",[22,23,25],"a",{"href":24},"\u002Ffeatures","Features","). Store credentials are encrypted at rest; see ",[22,28,30],{"href":29},"\u002Fdocumentation\u002Fintegrations\u002Ftebex-keys","Tebex keys & security"," for what each key unlocks and how credentials are protected.",[10,33,34,35,39,40,43,44,47,48,52],{},"Managing stores is permission-controlled: ",[36,37],"permission-label",{"permission":38},"tebex.add",", ",[36,41],{"permission":42},"tebex.update",", and ",[36,45],{"permission":46},"tebex.remove",". See ",[22,49,51],{"href":50},"\u002Fdocumentation\u002Fteam\u002Froles-permissions","Roles & permissions",".",[14,54,56],{"id":55},"package-linked-tickets","Package-linked tickets",[10,58,59,60,64,65,69],{},"When a customer opens a ticket on the ",[22,61,63],{"href":62},"\u002Fdocumentation\u002Fportal\u002Foverview","portal",", they can attach one of their ",[66,67,68],"strong",{},"purchased packages",":",[71,72,73,77,80,87],"ul",{},[74,75,76],"li",{},"The portal shows the customer the packages available in your store(s).",[74,78,79],{},"Purchases are verified against the Tebex API, so the link is real purchase context, not a free-text claim.",[74,81,82,83,86],{},"If the purchase is not found automatically, the customer can enter their ",[66,84,85],{},"Tebex order ID"," to look it up and link the product manually.",[74,88,89,90,93],{},"Projects can also allow tickets ",[66,91,92],{},"without"," a package for general questions.",[10,95,96],{},"A ticket can be linked to several packages at once (from the staff sidebar or when answering the AI's package question). The linked packages then power other features: auto-assignment rules (every linked package's rules apply), package-scoped AI knowledge (union of the linked packages), and package-to-repository linking for GitHub issues.",[14,98,100],{"id":99},"hiding-packages","Hiding packages",[10,102,103,104,106,107,110],{},"Some packages are not worth surfacing in support, for example deprecated, internal, or test products. From the Tebex settings (",[36,105],{"permission":42},"), you can mark individual packages as ",[66,108,109],{},"hidden",". A hidden package is removed everywhere it would otherwise appear:",[71,112,113,116,119,126],{},[74,114,115],{},"Staff package pickers (ticket linking, ticket settings, auto-assignment, AI knowledge scope, GitHub repo linking)",[74,117,118],{},"AI suggestions and package matching",[74,120,121,122,125],{},"The customer portal ",[66,123,124],{},"purchases and orders"," views (a purchase made up only of hidden packages is no longer listed)",[74,127,128],{},"The package-name filter on ticket lists",[10,130,131],{},"Hiding applies to discovery and listing only; it does not change tickets already linked to a package that is later hidden. Un-hide a package at any time to bring it back everywhere.",[14,133,135],{"id":134},"purchase-lookup-from-a-ticket","Purchase lookup from a ticket",[10,137,138,139,142],{},"Staff with the ",[36,140],{"permission":141},"tebex.view_customer_orders"," permission see the customer's order history directly in the ticket view:",[71,144,145,148,151],{},[74,146,147],{},"Every order with amount, status, and product details",[74,149,150],{},"Drill-down into any order: line items, fees, coupons, gift cards, and payment info",[74,152,153],{},"Full transaction details in a side panel",[14,155,157],{"id":156},"coupons-and-gift-cards","Coupons and gift cards",[10,159,160,161,164,165,168,169,172,173,176],{},"Staff can create and send ",[66,162,163],{},"Tebex coupon codes"," and ",[66,166,167],{},"gift cards"," directly from the ticket view, typical for goodwill gestures or refund alternatives. These actions require the ",[36,170],{"permission":171},"tebex.create_coupon"," \u002F ",[36,174],{"permission":175},"tebex.create_gift_card"," permissions and are available on paid plans.",[10,178,179,180,183,184,172,187,190,191,194,195,198,199,203],{},"A coupon or gift card issued from a ticket can also be ",[66,181,182],{},"revoked"," from the same sidebar card, gated by the ",[36,185],{"permission":186},"tebex.revoke_coupon",[36,188],{"permission":189},"tebex.revoke_gift_card"," permissions. Revoking a ",[66,192,193],{},"coupon"," permanently deletes it on Tebex (customers can no longer redeem it) and removes it from the ticket. Revoking a ",[66,196,197],{},"gift card"," voids it on Tebex: any remaining balance becomes unusable and the card stays listed with a ",[200,201,202],"em",{},"Void"," status. The revoke action is only offered while the gift card is still active: once it has been voided or its balance is fully spent, the action no longer appears. Both actions are irreversible.",{"title":205,"searchDepth":206,"depth":206,"links":207},"",2,[208,209,210,211,212],{"id":16,"depth":206,"text":17},{"id":55,"depth":206,"text":56},{"id":99,"depth":206,"text":100},{"id":134,"depth":206,"text":135},{"id":156,"depth":206,"text":157},"integrations","Connect your Tebex stores to verify purchases, browse order history, and create coupons or gift cards straight from a ticket.","md",{},true,1,"\u002Fdocumentation\u002Fintegrations\u002Ftebex",{"title":5,"description":214},"documentation\u002Fintegrations\u002Ftebex","2026-06-24","6DB_nCyxYXACLxrVpiVZ037hrAi_9KJUAFaN1pm8SR4",[225,228,231,235,239,243,247,248,250,254,257,260,263,266,269,272,276,279,282,284,287],{"title":226,"path":62,"category":227,"order":227},"Customer portal",null,{"title":229,"path":230,"category":227,"order":227},"Ticket lifecycle","\u002Fdocumentation\u002Ftickets\u002Flifecycle",{"title":232,"path":233,"category":234,"order":218},"Account & security","\u002Fdocumentation\u002Faccount\u002Fsecurity","account",{"title":236,"path":237,"category":238,"order":218},"AI assistant","\u002Fdocumentation\u002Fai\u002Fassistant","ai",{"title":240,"path":241,"category":242,"order":218},"CSAT surveys","\u002Fdocumentation\u002Fcsat","csat",{"title":244,"path":245,"category":246,"order":218},"Getting started","\u002Fdocumentation\u002Fgetting-started","getting-started",{"title":5,"path":219,"category":213,"order":218},{"title":51,"path":50,"category":249,"order":218},"team",{"title":251,"path":252,"category":253,"order":218},"Ticket statuses","\u002Fdocumentation\u002Ftickets\u002Fstatuses","tickets",{"title":255,"path":256,"category":234,"order":206},"Notifications","\u002Fdocumentation\u002Faccount\u002Fnotifications",{"title":258,"path":259,"category":238,"order":206},"AI knowledge base","\u002Fdocumentation\u002Fai\u002Fknowledge",{"title":261,"path":262,"category":213,"order":206},"Discord integration","\u002Fdocumentation\u002Fintegrations\u002Fdiscord",{"title":264,"path":265,"category":246,"order":206},"Plans & limits","\u002Fdocumentation\u002Fplans-limits",{"title":267,"path":268,"category":63,"order":206},"Portal customization","\u002Fdocumentation\u002Fportal\u002Fbranding",{"title":270,"path":271,"category":249,"order":206},"Members & invitations","\u002Fdocumentation\u002Fteam\u002Fmembers-invitations",{"title":273,"path":274,"category":238,"order":275},"Writing AI-ready documentation","\u002Fdocumentation\u002Fai\u002Fwriting-ai-ready-docs",3,{"title":277,"path":278,"category":213,"order":275},"GitHub integration","\u002Fdocumentation\u002Fintegrations\u002Fgithub",{"title":280,"path":281,"category":253,"order":275},"Messages & conversation","\u002Fdocumentation\u002Ftickets\u002Fmessages",{"title":30,"path":29,"category":213,"order":283},4,{"title":285,"path":286,"category":253,"order":283},"Configuring the ticket form","\u002Fdocumentation\u002Ftickets\u002Fconfiguration",{"title":288,"path":289,"category":213,"order":290},"Self-hosted Tebex Bridge","\u002Fdocumentation\u002Fintegrations\u002Ftebex-bridge",5]