Admin Assistant
Ask the admin console about your Studio in plain language. The Admin Assistant looks up the answer in this Studio's own data and tells you where to fix things.
"Is everything OK with the platform right now?"
"Why did AI costs go up this week?"
"Which agent workflows keep failing, and why?"
"Who is waiting for approval?"
"What changed on the Orders API yesterday?"
"Approve Priya Nair." · "Limit the Sales group to $200 a month." · "Pause the nightly sync trigger."
Open it with Ask Admin Assistant at the top right of the admin console. The panel knows which admin page you are on, so "this user" or "here" works. It answers in the language you use Studio in.
The assistant never changes anything itself. It explains and points you to the page and button to use. For a few common changes it can also propose the change as a card, which you apply with one click.
What it can look up
| Area | Examples of what it answers |
|---|---|
| System health | Database and Redis reachable, version, key feature switches, users online now, API gateway background jobs (rollup, alerts, archive, prune) |
| LLM connections | Whether each configured OpenAI-compatible and Ollama connection answers from the server, how many models it lists and how long it took |
| Models | Which models users can pick, which are disabled or hidden, and which have no price (cost reports need one) |
| Users and groups | Find a user; their role, groups, last activity, usage this month against their limits, and how many workflows and APIs they own. User counts, pending approvals, groups and the permissions they grant |
| Usage and cost | Tokens and cost for a period by model, by user (top spenders) or by day, always compared with the period before |
| Usage limits | The limits set per user and per group, and the users at or over their alert threshold |
| Agent workflows | Runs, success rate, duration and cost for a period; failures per workflow; the latest runs with their error; one run's node timeline (errors and timings) |
| API platform | Gateway traffic, error rate and latency against the previous period, the busiest and most failing APIs, error codes and the alerts firing now |
| Review queue | Workflows and APIs waiting for review, who submitted them and for how long, and users waiting for approval |
| What changed | The audit log of a workflow, skill or API, the changes applied from this assistant (user roles with the user's name, usage limits, models, triggers), or everything one person changed, newest first |
| Incidents | Firing and acknowledged incidents from your incident provider |
| Feedback | Thumbs up and down per model for a period, and the all-time leaderboard |
| Settings | The current value of any setting, area by area (Connections, Documents, Web search…) |
| Inventory | Digital employees and their status, workflows and APIs by status, knowledge bases, skills, functions and tools |
| Workflow triggers | Each trigger's workflow, type (cron, webhook, event), whether it is on or paused, last and next run, run count and last error. Never a trigger's settings, which can hold a webhook token |
It states the time window it used (the last 7 days unless you say otherwise), uses UTC for times and compares with a baseline before calling something "high" or "failing". Each answer starts with the short answer, then the evidence, then what to do and where.
Starter questions
An empty chat offers six: System health, Cost this week, Failing workflows, Pending approvals, Users over their limits and Recent changes.
Proposed changes
For four kinds of change the assistant can propose a card instead of only naming the page:
| Change | Example | Runs the same code as |
|---|---|---|
| A user's role | "Approve Priya" (pending → user), "make Sam an admin" | Admin → Users → Role. The primary admin's role can't change, and you can't change your own |
| A usage limit | "Limit the Sales group to $200 a month", "give Jane a hard 2,000,000-token daily limit" | Admin → Usage limits |
| A model on or off | "Turn off the old GPT model for everyone" | The model switch in Admin → Settings → Models |
| A workflow trigger on or off | "Pause the nightly sync trigger" | The trigger switch in Agent Builder |
The card says exactly what will change and what it is now, for example Change Priya Nair's role from pending to user (approves their sign-up), written by Studio from the current data rather than by the model.
- Nothing changes until you click Apply. Dismiss drops the card.
- Apply checks again first. If someone changed the same thing since the card was proposed, nothing is done and the card shows Changed since proposed. Ask again for a fresh card.
- Giving someone admin access asks you to confirm.
- A card expires after 24 hours, and only the admin it was proposed to can apply it. One answer proposes at most 5 cards.
- In a follow-up, the assistant knows which cards it proposed and how each ended (applied, dismissed, changed since, failed or expired), so "did you approve her?" gets the true answer and it doesn't propose the same change twice.
- If applying is interrupted (for example the server restarts mid-way), the card shows Failed after five minutes. Check the current state on its admin page, then ask again.
- While Let it propose changes is off, open cards say so and have no Apply.
- Every applied change is written to the audit log as you, with Applied from the Admin Assistant and the before and after values.
- After Apply, the page behind the panel still shows the old value. Use Reload page in the message that confirms the change.
Card states: Waiting for you, Applied, Dismissed, Changed since proposed, Failed (with the reason) and Expired.
If an answer talks about a card but none was created, the assistant adds a note that there is nothing to apply. Weaker models sometimes write the change out as text instead of proposing it; Studio turns such a written change into a normal card, which still waits for your Apply.
Switch proposing off with Let it propose changes (below); the assistant then only points to the page.
What it can't do or see
- Change anything itself. The model has no tool that edits users, roles, limits, models, settings, workflows or APIs. Proposed cards change something only when you click Apply. For everything else it names the page, for example Admin → Settings → Connections.
- See secrets. API keys, tokens, passwords, webhook secrets, LDAP settings, function and tool valves, and OAuth sessions never reach the model. Settings that hold a secret show only as set or not set, and every result is scanned for anything that looks like a key or a password in a URL before the model sees it. It won't ask you for a secret, and refuses one if you paste it.
- Read conversations. Chat messages, feedback comments and snapshots, and workflow inputs and outputs aren't available to it. It works from counts, metadata and error messages.
- Show more personal data than needed. For people it sees name, email, role, groups and activity, nothing else.
- Know what Studio doesn't record. Failed sign-ins, for example, aren't stored. It says so instead of guessing.
Text that comes back from a lookup (a workflow name, an error message, an incident title) is treated as data. Instructions hidden in it are ignored.
Every lookup is audited
Each lookup the assistant makes is written to the audit log as the admin who asked, with the actor type ADMIN_AGENT, the lookup and its arguments, and whether it worked. Under every answer, N lookups lists what it looked up, how long each took and any that failed.
Two more kinds of entry:
- Applied cards: written as the admin who clicked Apply (
ADMIN_ASSISTANT_APPLY), with the before and after values. - Settings changes: turning the assistant or its proposals on or off, or changing its model, are written as the admin who saved them (
ADMIN_ASSISTANT_SETTINGS).
In the audit trail the assistant reads, secret values are hidden even in one-line change summaries.
Conversations
- Conversations are saved for you only (your newest 50). Opening the panel brings back your latest one.
- History lists them, with a search box once you have a few. New chat starts over.
- Stop ends an answer early. The lookups that already ran are kept, and you can ask it to continue.
- An answer keeps going on the server if you close the panel or leave the page. Reopen the chat to see it.
Turning it on and off
In Admin → Settings → General → Admin Assistant:
| Setting | What it does |
|---|---|
| Enable Admin Assistant | Shows or hides the button in the admin console. When it is off, the assistant answers nobody. On by default |
| Let it propose changes | Lets it propose cards for a user's role, a usage limit, or a model or workflow trigger on or off. Off: it only points to the page, and open cards can't be applied. On by default |
| Admin Assistant model | A model id of the default AI provider. Choose one that calls tools reliably. Empty uses the provider's default model |
Environment variables
| Variable | Default | |
|---|---|---|
ENABLE_ADMIN_ASSISTANT | True | Starting value of the switch above |
ADMIN_ASSISTANT_MODEL_ID | (empty) | Starting value of the model above |
ENABLE_ADMIN_ASSISTANT_ACTIONS | True | Starting value of Let it propose changes |
ADMIN_ASSISTANT_MESSAGES_PER_10_MINUTES | 40 | Messages each admin can send in 10 minutes |
ADMIN_ASSISTANT_TURN_BUDGET_SECONDS | 240 | Longest one answer may take; after that it stops and keeps what it found |
Only admins can use it. Each answer makes at most 25 lookups in up to 8 rounds.
Troubleshooting
| Problem | What to do |
|---|---|
| No Ask Admin Assistant button | It is switched off: turn it on in Admin → Settings → General |
| "The AI model did not answer" | The default AI provider or the chosen model isn't working. Check Admin → Settings → Connections, or ask the assistant to check the connections once one works |
| "The AI model sent the request as text instead of running it" | The model doesn't call tools reliably. Choose a stronger model in the Admin Assistant settings |
| "You have sent a lot of messages in a short time" | The per-admin limit was reached. Wait a few minutes |
| "This took too long, so I stopped" | The answer passed its time budget. Ask a narrower question, or ask it to continue |
| A card shows Changed since proposed | Someone changed the same thing after the card was made. Ask the assistant again |
| A card shows Expired | Cards can be applied for 24 hours. Ask again |
| "No change was proposed in this answer" | The model described a change without proposing it. Ask it to propose the change, or make it on the admin page |