Using Orby, the in-dashboard operator assistant
Orby is the assistant built into the Orbit dashboard. It answers operator questions in natural language, grounds its answers in your workspace data and the Orbit product documentation, and — when a request implies a change — proposes an action for your explicit approval instead of acting silently. This guide covers the operator experience: opening the panel, how Orby grounds answers, the approval posture on data-changing actions, and what happens under degraded conditions. For the underlying HTTP contract a custom integration uses, see the Orby API reference.What Orby is
Orby is a chat panel for operators — the people who run your Orbit workspace day to day. Ask it a question (“how many conversations are unassigned right now?”), ask it to orient you (“where do I set quiet hours?”), or ask it to do something (“reassign this conversation to Maya”). Orby classifies the intent of each message, reads the relevant tenant data, and replies in the same panel. Two properties define the surface:- Operator-facing only. Orby runs in the context of the signed-in dashboard user. There is no server-to-server API-key path: a request authenticated with an API key is rejected with
403 ORBY_SESSION_REQUIRED. Every turn is scoped to your organization, your role, and your own threads. - Same permissions, not more. Orby acts under your operator role. It cannot reach anything your role could not reach through the dashboard or API, and every data-changing action it proposes runs through the same authorisation checks as if you had clicked the equivalent control yourself.
Open the Orby panel
Orby is available anywhere in the dashboard:- Click the Orby button (sparkles icon) in the top bar, next to the help and notifications cluster, or
- Press Ctrl+J (Windows) / Cmd+J (macOS).
Knowledge-base grounding
Orby is grounded in two sources, so its answers are about your workspace, not a generic textbook:- Live tenant data. When a question is operational — counts, statuses, a specific conversation — Orby reads the relevant records under your tenant, live, and cites them in the reply.
- The Orbit product documentation. Orby searches the same documentation corpus this site is built from, under
/orby/kb. That is the “where do I configure X?” path: Orby maps a plain-language description to the dashboard route where the setting lives and links the matching doc page, instead of paraphrasing from memory.
Tool actions: proposal and approval
When a request would change data, Orby does not act immediately. It proposes the action and pauses:- Orby renders a pending action card in the chat: the tool it intends to run (“send an SMS”, “reassign this conversation”, “pause this campaign”), the exact arguments it will use (recipient, body, target conversation), and an estimated cost where one applies.
- You approve to execute, or reject to cancel. Replying in chat with a plain
confirm/yes/cancelresolves through the same path as the buttons — either way lands in the audit trail identically. - A pending action expires after 5 minutes. If the countdown elapses, the action is cancelled and Orby confirms nothing ran.
- Approvals are protected against replays and races: approving an already-resolved action is rejected, and a concurrent second approval is refused. Between proposal and approval Orby also regrounds the tool arguments — if the underlying data changed while you were deciding (the conversation got reassigned by a teammate, the recipient list changed), the action does not run on stale inputs.
Session-only guard and degraded behaviour
Two resilience properties are worth knowing before you rely on Orby in production: Session guard. Every Orby request must authenticate as a signed-in dashboard session. An API-key request — whether the key arrives asX-API-Key or as a dv_* Bearer token — is rejected before any handler runs with 403 ORBY_SESSION_REQUIRED. A leaked or over-permissioned API key therefore cannot drive Orby’s tool execution or knowledge-base surface; there is no path around the operator session.
Availability degradation. If Orby’s backing store is briefly unavailable (for example, during a database failover), the read side degrades instead of failing hard:
- The Past chats thread list renders as an empty list, equivalent to an operator with no threads, rather than an error page.
- Reopening a thread renders as an empty message list, not a 503.
Examples
A few representative flows: Draft and send an SMS. You: “Send an SMS to +15555550100 saying their order shipped.” Orby composes the message, renders a pending action card with the recipient, body, and estimated cost, and waits. Approve, and the message queues; the card shows the queue confirmation. The same flow works in reverse for inspection: “Show me the last outbound SMS to that number.” Reassign a conversation. From a conversation page: “Reassign this conversation to Maya.” Orby proposes the reassignment with the target agent and conversation visible on the card. Approve, and the assignment changes. If the conversation was already reassigned while the proposal was open, the approval regrounds and refuses to run on stale data — resend the request to get a fresh proposal. Summarize a thread. Open any conversation and ask “Summarize this thread in three bullet points.” Orby reads the conversation and replies inline. Summaries, counts, and searches are read-only, so they never trigger an approval step. Find a setting. “Where do I set quiet hours for SMS campaigns?” Orby answers with the dashboard route and the docs link — click through, and the conversation keeps the answer for later reference in Past chats.Security and compliance posture
- Authenticated as you. Every Orby call carries your operator JWT and inherits your Orbit role and scopes. Orby has no separate identity and no hidden privilege; anything it does, your role could already do.
- Scoped authorization. The tool actions Orby can propose run inside the authorization-mandates framework — scoped, capped, and revocable grants with a consent digest verified at act time. Nothing executes outside that gate: a tool action without a valid, in-scope mandate is refused before any side effect.
- Auditable end to end. Proposals, approvals, rejections, expiries, and undo events are all audit-logged with the operator identity, so a compliance review can reconstruct who approved exactly which payload.
- Tenant isolation. Threads, pending actions, and KB results are scoped to your organization. Cross-tenant reads are impossible by construction, not by policy.
See also
- Orby API reference — endpoint shapes for turns, threads, and tool confirmations
- Authorization mandates — the scoped-consent framework tool actions run under
- Operator observability map — where Orby sits among the dashboards, logs, and audit surfaces
- Verify — the API-side precedent for four-eyes OTP approvals