Administration & Configuration

Setting Up LLM Connections

This page explains how to set up the LLM connections (AI services, endpoints, API keys, model lists) that AnyLLM uses: creating a connection, confirming Atlassian's approval dialog, testing the connection, changing or deleting an API key and removing a connection.

What this does

A connection is an AI service that you make available: an address (endpoint), a provider type, the names of the models your users may choose from and an API key. Up to 5 connections with up to 20 models each are possible per installation — a saved connection is available to the users of Jira and of Confluence alike. Only connections with a stored API key are offered to users; their models appear in the model selection of the chat, grouped under the connection name.

Who can do this

Product administrators (Jira or Confluence administration). The Connections page is the same in both products.

Before you start

  • You have the address of the service, the API key and the exact model names at hand. For OpenAI-compatible services the address includes /v1, for example https://llm.my-company.com/v1. Only https addresses are accepted.
  • Saving a connection with a new address opens Atlassian's approval dialog — its consent counts only for the product you are working in. Plan to open the settings in the other product afterwards and approve the address there as well (see Managing Endpoint Approvals).
  • Open Settings → Connections (route: Opening the Settings and Initial Setup).

Creating a connection

Purpose — make an AI service available to all users of the installation.

Steps

  1. Click + Add connection. A new card appears (titled Connection {n} until you enter a name).
  2. Fill in the fields of the card:
FieldRequiredExplanation
Nameyesfreely chosen, up to 40 characters; appears to users as the group name above the models
Provider typepresetsee the table below
Endpointyesfull address, https only; for OpenAI-compatible services including /v1. On saving, the address is tidied automatically: surrounding spaces and trailing slashes are removed and the host name is lower-cased; the path is kept as typed
API version (optional)noonly shown for Azure OpenAI, e.g. 2024-10-21; up to 40 characters
Models (comma-separated)yesexactly as named by the service, e.g. gpt-4o, gpt-4o-mini; up to 20 per connection, each up to 100 characters, letters, digits and . - _ / : only
API keytechnically noat least 8 characters; stored encrypted and never shown again. You can save without a key, but the connection then stays invisible to users
  1. Click Save connections.
  2. Confirm Atlassian's confirmation dialog AnyLLM: self-hosted LLM endpoints (…) — it lists all addresses of the app's approval group, also when you add only one.
  3. Switch to the other product with the product button at the top of the settings and grant the approval there too: Approve now in the Approval status per product table on the Endpoint approvals page.
A connection card: name, provider type, endpoint (incl. /v1), comma-separated model list and API key; Test connection checks the endpoint.

Provider types

ChoiceWhenHint shown under the Endpoint field
OpenAI-compatible (default, LiteLLM, OpenRouter …)the normal caseEndpoint incl. /v1, auth via Bearer token.
Self-hosted (OpenAI-compatible: vLLM, Ollama, LM Studio …)your own serverEndpoint incl. /v1 of your self-hosted server, Bearer token.
Azure OpenAIAzureEndpoint = resource URL (https://<name>.openai.azure.com); "Models" = deployment names.
Anthropic (native /v1/messages)Anthropic directlyEndpoint = https://api.anthropic.com; "Models" = e.g. claude-sonnet-4-20250514.

Expected result — the message Saved. next to the button. The label of the API key field now reads API key (set — leave empty to keep, a new value rotates it), and the address appears as approved for this product under Endpoint approvals. Users see the models of the connection in their model selection; requests succeed once the approval exists in their product.

Notes

  • If the dialog is declined, nothing is saved: the page reports Network approval for … was declined or failed — nothing was saved. (a technical failure of the dialog looks the same). Save again and confirm.
  • The approval counts only for this product. Until you approve the address in the other product as well, the chat there answers The endpoint {host} is not approved for {p} yet — endpoint approvals apply per product. …
  • Five connections are the maximum: once five cards exist, + Add connection disappears (an import keeps only the first five cards). Remove a connection to make room.
  • Save on other pages also saves your cards: the Save buttons on Modules and General submit the whole configuration, including edited connection cards and keys typed there.
  • Automatic clean-up: after a successful save, the app revokes approvals that no saved connection or search service uses any more.
  • If the page reports Saved, but the network approval could not be requested — customer-managed egress is not available for this installation. … in red, the configuration was saved, but Atlassian's approval function is missing — see Managing Endpoint Approvals.

Testing a connection

Prerequisite — the connection is saved and has a key. Until the card is saved it says New — test available after saving.; Test connection stays disabled as long as the connection is unsaved or has no key.

Steps

  1. Click Test connection on the card. While the test runs, the card shows Testing connection ….
  2. Read the response:
ResponseMeaning
Connection ok — {n} model(s) at the endpoint.address and key work; the service reported a model list
Connection ok.address and key work; the service reports no model list
Visible for this key: …the models the service reports for this key (at most 50 names)
Not in the list (may still work): …a model you entered was not reported. Shown in red although the test succeeded — many services list only a subset; only an actual chat attempt gives certainty
Test failed. — alone or followed by a technical messagethe test could not be carried out at all (for example the request to the app failed). The service-related reasons in the following rows appear on their own, without this prefix
Endpoint rejects the API key (401/403).key wrong or expired
Endpoint responded with HTTP {status}.the service answered with an error status other than 401/403
Timeout after 10s.the service did not answer within 10 seconds
Connection failed: … This endpoint needs a network approval: check that an administrator has approved it under Settings → Endpoint approvals.the request did not reach the service — typically the address is not approved or not reachable
The request was blocked inside Atlassian before reaching {host} — the endpoint is not approved for {p} yet. Approvals apply per product; grant it on the {p} admin page under Endpoint approvals. If it already appears approved there, use "Re-approve in this product" — the list is shown installation-wide, but the admin consent counts per product.the approval for the product you are in is missing; this test also records a "blocked" entry for the product
Connection not found — please save first. / No API key saved — please set a key and save.the card is not saved or has no key (rare, because the button is disabled in that state)
Connection card after Test connection: the green result lists the models the endpoint exposes for this API key.

Expected result — a successful test in a product also clears a "blocked" entry of that product on the Endpoint approvals page. The test works regardless of the subscription state.

Changing or deleting an API key

Changing: enter the new key in the API key field — the field is empty and its label carries (set — leave empty to keep, a new value rotates it) — and click Save connections. The new key is used immediately; an empty field keeps the old key.

Deleting:

  1. Click Delete key on the card. The button changes to Really delete?.
  2. Click Really delete? to confirm. No further save is needed.

Expected result — the card reports API key deleted — connection is disabled until a new key is saved. On failure it shows Delete failed. or Connection not found.

⚠️ Warning: Without a key the connection is disabled immediately. Its models disappear from every user's selection. If one of them was the default model, users automatically get the first available model of another connection. If no usable connection is left, the chat reports Not configured yet … and the input field is locked.

Removing a connection

  1. Click Remove on the connection card (shown only while more than one card exists).
  2. Click Save connections.

Expected resultSaved. The connection and its stored key are gone; users lose that connection's models. Conversations already saved are kept; when continued, an available model is used instead. An approval that no other saved connection or search service uses is revoked automatically after the save.

Common problems

Server messages appear in English next to the Save connections button.

MessageCauseSolution
Add at least one connection.all cards are emptyfill in at least one card
„X“: name missing or longer than 40 characters.name empty or too longenter a name of up to 40 characters
„X“: endpoint is not a valid URL.the address cannot be parsedenter the full address including https://
„X“: endpoint must use https://.http:// entereduse https
„X“: specify at least one model.model list emptyenter at least one model name
„X“: at most 20 models.more than 20 modelsshorten the list
„X“: invalid model name „…“a name contains characters other than letters, digits and . - _ / :, or is longer than 100 characterscorrect the name
"X": API key seems too short (at least 8 characters).key shorter than 8 characterspaste the complete key
Default model must belong to one of the connections.the default model on General points to a model that no longer existschoose another default model on General
Network approval for … was declined or failed — nothing was saved.dialog declined, cancelled or failedsave again and confirm the dialog
Saved, but the network approval could not be requested — customer-managed egress is not available for this installation. …Atlassian's approval function is missing for the sitecontact your vendor (maplee); see Managing Endpoint Approvals
Save failed.the server rejected the request without detailsreload the page and try again
+ Add connection is missingfive connections existremove a connection first
Users see Not configured yet … although connections existno connection has a stored keyenter the key and save
The chat in the other product says The endpoint {host} is not approved for {p} yet …the approval was granted in one product onlyapprove it in the other product
A model is not foundthe model name differs from the service'sTest connection shows the visible model names

Rendered from the app’s own interface with sample data; the Jira/Confluence frame around it is not shown.

Documentation baseline: app version 0.2.0 · 2026-08-30