Custom HTTP Lookups
A Custom HTTP lookup calls an endpoint you control when a ticket opens, passing the member's Discord ID, and turns fields from the JSON reply into variables. Use it to show staff a player's rank, a customer's plan, or anything else your own systems know.
Pro feature
Custom HTTP lookups are part of Integrations, available on the Pro plan.
Setup
(Optional) Store a credential
If your API needs authentication, go to Dashboard → Automations → Connections, add Custom HTTP, and paste the header value, for example Bearer sk_live_… or a raw API key. It must be a single line of plain ASCII characters, up to 4,096 long, which fits a long JWT. It is encrypted and never shown again. Skip this for a public endpoint.
Configure the request
Edit a category, open Game server tools on the General tab, and in the Lookups card switch on Custom HTTP:
- Method and URL:
GETorPOSTand a fullhttps://URL. Put{user.id}and{guild.id}where the IDs go, for examplehttps://api.example.com/players/{user.id}. - Credential: pick the connection from the previous step, or None. Choose whether it is sent as the
Authorizationheader or asX-API-Key. - A
POSTsends{"userId": "…", "guildId": "…"}as its JSON body.
Map the response
Add up to 20 mappings. Each one reads a JSON path from the reply and names the variable it lands in. For a reply like this:
{
"data": { "rank": "VIP" },
"player": { "level": 42 },
"orders": [{ "status": "shipped" }]
}
these mappings fill {lookup.rank} with VIP, and so on:
| JSON path | Variable name | Use it as |
|---|---|---|
data.rank | rank | {lookup.rank} |
player.level | level | {lookup.level} |
orders[0].status | last_order | {lookup.last_order} |
Paths use dots for fields and [n] for list items. Variable names start with a letter and use letters, digits and underscores.
What your endpoint should do
- Answer with JSON and a 2xx status within 4 seconds. Slower replies are dropped and the ticket opens with empty variables.
- Keep the reply under 256 KB.
- Answer directly: redirects are not followed.
A mapping whose path isn't in the reply resolves to empty. Non-2xx replies leave every mapped variable empty and the info card says the lookup was unavailable.
Security
- Requests go through the same protection as webhook and API request nodes: private, loopback and internal addresses are blocked, the connection is pinned to the address that was checked, and redirects are refused.
- The credential is stored encrypted and only ever sent to the URL configured on the category.
- Settings exports leave the credential out, and an imported Custom HTTP lookup arrives switched off so you can review it before enabling it.
- Results are cached for 10 minutes per member and category setup.