Omni integration
Omni is a business intelligence platform built on a semantic model. Run semantic queries and saved document queries, ask the Omni AI agent questions and generate queries from natural language, manage documents (create, draft, publish, duplicate, move, share, label), folders, labels, scheduled deliveries and alerts, AI routines, models (topics, fields, YAML, branches, Git sync, schema refresh), CSV uploads, users, user groups, model roles and user attributes, and download dashboards as PDF, PNG, CSV or XLSX. Database connection setup, API tokens, the IP allowlist, embed SSO sessions, AI credit controls and evals, model suggestions, color palettes, dbt and Git configuration, schema refresh schedules, apps and skills (alpha), content import and export (beta) and deprecated routes are not exposed; editing a schedule in place (a full replace) is not either: pause, delete or recreate it. Each API key may send 60 requests a minute. Authentication is an Omni API key sent as a Bearer token: an Organization API key (admin rights; required for the user and group tools) or a Personal Access Token (the user's own permissions).
Say what should happen.
The workflow builds itself.
What you can do with Omni
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Schedule, 7 operations
create_scheduleCreate schedulePOSTCreates a scheduled delivery (or alert) of a dashboard or workbook tab to email, Slack, a webhook, SFTP or S3 on a cron. It sends to real recipients on every run; testNow=true sends at once.delete_scheduleDelete scheduleDELETEDeletes a schedule; it stops delivering.get_scheduleGet scheduleGETReturns one schedule: cron, timezone, format, filters, alert condition, owner, status and destinations with recipients and last delivery status (destination type only; list_schedule_recipients gives an SFTP address or S3 bucket).list_schedulesList schedulesGETLists scheduled deliveries and alerts with name, document, format, destination type, cron, owner and last run status; filter by text, status, destination or document. 20 per page (cursor).pause_schedulePause schedulePUTPauses a schedule; resume it with resume_schedule.resume_scheduleResume schedulePUTResumes a paused schedule; it delivers again on its cron.run_scheduleRun schedulePOSTRuns a schedule now, outside its cron: the delivery is sent to its recipients at once.
Document, 6 operations
create_documentCreate documentPOSTCreates and publishes a new document on a model, with optional tabs (queryPresentations), filters (controls), layout and settings, in a folder. Visible to everyone with access to that folder.delete_documentDelete documentDELETEDeletes a document by moving it to the Trash.duplicate_documentDuplicate documentPOSTCopies a published document under a new name, into a folder path (root when left out) and scope. Drafts cannot be duplicated (404).get_documentGet documentGETReturns a published document's full state (tabs, queries, controls, layout, settings), usable as the body of create_document_draft. A draft id also adds draftOf.list_documentsList documentsGETLists documents (dashboards and workbooks) with identifier, name, folder, owner, labels and URL; filter by folder, labels, creator or a user's access. 20 per page by default (cursor).move_documentMove documentPUTMoves a document to another folder path and optionally changes its scope (organization or restricted).
Document draft, 6 operations
archive_document_draftArchive document draftDELETEArchives the current draft of a document (on a branch when branchId is given). Archived drafts are kept 30 days.create_document_draftCreate document draftPATCHCreates a new draft of a published document and applies the changes sent; returns draftIdentifier. Nothing is published: call publish_document_draft.get_document_draftGet document draftGETReturns a draft's state (tabs, queries, controls, layout), usable as a patch body, with draftOf naming its published document.list_document_draftsList document draftsGETLists the drafts of a published document (at most one per branch plus one without a branch); include=archived adds soft-deleted drafts. Needs Viewer access or higher.publish_document_draftPublish document draftPOSTPublishes a document's main (non-branch) draft, replacing the published version everyone sees. A branch draft is published by merging its branch.remove_draft_dashboardRemove draft dashboardDELETERemoves the dashboard from a draft, leaving a workbook-only document. Publishing it also removes the document's schedules.
Model, 5 operations
create_modelCreate modelPOSTCreates a model on a connection: a SCHEMA model by default, or a SHARED, SHARED_EXTENSION or BRANCH model on a base model. Load a schema model with refresh_model_schema.delete_modelDelete modelDELETEArchives a shared or extension model with all its content and the extension models built on it; its Git configuration is removed too when it owns one. Needs Connection Admin.list_modelsList modelsGETLists models (schema, shared, extension, workbook, branch...) with id, kind, connection and base model; explorable=true keeps those usable as a workbook base. 20 per page (cursor).rename_modelRename modelPATCHRenames a shared, extension or branch model. Shared and extension models need Connection Admin; branch models need Modeler or higher.reparse_modelReparse modelPOSTRe-parses every SQL field and view of a shared or extension model and refreshes their inferred column types, to clear a SQL validation error once its cause is fixed.
Routine, 5 operations
create_routineCreate routinePOSTCreates an AI routine: a prompt Omni runs on a cron schedule and whose answer it emails or posts to Slack, optionally only when a condition is met. Sends messages to real people on every run.delete_routineDelete routineDELETEDeletes an AI routine; it stops running at once. Cannot be undone.get_routineGet routineGETReturns one AI routine: prompt, model, schedule, timezone, destination (emails, groups or Slack), condition, and the state of its last completed run.list_routinesList routinesGETLists the caller's AI routines (scheduled AI prompts delivered by email or Slack), newest first, including paused and Omni-disabled ones. Paginate with cursor (pageInfo.nextCursor).run_routineRun routinePOSTRuns an AI routine now, besides its schedule, and delivers the answer to every recipient (emails or Slack messages are sent). A conditional routine may finish without delivering.
Folder, 4 operations
create_folderCreate folderPOSTCreates a folder, optionally inside a parent (7 levels at most), with an organization or restricted scope. Its path is derived from its parents.delete_folderDelete folderDELETEDeletes an empty folder. With force=true it also trashes its documents and deletes its subfolders (100 items at most).get_folderGet folderGETReturns one folder by id: name, path, scope, owner and labels. Use get_folder_permissions for who can access it.list_foldersList foldersGETLists folders with id, name, path, scope and owner; filter by path (wildcards), labels or owner. 20 per page by default (cursor).
Label, 4 operations
create_labelCreate labelPOSTCreates a label (2 to 25 characters, case-insensitive). Verified and homepage labels need Organization Admin permissions.delete_labelDelete labelDELETEDeletes a label. A label still applied to documents cannot be deleted; verified and homepage labels need Organization Admin.get_labelGet labelGETReturns one label by name (case-insensitive).list_labelsList labelsGETLists every label of the organization with its color, description and whether it is verified or shown on the homepage.
Model role, 4 operations
assign_user_group_model_roleAssign user group model rolePOSTGrants a user group a role on a model or connection, replacing its role there; every member inherits it. Changes what data they can access.assign_user_model_roleAssign user model rolePOSTGrants a user a role on a model or connection (VIEWER, QUERIER, MODELER, CONNECTION_ADMIN...), replacing the role they had there. Changes what data they can access.list_user_group_model_rolesList user group model rolesGETLists a user group's model roles, optionally for one model or connection.list_user_model_rolesList user model rolesGETLists a user's model roles, direct and inherited from groups, optionally for one model or connection.
Topic, 4 operations
delete_topicDelete topicDELETEDeletes a topic from a model (mode chooses how, as in the model IDE).get_topicGet topicGETReturns one topic of a model by name: base view, joins, views and fields, filters, sample queries and AI context.list_topicsList topicsGETLists the topics of a model, composite topics included.pick_topicPick topicPOSTReturns the topic of a shared model that best fits a natural-language question, optionally among potentialTopicNames. Use it before generate_query or create_ai_job when a question could match several topics.
User, 4 operations
create_userCreate userPOSTCreates an Omni user with an email (userName) and display name, optionally with user attributes and a user type. Use assign_user_model_role or groups to grant access. Organization API key only.delete_userDelete userDELETEPermanently revokes a user's membership: their schedules are deleted unless transferred first and their personal access tokens are disabled. Not reversible. Organization API key only.get_userGet userGETReturns one Omni user by id: email, display name, active flag, emails and group memberships. User attribute values are not returned. Organization API key only.list_usersList usersGETLists the Omni users of the organization (not embed users), oldest first: id, email (userName), display name, active flag and groups. filter takes SCIM expressions such as userName eq "[email protected]". Organization API key only.
User group, 4 operations
create_user_groupCreate user groupPOSTCreates a user group with a name (64 characters at most) and optional members, given as user ids. Members get the group's model roles and document access. Organization API key only.delete_user_groupDelete user groupDELETEDeletes a user group. Its members lose the access the group gave them. Organization API key only.get_user_groupGet user groupGETReturns one user group by id with its members. Organization API key only.list_user_groupsList user groupsGETLists the user groups of the organization, oldest first, with their members (excludedAttributes=members leaves members out). Organization API key only.
Ai job, 3 operations
cancel_ai_jobCancel ai jobPOSTCancels an AI job: at once when QUEUED, after the current step when EXECUTING; a DELIVERING job cannot be cancelled. Calling it on a finished job returns its current state.create_ai_jobCreate ai jobPOSTStarts an AI agent job on a model and returns jobId at once; poll get_ai_job until COMPLETE, FAILED or CANCELLED, then read get_ai_job_result. Uses AI credits; dashboards it builds are published at once.get_ai_jobGet ai jobGETReturns an AI job's state (QUEUED, EXECUTING, DELIVERING, COMPLETE, FAILED, CANCELLED), its progress while running and a result summary once complete. Poll every few seconds after create_ai_job.
Branch, 3 operations
get_branchGet branchGETReturns one branch by its organization-wide id (orgBranchId) with its parts per model, whether the caller may merge each part, and why not when not.list_branchesList branchesGETLists the branches the caller can see across models (own empty branches, branches with model changes or drafts they can edit, branches open to viewers), 20 per page by default.set_branch_open_to_viewersSet branch open to viewersPATCHOpens a branch to Viewers and Restricted Queriers (embed users included) so they see its content instead of production, or closes it. Opening needs edit rights on every model in it.
Document permission, 3 operations
get_document_permissionsGet document permissionsGETReturns a document's ability settings (download, schedule, drill, duplicate...) and, with userId, that user's resolved permissions on it.grant_document_permissionsGrant document permissionsPOSTShares a document: grants a role (VIEWER, EDITOR, MANAGER, OWNER or NO_ACCESS) to users or groups. Changes who can see or edit it.revoke_document_permissionsRevoke document permissionsDELETERemoves the direct access of users or groups to a document.
Embed user, 3 operations
delete_embed_userDelete embed userDELETEDeletes an embed user by id. Use delete_user for standard users. Organization API key only.get_embed_userGet embed userGETReturns one embed user by id: email, display name, embed external id and group memberships. Organization API key only.list_embed_usersList embed usersGETLists the embed users of the organization (users created through embedding), oldest first; filter by userName or embedExternalId with SCIM expressions. Organization API key only.
Folder permission, 3 operations
get_folder_permissionsGet folder permissionsGETReturns the users and groups with access to a folder and their roles, or one user's permissions with userId.grant_folder_permissionsGrant folder permissionsPOSTShares a folder: grants a role to users or groups on it and its contents. Changes who can see or edit them.revoke_folder_permissionsRevoke folder permissionsDELETERemoves the access of users or groups to a folder.
Model branch, 3 operations
commit_model_branchCommit model branchPOSTPushes a branch's model contents to Git and creates or updates its pull request. Needs Modeler or Connection Admin.delete_model_branchDelete model branchDELETEDeletes a branch of a shared model by name.merge_model_branchMerge model branchPOSTMerges a branch into its shared model, publishing its drafts by default and optionally deleting it. Changes what every model user sees.
Schedule recipient, 3 operations
add_schedule_recipientsAdd schedule recipientsPUTAdds email addresses, users or groups as recipients of an email schedule; they receive every future delivery.list_schedule_recipientsList schedule recipientsGETLists the recipients of a schedule (users, groups and email addresses, or Slack channel and user ids) and its destination type and settings (SFTP address and user, S3 bucket). Webhook URLs, passwords and keys are not returned.remove_schedule_recipientsRemove schedule recipientsPUTRemoves email addresses, users or groups from the recipients of an email schedule.
Upload, 3 operations
delete_uploadDelete uploadDELETEDeletes a CSV upload and its stored file. Needs Organization Admin.list_uploadsList uploadsGETLists uploaded CSV files or spreadsheets with file name, view, table name, model, size and uploader; filter by model, connection or file name. Needs Organization Admin.replace_upload_dataReplace upload dataPUTReplaces all the data of an existing CSV upload with a new .csv file; documents and views using it then read the new data. Needs Organization Admin.
User attribute, 3 operations
create_user_attributeCreate user attributePOSTCreates a custom user attribute definition (name, label, String or Number type, single or multiple values, default). Needs Organization Admin.delete_user_attributeDelete user attributeDELETEDeletes a custom user attribute and every user's value for it; references to it in models, filters and embeds break. Needs Organization Admin.list_user_attributesList user attributesGETLists the user attribute definitions (custom and system) used for row-level security, personalization and per-user connections. Needs Organization Admin.
Ai conversation, 2 operations
get_ai_conversationGet ai conversationGETReturns one AI conversation with its full message history (user and assistant turns); each assistant turn carries its jobId and an Omni chat link.list_ai_conversationsList ai conversationsGETLists a user's recent AI conversations, most recent first, with names and the last prompt. Pass an id as conversationId to create_ai_job to continue the thread. Paginate with cursor.
Connection, 2 operations
get_connectionGet connectionGETReturns one database connection: name, dialect, database, base role, default schema and environment settings. Needs Restricted Querier permissions or higher; credentials are never returned.list_connectionsList connectionsGETLists the database connections of the organization (name, dialect, database, default schema), filterable by name, database or dialect. Credentials are never returned.
Content, 2 operations
list_contentList contentGETLists documents and folders together, by scope, folder, path or labels, 20 per page (cursor). Use list_documents or list_folders for one kind only.search_contentSearch contentGETSearches the organization's dashboards (and apps when enabled) by free text over names, descriptions, query names, folders, labels and creators. Returns up to 25 matches.
Dashboard download, 2 operations
download_dashboard_fileDownload dashboard fileGETReturns the file of a complete dashboard download job (PDF, PNG, CSV or a ZIP of CSVs, XLSX, or JSON). Call it only once get_dashboard_download_status says complete.get_dashboard_download_statusGet dashboard download statusGETReturns the status of a dashboard download job: in_progress, complete (call download_dashboard_file) or error (with the error message). Poll every 2 to 5 seconds.
Document favorite, 2 operations
favorite_documentFavorite documentPUTAdds a published document to the user's favorites. Succeeds whether or not it already was.list_document_favoritersList document favoritersGETLists the users who favorited a published document, sorted by when they did it. Needs Manager or Owner permission on the document.
Document label, 2 operations
add_document_labelAdd document labelPUTAdds one existing label to a document, keeping its other labels. Create the label first with create_label.remove_document_labelRemove document labelDELETERemoves one label from a document; answers 404 if the document does not carry it.
Document query, 2 operations
list_document_queriesList document queriesGETLists the saved queries of a document with their ids, to run with run_document_query.run_document_queryRun document queryPOSTRuns one saved query of a document (a dashboard tile included) and returns its rows as JSON. filters overrides saved filters for this run only.
Email only user, 2 operations
delete_email_only_usersDelete email only usersDELETEDeletes up to 100 email-only users by id or email and removes them from every schedule they receive; unknown ones are reported in notFound.list_email_only_usersList email only usersGETLists email-only users (delivery recipients without an Omni account), filterable by email. 20 per page (cursor). Their attribute values are not returned.
Model schema, 2 operations
list_model_schemasList model schemasGETLists the schema names available in a model (physical, virtual and dynamic), sorted.refresh_model_schemaRefresh model schemaPOSTStarts a schema refresh of a model from its database and returns a job id for get_schema_refresh_status. Optionally limited to some schemas or tables. Needs Connection Admin or Modeler.
Model yaml, 2 operations
delete_model_yamlDelete model yamlDELETEDeletes one topic, composite topic or view YAML file from a model. Not for schema models or git follower models.get_model_yamlGet model yamlGETReturns a model's YAML files (model, relationships, views, topics), optionally filtered by file name, with checksums for update_model_yaml.
Query, 2 operations
generate_queryGenerate queryPOSTTurns a natural-language question into an Omni query on a model; by default also runs it and returns the result. Pass the returned query to run_query. Uses AI credits. For broad questions use create_ai_job.run_queryRun queryPOSTRuns an Omni query object (modelId, fields, filters, sorts, limit) and returns its rows as JSON in rows. Get the query from generate_query or a workbook's inspector. Default limit 1000 rows.
User attribute switch, 2 operations
clear_user_attribute_switchClear user attribute switchDELETEClears the calling user's switch of a user attribute, restoring the assigned value. Succeeds when no switch is active.list_user_attribute_switchesList user attribute switchesGETLists the user attributes the calling user can switch and any switch active now. An organization API key acts as its creator.
User attribute value, 2 operations
get_user_attribute_switch_valuesGet user attribute switch valuesGETReturns the values one user or group may switch a user attribute to (their own provisioning, not values inherited from groups). Needs Organization Admin.set_user_attribute_switch_valuesSet user attribute switch valuesPUTReplaces the values one user or group may switch a user attribute to (or allows any value). Provisioning a value grants data access. Needs Organization Admin.
Ai agent action, 1 operation
list_model_ai_agent_actionsList model ai agent actionsGETLists a model's AI agent actions: its sample queries and skills, from the model and its topics, to offer as suggested prompts.
Ai branding, 1 operation
get_ai_brandingGet ai brandingGETReturns the organization's AI agent branding: display name, logo URL and landing-page copy, or Omni's defaults when none is configured.
Ai job result, 1 operation
get_ai_job_resultGet ai job resultGETReturns the full result of a COMPLETE AI job: every action it took (queries generated and run, data retrieved) and the final answer. Results are kept 14 days.
Ai job visualization, 1 operation
get_ai_job_visualizationGet ai job visualizationGETReturns the chart of a completed AI job as a PNG file.
Ai llm, 1 operation
list_ai_llmsList ai llmsGETLists the LLMs the caller may pass as requestedLlm to create_ai_job or generate_query, with the thinking levels each supports.
Dbt exposure, 1 operation
list_dbt_exposuresList dbt exposuresGETLists the dbt exposures of a model: which dbt models its dashboards and apps depend on. Needs Connection Admin.
Document access, 1 operation
list_document_accessList document accessGETLists every user and group with access to a document, with role and whether it is direct or inherited from a folder; a principal can appear twice.
Folder favorite, 1 operation
favorite_folderFavorite folderPUTAdds a folder to the user's favorites (grants no access). Succeeds whether or not it already was.
Identity, 1 operation
get_current_identityGet current identityGETReturns the caller's identity, API key type and scope, organization role and resolved permissions per model (modelId limits them), to check an action is allowed before trying it.
Model cache, 1 operation
reset_model_cacheReset model cachePOSTInvalidates the cached results of one cache policy of a model, now or from resetAt. The policy name is not checked: pass an exact policy name.
Model content, 1 operation
find_replace_model_contentFind replace model contentPOSTReplaces a view, field or topic name in every document built on a model (or one workbook), to follow a rename. Changes saved content.
Omni doc, 1 operation
search_omni_docsSearch omni docsPOSTAnswers a natural-language question about Omni itself (features, modeling, dashboards, configuration) from Omni's documentation, with links to the pages used.
Schema refresh, 1 operation
get_schema_refresh_statusGet schema refresh statusGETReturns the status of a schema refresh job started by refresh_model_schema: RUNNING, COMPLETED or FAILED. Other job types are refused. Poll every 2 to 5 seconds.
View, 1 operation
delete_viewDelete viewDELETEDeletes a view from a model, or marks it ignored, depending on mode.
Showing the first 120 of 150 endpoints. The rest are in the product, searchable from the workflow builder and from chat.
Use Omni from Claude Code, Cursor or Codex
Connect Omni in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Omni operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Omni
- Create your workspace
Sign up free. Nothing to install.
- Connect Omni once
Add your Omni connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Omni integration FAQ
What can you do with the Omni integration?
LiveContext exposes 150 operations on Omni, covering schedule, document, document draft and model.
