| name | omni-content-explorer |
| description | Find, browse, and organize content in Omni Analytics — dashboards, workbooks, folders, and labels — using the Omni CLI. Use this skill whenever someone wants to find an existing dashboard, search for content, list workbooks, browse folders, see what dashboards exist, find popular reports, download a dashboard as PDF or PNG, favorite content, manage labels on documents, or any variant of "find the dashboard about", "what reports do we have", "show me our dashboards", "where is the sales report", or "download this dashboard". |
Omni Content Explorer
Find, browse, and organize Omni content — dashboards, workbooks, and folders — through the Omni CLI.
Prerequisites
command -v omni >/dev/null || echo "ERROR: Omni CLI is not installed."
omni config show
omni config use <profile-name>
omni whoami whoami
Auth: a profile authenticates with an API key or OAuth. If whoami (or any call) returns 401, hand off — ask the user to run ! omni config login <profile> (OAuth 2.1 browser flow; it blocks ~2 min on the browser). Don't run config login yourself in a headless/CI session (no browser → timeout); on a local interactive machine you may. See the omni-api-conventions rule for profile setup (omni config init --auth oauth) and discovering request-body shapes with --schema.
Discovering Commands
omni content --help
omni documents --help
omni folders --help
Tip: Use -o json to force structured output for programmatic parsing, or -o human for readable tables. The default is auto (human in a TTY, JSON when piped).
Known Issues & Safe Defaults
omni content list does not currently support a --labels filter. To find documents by label, use omni documents list --include labels -o json, paginate with --cursor, then filter records whose labels array contains the target label.
- Some dashboard exports can fail before a job is created, for example with
Cannot use 'in' operator to search for 'query_id' in .... If omni dashboards download returns an error and no job ID, do not call download-status or claim the export completed. Report the dashboard identifier, the exact API error, and that no downloadable job was created.
Browsing Content
List All Content
omni content list
With Counts and Labels
omni content list --include '_count,labels'
Filter and Sort
omni documents list --include labels -o json
omni content list --scope organization
omni content list --sortfield favorites
omni content list --sortfield updatedAt
Pagination
Responses include pageInfo with cursor-based pagination. Fetch next page:
omni content list --cursor <nextCursor>
Working with Documents
List Documents
omni documents list
omni documents list --creatorid <userId>
Each document includes: identifier, name, type, scope, owner, folder, labels, updatedAt, hasDashboard.
Important: Always use the identifier field for API calls, not id. The id field is null for workbook-type documents and will cause silent failures.
Get Document Queries
Retrieve query definitions powering a dashboard's tiles:
omni documents get-queries <identifier>
Useful for understanding what a dashboard computes and re-running queries via omni-query.
Folders
omni folders list
omni folders create "Q1 Reports" --scope organization
Labels
omni labels list
omni documents list --include labels -o json
omni documents add-label <identifier> <labelName>
omni documents remove-label <identifier> <labelName>
Favorites
omni documents add-favorite <identifier>
omni documents remove-favorite <identifier>
Dashboard Downloads
omni dashboards download <identifier> --body '{ "format": "pdf" }'
omni dashboards download-status <identifier> <jobId>
Formats: pdf, png
URL Patterns
Construct direct links to content:
Dashboard: {OMNI_BASE_URL}/dashboards/{identifier}
Workbook: {OMNI_BASE_URL}/w/{identifier}
The identifier comes from the document's identifier field in API responses. Always provide the user a clickable link after finding content.
Search Patterns
When scanning all documents for field references (e.g., for impact analysis), paginate with cursor and call omni documents get-queries <identifier> for each document. Launch multiple query-fetch calls in parallel for efficiency. For field impact analysis, prefer the content-validator approach in omni-model-explorer.
Docs Reference
Related Skills
- omni-query — run queries behind dashboards you've found
- omni-content-builder — create or update dashboards
- omni-embed — embed dashboards you've found in external apps
- omni-admin — manage permissions on documents and folders