Providers and Keys
The platform can call six AI providers. Each has its own section on AI Settings holding its key, the model to use when a feature names the provider but no model, and how the provider is offered in the Send to AI menu. A provider is usable as soon as its credentials are set; which features actually use it is decided by the roles.
Where to find it
Architect Panel → Configuration:
- AI Settings — one section per provider, and a provider table on the status card
Architect Panel → Activity:
- AI Usage — Test a role, to prove a key works
The six providers
- Claude (Anthropic): Anthropic's own API. The richest route: documents go as PDFs, answers can carry citations, and structured answers are asked for natively.
- ChatGPT (OpenAI): OpenAI's own API. OpenAI models reached through AWS are the Amazon Bedrock provider, not this one.
- Gemini (Google): Google's Gemini. Its key is also the one AI images and video use.
- GitHub Models: authenticated with a personal access token rather than an API key.
- Grok (xAI): xAI's API.
- Amazon Bedrock: Claude, OpenAI's GPT-6 family and other models through your AWS account. It has its own article, because region and credentials matter there.
OpenAI, Gemini, GitHub Models and Grok are reached in prompt mode: the instructions, any documents (as text) and the question are folded into one prompt, and a structured answer is checked by the platform after it comes back. These providers report no token counts, so their calls show as not priced on AI Usage, and where AI billing is on they are charged on an estimate from the characters sent and received. They cannot return citations.
The fields in each provider section
- API key (GitHub Models: Personal access token): never shown. Leave blank to keep, type to replace, tick Clear it to remove.
- Default model: the model a role gets when it names this provider and no model. Leave it empty and such a role has no model at all. For Claude the shipped value is
claude-opus-5-5; the others ship empty. Never paste a Claude Code id ending in "[1m]": it is not an API model id. - Offer in Send to AI: shows the provider in the Send to AI menu. The platform's own AI features do not look at this switch: they need only the credentials.
- Send to AI delivery: the menu's default way of delivering a prompt. api calls the provider; clipboard copies the prompt and costs nothing; cli (Claude and GitHub Models) runs a command-line tool; claude_desktop (Claude) opens Claude Code. The command-line options also need settings that only the hosting administrator can switch on.
- Display name: an optional label to show instead of the provider's own name.
The Claude section has three more: API address (blank means Anthropic's own; a company proxy goes here, and the key is sent to whatever address is entered), Strict tool schemas and Server-side fallbacks. Leave those two on unless Anthropic support advises otherwise.
What Send to AI is
Send to AI is a menu a custom app can add to its own screens: it lists the providers marked Offer in Send to AI, lets a person pick a model, and sends a prompt that the app's own code has built. No standard platform screen carries the menu, so on most installations these two switches change nothing. While AI billing is on, the api and cli deliveries are refused and dropped from the menu, because they are not metered, unless Unmetered Send to AI deliveries in the billing section allows them.
Setting up a provider
- Create the key in the provider's own console, under an organisational account rather than a person's.
- Open AI Settings, go to the provider's section, paste the key into API key, and enter a Default model id taken from the provider's documentation.
- Press Save. The status card's provider table should now say Set under Credentials.
- Point at least one role at the provider (see the roles article), or set it as the
builderprovider to make it the default for everything. - On AI Usage, press Test beside that role and check it answers.
What goes wrong, and how to tell
- The role says "not configured" on AI Usage: its provider has no usable credentials. Check the key was saved in the right section.
- The test fails with auth: the provider refused the key. It was mistyped, revoked, or belongs to another account.
- The test fails with not_found: the model id is not one this provider knows. Check the spelling against the provider's model list.
- "no model set" beside a role: the role names a provider whose Default model is empty. Fill it in, or give the role a model of its own.
- Costs show as not priced: expected for the prompt-mode providers, and for a model the price table does not know. Add a row under Price overrides in Prices, limits and retries if you want an estimate.
Worked example
An organisation already pays for OpenAI under a business agreement and wants the Report Builder's assistant to use it while everything else stays on Claude. An architect pastes the OpenAI key into the ChatGPT (OpenAI) section, sets a default model, and saves. In the roles table they set the biquery provider to ChatGPT (OpenAI) and save again. The test call on AI Usage answers, and the architect notes that these calls will show as not priced, so the monthly spend for that role is read from OpenAI's own billing page.
Recommendations
- Use organisational keys, so AI does not stop working when a person leaves.
- Always set a Default model for every provider you key.
- Prefer Claude or Bedrock for document-heavy work, where PDFs and citations are supported.
- Leave Offer in Send to AI off unless a custom app on this installation uses the menu.
- Test after every key change, not when a user first reports a failure.