> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Command palette walkthrough

> Open any console in Devotel Orbit from a single search box: what the Cmd+K command palette reaches, the keyboard chords behind it, and how to read an empty result.

# Command palette walkthrough

The command palette gets you to any console in the Devotel Orbit dashboard without leaving the keyboard. One search box, opened from any page, reaches every hub, console, and settings page, and it also searches your live data: contacts, conversations, calls, numbers, segments, and agents. This guide maps what the palette reaches, the shortcut model behind it, and what an empty result means.

For the server-side mechanics (ranking, partial failure, isolation), see [Global search fan-out](https://docs.orbit.devotel.io/concepts/global-search-fan-out.md).

## Open, navigate, close

| Key | Effect |
| - | - |
| `Cmd+K` on macOS, `Ctrl+K` on Windows and Linux | Open the palette from any dashboard page |
| Type two or more characters | Search your data, pages, actions, settings, Help, and Docs |
| `Up` / `Down` | Move through the results |
| `Enter` | Open the highlighted result |
| `Esc` | Close the palette |

The palette opens over the page you are on, and nothing changes underneath until you pick a result. Picking a result takes you to that console or record: the palette is destination navigation, not a data surface of its own (see [Limits](#limits)).

## When a search returns nothing

The empty state, "No results found.", has three causes worth telling apart:

1. **Nothing in your workspace matches.** Live search is scoped to your organization's data, so a record that lives in another workspace can never appear. Matching on live data is also prefix-anchored: `mai` finds "Main Street Logistics", while a mid-word fragment like `ain` does not.
2. **The query is shorter than two characters.** One-character queries are not sent. Type at least two characters before reading the result.
3. **A search backend degraded.** When a pillar fails, the palette says so rather than pretending the data is absent: a quiet notice under the hits when some results did load, or a selectable retry row when nothing loaded. Select that row to run the search again.

If a term you expect still returns nothing, try the console's own vocabulary. Rows match their visible label and their alias terms in your locale, so the right surface appears even where the translated label differs from the English one.

## What the palette reaches

As you type, rows come from two places: records from your live data, and the built-in catalog of pages, actions, and settings below.

### Your data

A name, number, or email queries your workspace through the unified search endpoint and returns ranked records:

| Searches | Matches on |
| - | - |
| Contacts | First name, last name, email, phone |
| Conversations | The contact's name, phone, and email |
| Calls | The remote party's number, in both directions |
| Numbers | The phone number and its label |
| Segments | Segment name and description |
| Agents | Agent name and description |

A selected record opens the same page you would reach through its console.

### Audience consoles

| Entry | Lands on |
| - | - |
| Contacts | `/audience/contacts` |
| Segments | `/audience/segments` |
| Contact fields | `/audience/fields` |
| Identity resolution | `/audience/identity-resolution` |
| Recommendations | `/audience/recommendations` |
| Computed traits | `/audience/computed-traits` |
| Predictive models | `/audience/predictive-models` |
| Churn risk | `/audience/churn-risk` |
| Propensity segments | `/audience/propensity-segments` |
| Activation | `/audience/activation` |
| Opt-outs | `/audience/opt-outs` |
| Consent inspector | `/audience/consent` |

### Numbers consoles

| Entry | Lands on |
| - | - |
| Numbers | `/numbers` |
| Buy Numbers | `/numbers/buy` |
| Hosted Messaging | `/numbers/hosted-messaging` |
| SMS Short Codes | `/numbers/short-codes` |
| Number Applications | `/numbers/applications` |
| Connectivity (eSIM / IoT SIMs) | `/numbers/connectivity` |
| USSD Menus | `/numbers/ussd` |
| International Freephone (UIFN) | `/numbers/international-freephone` |

### Hubs and consoles

| Entry | Lands on |
| - | - |
| Home | `/home` |
| Inbox | `/inbox` |
| Tickets | `/inbox/tickets` |
| Team Chat | `/chat` |
| Outbound | `/outbound` |
| AI | `/agents` |
| Voice | `/voice` |
| Channels | `/messages` |
| Insights | `/insights` |
| Search Analytics | `/insights/search-analytics` |
| KPI Alerts | `/insights/alerts` |
| Logs | `/insights/logs` |
| Verification | `/verify` |
| Flow Builder | `/flows/builder` |
| Performance Leaderboard | `/quality/leaderboard` |
| Recording Library | `/quality/recordings` |
| My scorecard | `/me/scorecard` |
| Voice preferences | `/me/voice-preferences` |
| Settings | `/settings` |

Deeper surfaces ride along under their hub: agent squads, model presets, prompt templates, and the knowledge base under AI; macros, social mentions, and coaching under Inbox.

## Reading the result groups

Results group under headings, so you can always tell what a row is:

* **Recent** shows the pages you opened last when the box is empty.
* **Suggested** offers destinations inferred from your query.
* The search group holds your live records.
* **actions** starts a task instead of opening a list: Create Contact opens the contact create dialog, New Campaign lands on the campaign create page, and Buy Number, New Flow, View Invoices, View Logs, Manage API Keys, and Webhook Tester each open their flow directly.
* **navigation** holds the hubs and consoles from the tables above.
* **settings** holds the settings tree: Profile, General, Team, API Keys, Webhooks, Security, and the rest.
* **Help** and **Docs** match in-app help articles and this documentation.

## The keyboard shortcut model

Outside the palette, Orbit uses a two-key leader model in the GitHub and Linear style: press `g`, release, then press a letter. The sequence works from any page as long as focus is not in a text field and no dialog is open, and each binding appears as a badge on its palette row, so the palette doubles as the reference card for the chords.

| Chord | Destination |
| - | - |
| `g` then `h` | Home |
| `g` then `i` | Inbox |
| `g` then `o` | Outbound |
| `g` then `m` | Channels |
| `g` then `a` | Audience (Contacts) |
| `g` then `v` | Voice |
| `g` then `c` | Campaigns |
| `g` then `n` | Numbers |
| `g` then `p` | Buy Number |
| `g` then `r` | Insights |
| `g` then `l` | Logs |
| `g` then `f` | Flow Builder |
| `g` then `d` | Developer |
| `g` then `k` | API Keys |
| `g` then `w` | Webhooks |
| `g` then `b` | Billing |
| `g` then `s` | Settings |
| `g` then `t` | Team Chat |

Two rules keep the model honest:

* A destination whose mnemonic letter is already taken carries no chord. AI, Verification, and KPI Alerts are reached by typing their name in the palette, never by a chord that would advertise the wrong destination.
* Every palette row shows the same translated label as the nav rail in every dashboard locale, so a chord you learn in one locale lands on the page your rail names in any other.

## Where your searches land: Search Analytics

Every query you type is recorded under the `global` surface and shows up in Insights, under Search Analytics, beside the per-surface searches: top queries, zero-result terms, and click-through. When you open a live record from the palette, the click is attributed to the exact query you typed, so click-through reflects what operators actually opened. Use the dashboard to spot the terms your team types and the ones that return nothing, then decide whether a rename, an alias, or a training note fixes them. See [Read Search Analytics](https://docs.orbit.devotel.io/guides/search-analytics-reading.md) for the panels and [Global search fan-out](https://docs.orbit.devotel.io/concepts/global-search-fan-out.md) for what gets recorded.

## A first morning with the palette

1. Press `Ctrl+K` and type `churn`. The Audience consoles Churn risk and Propensity segments surface, because their labels and alias terms (retention, propensity, lifetime value) match. Press `Enter` on Propensity segments to open `/audience/propensity-segments`.
2. Press `Ctrl+K` again and type `short`. SMS Short Codes appears. `Enter` opens `/numbers/short-codes`.
3. For the consoles you open every day, skip the palette: press `g` then `n` from any page to land on Numbers.

## Limits

* **The palette navigates; it does not export.** There is no CSV out of the search box. Export lives in each console: conversation export in [Interactions](https://docs.orbit.devotel.io/guides/interaction-search-deep-dive.md), audience export in [Audience](https://docs.orbit.devotel.io/guides/audience-export-adhoc.md), billing records in [Billing](https://docs.orbit.devotel.io/guides/billing-records-export-console.md).
* **Live results are capped per pillar.** A query returns at most a handful of records per pillar (five by default, ten at most), so a common prefix shows the strongest matches rather than every row. For the full list, open the console and use its filters.
* **Matching is prefix-anchored.** Mid-word fragments do not match live data.
* **Two characters minimum.** Shorter queries are not sent.

## See also

* [Global search fan-out](https://docs.orbit.devotel.io/concepts/global-search-fan-out.md)
* [Read Search Analytics](https://docs.orbit.devotel.io/guides/search-analytics-reading.md)
* [Session search analytics](https://docs.orbit.devotel.io/concepts/session-search-analytics.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.