[{"data":1,"prerenderedAt":525},["ShallowReactive",2],{"navigation":3,"\u002Fdata-connectors\u002Fdiscord-auto-detect":246,"\u002Fdata-connectors\u002Fdiscord-auto-detect-surround":520},[4,30,61,96,136,171,196,226],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":29},"Getting started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Add Clarify","\u002Fgetting-started\u002Fadd-clarify","1.getting-started\u002F2.add-clarify","i-lucide-bot",{"title":21,"path":22,"stem":23,"icon":24},"Dashboard tour","\u002Fgetting-started\u002Fdashboard-tour","1.getting-started\u002F3.dashboard-tour","i-lucide-compass",{"title":26,"path":27,"stem":28,"icon":6},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F4.quickstart",false,{"title":31,"icon":32,"path":33,"stem":34,"children":35,"page":29},"Core concepts","i-lucide-lightbulb","\u002Fconcepts","2.concepts",[36,41,46,51,56],{"title":37,"path":38,"stem":39,"icon":40},"How Clarify works","\u002Fconcepts\u002Fhow-clarify-works","2.concepts\u002F1.how-clarify-works","i-lucide-git-compare-arrows",{"title":42,"path":43,"stem":44,"icon":45},"Tickets & delivery modes","\u002Fconcepts\u002Ftickets-and-modes","2.concepts\u002F2.tickets-and-modes","i-lucide-ticket",{"title":47,"path":48,"stem":49,"icon":50},"Categories & ticket fields","\u002Fconcepts\u002Fcategories-and-inputs","2.concepts\u002F3.categories-and-inputs","i-lucide-tags",{"title":52,"path":53,"stem":54,"icon":55},"Cards & placeholders","\u002Fconcepts\u002Fcards-and-placeholders","2.concepts\u002F4.cards-and-placeholders","i-lucide-layout-panel-left",{"title":57,"path":58,"stem":59,"icon":60},"Roles & permissions","\u002Fconcepts\u002Froles-and-permissions","2.concepts\u002F5.roles-and-permissions","i-lucide-user-cog",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":29},"Configuration","i-lucide-sliders-horizontal","\u002Fconfiguration","3.configuration",[67,72,77,81,86,91],{"title":68,"path":69,"stem":70,"icon":71},"Onboarding","\u002Fconfiguration\u002Fonboarding","3.configuration\u002F1.onboarding","i-lucide-wand-sparkles",{"title":73,"path":74,"stem":75,"icon":76},"General settings","\u002Fconfiguration\u002Fgeneral-settings","3.configuration\u002F2.general-settings","i-lucide-settings",{"title":78,"path":79,"stem":80,"icon":50},"Categories","\u002Fconfiguration\u002Fcategories","3.configuration\u002F3.categories",{"title":82,"path":83,"stem":84,"icon":85},"Ticket inputs","\u002Fconfiguration\u002Fticket-inputs","3.configuration\u002F4.ticket-inputs","i-lucide-form-input",{"title":87,"path":88,"stem":89,"icon":90},"Panels","\u002Fconfiguration\u002Fpanels","3.configuration\u002F5.panels","i-lucide-panel-top",{"title":92,"path":93,"stem":94,"icon":95},"White label (your own bot)","\u002Fconfiguration\u002Fwhite-label","3.configuration\u002F6.white-label","i-lucide-badge-check",{"title":97,"icon":98,"path":99,"stem":100,"children":101,"page":29},"Modules","i-lucide-blocks","\u002Fmodules","4.modules",[102,106,111,116,121,126,131],{"title":103,"path":104,"stem":105,"icon":98},"Modules overview","\u002Fmodules\u002Foverview","4.modules\u002F1.overview",{"title":107,"path":108,"stem":109,"icon":110},"Transcripts","\u002Fmodules\u002Ftranscripts","4.modules\u002F2.transcripts","i-lucide-file-text",{"title":112,"path":113,"stem":114,"icon":115},"Feedback","\u002Fmodules\u002Ffeedback","4.modules\u002F3.feedback","i-lucide-star",{"title":117,"path":118,"stem":119,"icon":120},"Escalation","\u002Fmodules\u002Fescalation","4.modules\u002F4.escalation","i-lucide-siren",{"title":122,"path":123,"stem":124,"icon":125},"Opening hours","\u002Fmodules\u002Fopening-hours","4.modules\u002F5.opening-hours","i-lucide-clock",{"title":127,"path":128,"stem":129,"icon":130},"Webhooks","\u002Fmodules\u002Fwebhooks","4.modules\u002F6.webhooks","i-lucide-webhook",{"title":132,"path":133,"stem":134,"icon":135},"Assignment","\u002Fmodules\u002Fassignment","4.modules\u002F7.assignment","i-lucide-user-check",{"title":137,"icon":138,"path":139,"stem":140,"children":141,"page":29},"Integrations","i-lucide-plug","\u002Fintegrations","5.integrations",[142,146,151,156,161,166],{"title":143,"path":144,"stem":145,"icon":138},"Integrations overview","\u002Fintegrations\u002Foverview","5.integrations\u002F1.overview",{"title":147,"path":148,"stem":149,"icon":150},"Stripe","\u002Fintegrations\u002Fstripe","5.integrations\u002F2.stripe","i-simple-icons-stripe",{"title":152,"path":153,"stem":154,"icon":155},"PayPal","\u002Fintegrations\u002Fpaypal","5.integrations\u002F3.paypal","i-simple-icons-paypal",{"title":157,"path":158,"stem":159,"icon":160},"Tebex","\u002Fintegrations\u002Ftebex","5.integrations\u002F4.tebex","i-lucide-shopping-cart",{"title":162,"path":163,"stem":164,"icon":165},"Patreon","\u002Fintegrations\u002Fpatreon","5.integrations\u002F5.patreon","i-simple-icons-patreon",{"title":167,"path":168,"stem":169,"icon":170},"GitHub","\u002Fintegrations\u002Fgithub","5.integrations\u002F6.github","i-simple-icons-github",{"title":172,"icon":173,"path":174,"stem":175,"children":176,"page":29},"Data connectors","i-lucide-share-2","\u002Fdata-connectors","6.data-connectors",[177,181,186,191],{"title":178,"path":179,"stem":180,"icon":173},"Data connectors overview","\u002Fdata-connectors\u002Foverview","6.data-connectors\u002F1.overview",{"title":182,"path":183,"stem":184,"icon":185},"Build a connector","\u002Fdata-connectors\u002Fbuild-a-connector","6.data-connectors\u002F2.build-a-connector","i-lucide-wrench",{"title":187,"path":188,"stem":189,"icon":190},"Discord auto-detect","\u002Fdata-connectors\u002Fdiscord-auto-detect","6.data-connectors\u002F3.discord-auto-detect","i-lucide-scan-face",{"title":192,"path":193,"stem":194,"icon":195},"Connector security","\u002Fdata-connectors\u002Fsecurity","6.data-connectors\u002F4.security","i-lucide-shield",{"title":197,"icon":198,"path":199,"stem":200,"children":201,"page":29},"Security & trust","i-lucide-shield-check","\u002Fsecurity","7.security",[202,206,211,216,221],{"title":203,"path":204,"stem":205,"icon":198},"Security overview","\u002Fsecurity\u002Foverview","7.security\u002F1.overview",{"title":207,"path":208,"stem":209,"icon":210},"Encryption & secrets","\u002Fsecurity\u002Fencryption","7.security\u002F2.encryption","i-lucide-lock",{"title":212,"path":213,"stem":214,"icon":215},"The relay & your privacy","\u002Fsecurity\u002Fthe-middleman","7.security\u002F3.the-middleman","i-lucide-eye-off",{"title":217,"path":218,"stem":219,"icon":220},"Access & permissions","\u002Fsecurity\u002Faccess-control","7.security\u002F4.access-control","i-lucide-key-round",{"title":222,"path":223,"stem":224,"icon":225},"Data & retention","\u002Fsecurity\u002Fdata-and-retention","7.security\u002F5.data-and-retention","i-lucide-database",{"title":227,"icon":228,"path":229,"stem":230,"children":231,"page":29},"Reference","i-lucide-book-open","\u002Freference","8.reference",[232,237,241],{"title":233,"path":234,"stem":235,"icon":236},"FAQ","\u002Freference\u002Ffaq","8.reference\u002F1.faq","i-lucide-circle-help",{"title":238,"path":239,"stem":240,"icon":185},"Troubleshooting","\u002Freference\u002Ftroubleshooting","8.reference\u002F2.troubleshooting",{"title":242,"path":243,"stem":244,"icon":245},"Glossary","\u002Freference\u002Fglossary","8.reference\u002F3.glossary","i-lucide-book-a",{"id":247,"title":187,"body":248,"description":513,"extension":514,"links":515,"meta":516,"navigation":517,"path":188,"seo":518,"stem":189,"__hash__":519},"docs\u002F6.data-connectors\u002F3.discord-auto-detect.md",{"type":249,"value":250,"toc":503},"minimark",[251,259,262,272,277,280,293,300,304,315,318,342,348,352,355,421,449,453,460,469,473,476,491],[252,253,254,255,258],"p",{},"Most connector lookups ask the member for something — an order number, an email, a username. ",[256,257,187],"strong",{}," skips the asking. When a ticket opens, Clarify quietly runs the connector using the opener's own Discord ID, fetches their record, and drops the result card onto the ticket. The member types nothing. The card is just there.",[252,260,261],{},"It's the difference between \"please paste your account ID\" and your team seeing the right account the moment the ticket lands.",[263,264,265],"note",{},[252,266,267,268,271],{},"This page assumes you've already built a connector. If you haven't, start with ",[269,270,182],"a",{"href":183}," and come back to switch auto-detect on.",[273,274,276],"h2",{"id":275},"when-to-use-it","When to use it",[252,278,279],{},"Reach for auto-detect whenever a member's record in your system can be found from their Discord identity — because they linked their Discord account in your shop, your CRM stores their Discord ID, or your platform can look someone up by it. Typical cases:",[281,282,283,287,290],"ul",{},[284,285,286],"li",{},"A shop or membership site where accounts are linked to Discord.",[284,288,289],{},"A CRM or database that keeps each customer's Discord ID.",[284,291,292],{},"Any API that can return \"the record for this Discord user\".",[252,294,295,296,299],{},"If your system has no way to recognise a Discord ID, auto-detect can't help — use a normal typed ",[269,297,298],{"href":83},"ticket input"," instead and let the member supply the reference.",[273,301,303],{"id":302},"how-it-works","How it works",[252,305,306,307,310,311,314],{},"When a member opens a ticket, Clarify already knows their ",[256,308,309],{},"Discord ID"," — the unique number Discord assigns to every account. Auto-detect feeds that ID into your connector operation, runs it in the background, and maps the response onto a ",[269,312,313],{"href":53},"result card"," using your placeholders. No modal, no prompt, no waiting on the member.",[252,316,317],{},"There are two shapes it can take, depending on how your API answers.",[319,320,322,327,330,334],"steps",{"level":321},"3",[323,324,326],"h3",{"id":325},"direct-feed-the-discord-id-into-the-request","Direct — feed the Discord ID into the request",[252,328,329],{},"Your API accepts a Discord ID as one of its parameters. Clarify passes the opener's ID straight into that parameter (a path segment, a query string, or a field in the request body) and your API returns exactly that member's record. This is the cleanest shape: one member in, one record out.",[323,331,333],{"id":332},"list-match-find-the-member-in-a-list-you-return","List-match — find the member in a list you return",[252,335,336,337,341],{},"Your API doesn't take a Discord ID, but it does return a list of records that each ",[338,339,340],"em",{},"contain"," one — for example, \"all members\", where every member row carries their linked Discord ID. Clarify calls that operation, then scans the list and picks the row whose Discord ID matches the ticket opener. That matched row becomes the card.",[343,344,345],"tip",{},[252,346,347],{},"Direct is faster and lighter, so prefer it when your API supports looking someone up by Discord ID. Use list-match when the only endpoint available hands back a collection.",[273,349,351],{"id":350},"turn-it-on-for-an-operation","Turn it on for an operation",[252,353,354],{},"Auto-detect is a property of a single connector operation — the same connector can have one operation that auto-detects and others that ask for typed input.",[319,356,357,361,368,372,379,394,398,410,414],{"level":321},[323,358,360],{"id":359},"open-your-connector","Open your connector",[252,362,363,364,367],{},"Go to ",[256,365,366],{},"Connectors"," in the dashboard and open the connector you want to edit.",[323,369,371],{"id":370},"enable-auto-detect-on-the-operation","Enable auto-detect on the operation",[252,373,374,375,378],{},"On the operation, switch on Discord auto-detect. Clarify then asks ",[338,376,377],{},"where the Discord ID goes",":",[281,380,381,388],{},[284,382,383,384,387],{},"For a ",[256,385,386],{},"direct"," operation, choose the request parameter the ID should fill.",[284,389,383,390,393],{},[256,391,392],{},"list-match"," operation, choose the field in each returned record that holds the Discord ID, so Clarify knows what to match against.",[323,395,397],{"id":396},"map-the-result-to-a-card","Map the result to a card",[252,399,400,401,405,406,409],{},"Point the fields you care about — name, plan, status, balance — at the ",[402,403,404],"code",{},"%placeholder%"," tokens on your result card, exactly as you would for a typed lookup. See ",[269,407,408],{"href":53},"Cards and placeholders"," for how mapping works.",[323,411,413],{"id":412},"attach-it-to-a-category","Attach it to a category",[252,415,416,417,420],{},"Add the connector's input to the ",[269,418,419],{"href":79},"categories"," where you want the card to appear. Because the operation auto-detects, it runs on ticket open with no field shown to the member.",[422,423,424,431,441],"field-group",{},[425,426,428],"field",{"name":187,"type":427},"toggle",[252,429,430],{},"Off by default. When on, the operation runs automatically on ticket open using the opener's Discord ID instead of showing a typed field.",[425,432,435],{"name":433,"type":434},"Discord ID parameter","select",[252,436,437,438,440],{},"Shown for ",[256,439,386],{}," operations. The request parameter (path, query or body field) that Clarify fills with the opener's Discord ID.",[425,442,444],{"name":443,"type":434},"Discord ID field",[252,445,437,446,448],{},[256,447,392],{}," operations. The field in each returned record that holds a Discord ID — Clarify matches the opener's ID against this to pick the right row.",[273,450,452],{"id":451},"what-the-member-sees","What the member sees",[252,454,455,456,459],{},"Nothing extra. The create modal is unchanged — they fill in whatever normal ",[269,457,458],{"href":83},"ticket inputs"," the category asks for (or none), and submit. The auto-detect lookup happens silently in the background, and the result card appears on the ticket for your team. If no matching record is found, no card is shown; the ticket opens as usual.",[263,461,462],{},[252,463,464,465,468],{},"Auto-detect only ever uses the ",[256,466,467],{},"ticket opener's"," Discord ID. It can't look up a different member on their behalf — for that, use a typed input and have the member paste the reference.",[273,470,472],{"id":471},"auto-detect-elsewhere-in-clarify","Auto-detect elsewhere in Clarify",[252,474,475],{},"The same idea powers a couple of built-in integrations, so the pattern may already look familiar:",[477,478,479,486],"card-group",{},[480,481,483],"card",{"icon":482,"title":162,"to":163},"i-lucide-heart-handshake",[252,484,485],{},"Resolves a member's Patreon membership from their linked Discord account — the connector version of the same trick, built in.",[480,487,488],{"icon":173,"title":182,"to":183},[252,489,490],{},"Create the operation first, then switch auto-detect on to skip the typed field.",[343,492,493],{"to":193},[252,494,495,496,499,500,502],{},"Auto-detect only sends the opener's Discord ID to ",[338,497,498],{},"your"," endpoint, over the same locked-down request path as every other connector call. See ",[269,501,192],{"href":193}," for what leaves Clarify and how.",{"title":504,"searchDepth":505,"depth":506,"links":507},"",1,2,[508,509,510,511,512],{"id":275,"depth":506,"text":276},{"id":302,"depth":506,"text":303},{"id":350,"depth":506,"text":351},{"id":451,"depth":506,"text":452},{"id":471,"depth":506,"text":472},"Show a member's own record on their ticket automatically — using their Discord ID, with nothing for them to type.","md",null,{},{"icon":190},{"title":187,"description":513},"fhmyO-8xr2lyh3577dpzbz7iaKFtnUDyUncJzANzS-A",[521,523],{"title":182,"path":183,"stem":184,"description":522,"icon":185,"children":-1},"Step-by-step guide to building a data connector — from base URL and authentication to mapping response fields onto your ticket cards.",{"title":192,"path":193,"stem":194,"description":524,"icon":195,"children":-1},"How Clarify keeps user-built connectors safe — only real public endpoints, encrypted credentials, no redirects, and capped responses.",1792666276467]