Skip to main content
Plexara

Portal Tour · Administration

See Exactly What Your Agents Can Reach

The same portal, the second half of the sidebar. These sections are shown to whoever holds the role, and they are where access is defined, backends are connected, tools are inspected and tested, and every call is accounted for. This tour walks them in the order the sidebar lists them.

01Dashboard

One Page That Answers Whether Anything Is Wrong

Dashboard is the administrative landing view and it carries six tabs: MCP, API Gateway, Health, Indexing, Events, and Notifications. The first of them opens on tool-call activity across a window you choose, from the last hour out to seven days. What fills the last of them, and where an admin points outbound mail, is covered on Email Notifications.

MCP

Volume, Success, and the Rhythm of a Working Week

Why it matters

Adoption questions and incident questions look identical from the outside. Both start with how much is being asked, by whom, and whether it is succeeding.

How it works

Summary cards report total calls, success rate, average duration, unique users, unique tools, enrichment rate, and errors, each with its trend against the prior window. An activity timeline charts call volume with errors overlaid, and a usage-rhythm heatmap lays the last seven days out by weekday and hour, which is where a nightly job or an abandoned Friday afternoon becomes obvious. Below that sit top tools and top users, response-time percentiles, a clickable recent-errors list, the knowledge review queue, and every connected backend with its tool count.

Admin dashboard on the MCP tab with summary cards, an activity timeline, and a usage-rhythm heatmap by weekday and hour
Events

Every Call, With the Arguments It Was Made With

Why it matters

When something goes wrong you need the exact call, its arguments, its response, the persona that allowed it, and the session it belonged to. A sanitized summary answers none of that.

How it works

The Events tab indexes every tool invocation, filterable by user, tool, status, and time, with sortable columns and CSV or JSON export. Any row opens a detail drawer carrying identity (user, persona, session), execution (tool, connection, duration), status and enrichment, transport sizes, and the full request parameters as JSON. Distributed tracing follows one request through sign-in, context gathering, and the underlying data call.

Audit event log with user, tool, status and time filters, sortable columns, and export actions
Health

Which Node Is the Problem

Why it matters

Incident response starts with knowing whether the stack is degraded and which node is degrading it, before anyone starts guessing.

How it works

The Health tab reports per-node uptime, CPU, resident memory, heap, and goroutine counts across the fleet, with a clear status for each and a dash wherever a metric is genuinely missing rather than a zero that reads as healthy.

Per-node fleet health with uptime, CPU, memory, heap, and goroutine metrics
Indexing

Watch Semantic Ranking Stay Healthy

Why it matters

Embedding work runs off the request path, so a slow provider or a run of retries degrades ranking toward keyword-only with nothing but a log line to say so. Search quietly gets worse and nobody is told.

How it works

The Indexing tab reports the embedding provider, model, and dimension, then a plain verdict per corpus: up to date, indexing, or degraded, each with real indexed-of-expected coverage and when it last ran. Equivalent states look identical, so a healthy corpus is recognisable at a glance rather than read. Below sit a throughput timeline, embed latency at the median with a 95th-percentile marker, in-flight jobs with their lease countdown and progress, retry backoff with attempt counts, and open failures grouped by error signature. A failure resolves itself and leaves the panel once a later job for the same unit succeeds. Re-index re-enqueues everything out of sync for a corpus.

Indexing dashboard with provider health, per-corpus coverage verdicts, throughput, embed latency, and failure triage
Notifications

Did the Email Actually Arrive

Why it matters

A share that never reached its recipient looks exactly like a share nobody opened. Without a delivery read, the first sign of trouble is somebody saying they never got it.

How it works

Counts by status sit above the list, failed, pending, sending, and sent, and each doubles as a filter. Every row shows when it was raised, who it was addressed to, the subject the message carried, its category, its status, and how many attempts were made. Opening a row exists for the failure case: it shows the error the mail server returned, verbatim, alongside the attempt count before the queue gave up. Filters narrow by recipient, status, and category. It holds recent history rather than an archive, and the window it covers is stated above the list.

Notification delivery view with counts by status, a queue list with recipients and subjects, and attempt counts
02Agent Instructions

Teach Every Session the Same Thing

Agent Instructions is the operating guidance every agent session receives before it does anything. It is the highest-leverage screen in the administrative half, because it is the one place a rule reaches every conversation without anyone repeating it.

Instructions

Your Context on Top of the Platform Baseline

Why it matters

Guidance that lives in somebody’s head gets applied on the sessions they are watching. Written once and served to every session, it applies on the ones nobody is watching.

How it works

A split markdown editor puts source on the left and live preview on the right. Above it sits the read-only platform baseline: the platform-owned guidance composed beneath your own, naming only the tools this installation actually exposes, so you can see what is already covered and add only your business context on top rather than restating it. Every change made through the administrative sections is recorded with who made it and when, so the guidance has a history rather than a current value.

Agent Instructions split markdown editor with live preview and the read-only platform baseline above it
03API Catalogs

Turn Whole REST APIs Into Governed Tools

An agent can call any external REST or HTTP API by reading that API’s own OpenAPI description to learn its operations and inputs, then signing in and calling it under per-role rules. Ten APIs do not add a thousand tools, and every call rides the same audit pipeline as native data access. Read the API Gateway page.

Catalogs

One Spec, Every Connection That Points at It

Why it matters

Generating one tool per endpoint explodes the catalog: ten APIs would add a thousand tools an agent has to sort through, which wrecks tool selection long before it wrecks anything else.

How it works

A catalog is a versioned bundle of OpenAPI specs that many connections share, so one upload documents every connection pointing at that vendor. Specs are ingested by paste, file upload, or a public URL fetched once. The whole surface is then served through four tools: browse the spec sections, list a section’s operations, read one operation’s exact schema, and invoke it. Each spec carries an embedding-health badge and a last-fetched time, with refresh, retry, edit, and delete beside it, and a catalog cannot be deleted while a connection still references it. Large or binary responses stream straight to an asset instead of into the answer.

API catalogs with component specs, embedding-health badges, source badges, and connection reference counts
Gateway Traffic

Watch Where the Outbound Calls Go

Why it matters

Outbound traffic is the part of an integration nobody watches until a vendor rate-limits you or an endpoint starts failing quietly.

How it works

The Dashboard’s API Gateway tab charts connection-to-operation traffic as a flow, with an inbound-versus-outbound health split by status category and breakdowns by status class, method, and calling identity. Every endpoint is semantically indexed, so operations rank by what they mean rather than by name matching, and a plain REST route exposes the same connectors to clients that are not agents at all.

API gateway traffic view with a connection-to-operation flow diagram and breakdowns by status, method, and caller
04Assets

Everything Produced, Across Everyone

The administrative Assets view is the platform-wide read of what agents have produced: every asset from every user, with the provenance that says where each number came from.

All Assets

What Was Produced, and Who Produced It

Why it matters

A workspace nobody can see across is a workspace where the same report gets built four times and no one notices the fourth is wrong.

How it works

The table lists every asset on the platform with its name, owner, content type, file size, sharing state, and creation date, searchable and filterable by type, owner, and connection.

Admin assets table listing every asset across users with owner, content type, size, and sharing state
Provenance

Where a Number Actually Came From

Why it matters

An artifact without lineage is a claim you cannot check. When a figure is disputed, the argument only ends when somebody can point at the query.

How it works

Asset detail renders the content in the same full viewer users get, alongside the originating session, the tool calls that produced it, the datasets those calls touched, and the full version history. Delete, download, and share are available from the same screen.

Admin asset detail rendering the asset beside its originating session, tool calls, lineage, and version history
05Connections

Every Backend, Including Other MCP Servers

Connections manages the backend instances the platform serves from: Trino, DataHub, S3, and MCP gateways. A gateway connection proxies an upstream MCP server and re-exposes its tools as native ones, under the same persona rules, audit trail, and enrichment as everything else.

Federation

Upstream Tools Under One Access Model

Why it matters

Every MCP server a team adopts is another endpoint, another sign-in, another silo. Agents end up juggling connections instead of getting one coherent surface.

How it works

A split-pane list groups connections by kind with their descriptions and tool counts; selecting one shows its metadata, its configuration with a show-sensitive toggle for credentials, and its actions. A gateway connection re-exposes an upstream server’s tools under a local prefix so they sit alongside native tools and obey the same rules. Test connection dials the upstream with the values on screen, before anything is saved, and reports whether tool discovery succeeded. Refresh tools re-reads a saved upstream and re-registers its catalog live, so every connected agent’s tool list updates without anyone reconnecting.

Connections split pane with backends grouped by kind and a selected connection showing metadata and configuration
Enterprise Auth

Sign In the Way Each Upstream Demands

Why it matters

Real upstreams authenticate in incompatible ways, and some hosted vendor servers require a human browser sign-in rather than a static token, which is exactly the case a scripted integration cannot cover.

How it works

Connections support bearer tokens, API keys, HTTP basic, OAuth 2.1 with either machine-to-machine credentials or browser sign-in with PKCE, and client-certificate mTLS. A browser sign-in connection shows a not-connected banner with a Connect button; authorizing opens the upstream’s own sign-in, and the card then names who authorized it and when. Tokens and secrets are encrypted at rest, access tokens refresh silently so scheduled work keeps running, and a certificate’s expiry surfaces as a badge before it bites.

New connection form showing auth modes including OAuth 2.1 browser sign-in and client certificates
Enrichment Rules

Give a Third-Party Tool Your Warehouse Context

Why it matters

One source’s response carrying another’s context is the whole point, and it should apply to proxied third-party tools too. Hard-coding that per tool does not scale past the second one.

How it works

A rule attaches warehouse and catalog context to a proxied tool’s response without any code: a predicate that fires always or when the response contains a value, a source operation against DataHub or Trino, bindings that pull from the call’s arguments, the response, and the caller, and a merge strategy that decides where the context lands. A dry run pastes in a sample call and returns the merged response with no side effects. A rule that fails attaches a warning rather than failing the call it was enriching. Rules are managed from a drawer on the gateway connection and shown on the tool itself.

Per-tool enrichment rules listing predicate, source operation, merge strategy, and enabled state
06Description

What the Platform Says It Is

Description sets the identity the platform reports to connected clients. It is the first thing an agent reads about what it has just connected to, and the sentence that decides whether it uses the platform well.

Description

The First Thing an Agent Learns

Why it matters

An agent that does not know what a platform is for will use it like a generic database. A description that names the domain, the data, and the intended use changes the questions it asks.

How it works

The same split markdown editor as Agent Instructions, source beside live preview. What you write is surfaced to connected clients as the platform’s identity, and, like the instructions, every edit is recorded with its author and time.

Description page with a split markdown editor showing source and live preview
07Keys

Credentials for the Things That Are Not People

Keys mints credentials for programmatic callers: a scheduler, a pipeline, a script, anything that needs the platform without a human at a browser.

API Keys

Scoped, Expiring, and Shown Exactly Once

Why it matters

A service credential with no scope and no expiry is a credential that outlives the project it was minted for and grants more than that project ever needed.

How it works

Each key is created with a name, an optional owner and description, its roles chosen from a browser, and an expiration preset from a day out to a year or never. The generated key appears once in a copy-now banner and never again. The table lists every key with its roles, owner, and expiry, dims expired ones with a badge, and revocation takes effect immediately.

API keys table with names, owners, role badges, expiration dates, and an expired key dimmed
08Personas

Fail-Closed Access, Defined by Role

A persona maps the roles your identity provider already issues to exactly the tools and connections that role may reach. It is default-deny: what a persona does not allow is not merely refused, it is never shown to the agent at all.

Personas

What a Role Can Reach, and Nothing Else

Why it matters

Access defined as a pile of low-level permissions drifts from what the business actually meant, and anything not explicitly denied tends to leak. Roles should get what they need and nothing adjacent to it.

How it works

A persona carries allow and deny tool patterns, a connection allowlist, a priority, and the identity-provider roles it maps to. Because unauthorized tools are invisible rather than blocked, an agent never spends tokens reasoning about capabilities it cannot use, and access is refused before a request reaches the data layer. Context overrides tune behaviour per role with a description prefix and an agent-instruction suffix, so the same tool can be introduced differently to an analyst and to an engineer.

Persona detail with allow and deny tool patterns, connection allowlist, resolved tools, and context overrides
Permissions Explorer

See What the Rule Resolves To Before You Save It

Why it matters

A pattern that looks right and resolves wrong is the whole risk of pattern-based access. Finding out after the fact means finding out from an incident.

How it works

The editor puts an identity panel beside a live permissions explorer that previews exactly which tools and connections the current allow and deny patterns resolve to, with a running allowed and denied count and a trace explaining which rule decided each one. Quick templates seed common policies for administrator, read-only, analyst, and engineer shapes, and a separate tab tunes the persona’s assistant behaviour.

Persona editor with an identity panel beside a live permissions explorer showing resolved tools and a rule trace
09Prompts

The Library, From the Other Side

The administrative Prompts page manages every prompt at every scope, and it is where a personal prompt someone wrote becomes something their team, or the whole organization, is served.

All Scopes

Global, Persona, Personal, and System in One Table

Why it matters

Prompt quality drifts where nobody is looking. Seeing every scope in one sortable table is what makes a stale global prompt findable before somebody runs it.

How it works

A sortable table lists every prompt with a scope badge, a lifecycle badge, its owner, category, and tags, filtered by scope and searched across name and description. Editing exposes the lifecycle selector that moves a prompt from draft to approved to deprecated or superseded, stamping the approving admin; choosing superseded reveals a field for the replacement prompt’s name, so a retired prompt says what took its place.

Admin prompt library with scope badges, lifecycle status badges, owners, and a scope filter
Promotion Queue

Someone’s Prompt Becomes the Team’s

Why it matters

The prompts worth standardizing are the ones already being used, and their authors are rarely admins. Without a request path, good work stays personal.

How it works

A panel at the top of the page lists the personal prompts whose owners have asked for promotion, naming the owner, the scope requested, and the description; it is hidden entirely when nothing is pending. Approve applies the requested scope and marks the prompt approved, reject clears the request and leaves it personal, and a name that already exists at the target scope blocks approval as a conflict so the owner renames first. A prompt an admin creates at a shared scope lands approved with that admin stamped as approver, since the creator is the reviewer.

Prompt create form with a markdown editor, auto-extracted arguments, scope selector, and persona targeting
10Resources

The Reference Library, Across Every Scope

The administrative Resources view is every uploaded file in one place, across every persona and scope, which is what makes curating the library possible rather than aspirational.

All Resources

Find What Nothing Has Read

Why it matters

A reference library only decays in one direction. Material accumulates, nobody removes anything, and agents start pattern-matching against a template that was replaced a year ago.

How it works

Scope tabs cover all resources, global, and each persona, with text search and a category filter across them. The table adds a last-read column and a recently-read sort, so the library can be ordered by what is actually used, and a resource never read since it was uploaded over thirty days ago is flagged. An admin can open, edit, and delete any resource, including persona material they do not belong to, while listing and agent-facing reads stay scoped to membership.

Admin resources table with scope tabs, scope badges, categories, uploader, and last-read column
11Tools

Every Tool, Typed, Testable, and Attributed

Tools is a master-detail view of everything the platform exposes, grouped by the connection that provides it. A tool you cannot inspect is a tool you cannot govern, so each one opens onto its schema, its access rules, an execution surface, and its own usage.

Overview

The Schema and the Rule That Decided Access

Why it matters

Knowing that a role cannot call a tool is half an answer. The useful half is which rule decided it, because that is the part you can change.

How it works

The overview shows a tool’s description with an inline override editor, the connection it belongs to, its full JSON input schema, and per-persona access: which personas can call it and the exact pattern that resolved to that verdict. An adjacent activity view aggregates the tool’s own call volume, success rate, and average duration, with a deep link into the audit log filtered to it.

Tool overview with description override, JSON input schema, and per-persona access rules
Try It

Run the Tool Yourself Instead of Asking an Agent To

Why it matters

Debugging a tool by asking an assistant to call it puts a language model between you and the answer. You want the raw call and the raw response.

How it works

Try It generates a form from the tool’s schema with type-appropriate inputs, a text area for a query, a number field for a limit, a dropdown for an enum, runs it against the live source, and renders the result as a formatted table with a raw toggle. A timestamped history keeps every test call with its duration and status, and any of them replays.

Tool Try It tab with a generated parameter form, execute action, rendered result, and call history
Visibility

Check the Blast Radius Before You Commit

Why it matters

Turning a tool off platform-wide is the kind of change that is obvious in hindsight and surprising in the moment, because the person making it rarely knows every persona it touches.

How it works

Visibility toggles a tool’s membership in the platform-wide deny list and previews whether a given persona can still reach it, before the change is applied.

Tool visibility tab with a platform-wide deny toggle and a per-persona access preview
12Users

A Directory So Sharing Knows Your Colleagues

Users is a directory of people, not an authorization layer. It grants nothing on its own; it exists so the share picker can suggest a colleague by name instead of asking somebody to remember an address.

Directory

Suggest the Person Before They Have Signed In

Why it matters

Sharing fails on the small stuff. A mistyped address sends work to nobody, and a new hire who has not logged in yet cannot be picked at all.

How it works

Anyone who authenticates is recorded automatically with the name from their sign-in. An admin can pre-add someone by email so they are selectable for sharing before their first login, where they show as invited rather than active. Admin-entered names take precedence: a later sign-in fills blank fields but never overwrites a name someone set deliberately. The table lists name, email, status, and last seen, with search across it.

Users directory with names, emails, active and invited status badges, and last-seen dates

Next

Email Notifications

How a share, a comment, or an unworked review queue reaches a person who is not looking at the portal.