Skip to main content

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: GET or POST and a full https:// URL. Put {user.id} and {guild.id} where the IDs go, for example https://api.example.com/players/{user.id}.
  • Credential: pick the connection from the previous step, or None. Choose whether it is sent as the Authorization header or as X-API-Key.
  • A POST sends {"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 pathVariable nameUse it as
data.rankrank{lookup.rank}
player.levellevel{lookup.level}
orders[0].statuslast_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.