Loading...
Loading...
Administer an Omni Analytics instance — manage connections, users, groups, user attributes, permissions, schedules, and schema refreshes via the Omni CLI. Use this skill whenever someone wants to manage users or groups, set up permissions on a dashboard or folder, configure user attributes, create or modify schedules, manage database connections, refresh a schema, set up access controls, provision users, or any variant of "add a user", "give access to", "set up permissions", "who has access", "configure connection", "refresh the schema", or "schedule a delivery".
npx skill4agent add exploreomni/omni-agent-skills omni-adminTip: Most admin endpoints require an Organization API Key (not a Personal Access Token).
# Verify the Omni CLI is installed — if not, ask the user to install it
# See: https://github.com/exploreomni/cli#readme
command -v omni >/dev/null || echo "ERROR: Omni CLI is not installed."# Show available profiles and select the appropriate one
omni config show
# If multiple profiles exist, ask the user which to use, then switch:
omni config use <profile-name>omni scim --help # User and group management
omni schedules --help # Schedule operations
omni connections --help # Connection management
omni documents --help # Document permissions
omni folders --help # Folder permissionsTip: Useto force structured output for programmatic parsing, or-o jsonfor readable tables. The default is-o human(human in a TTY, JSON when piped).auto
# List connections
omni connections list
# Schema refresh schedules
omni connections schedules-list <connectionId>
# Connection environments
omni connections connection-environments-list# List users
omni scim users-list
# Find by email
omni scim users-list --filter 'userName eq "user@company.com"'
# Create user
omni scim users-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "newuser@company.com",
"displayName": "New User",
"active": true,
"emails": [{ "primary": true, "value": "newuser@company.com" }]
}'
# Deactivate user
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{ "op": "replace", "path": "active", "value": false }]
}'
# Delete user
omni scim users-delete <userId># List groups
omni scim groups-list
# Create group
omni scim groups-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Analytics Team",
"members": [{ "value": "user-uuid-1" }]
}'
# Add members
omni scim groups-update <groupId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"Operations": [{ "op": "add", "path": "members", "value": [{ "value": "new-user-uuid" }] }]
}'# List attributes
omni user-attributes list
# Set attribute on user (via SCIM)
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{
"op": "replace",
"path": "urn:omni:params:1.0:UserAttribute:region",
"value": "West Coast"
}]
}'access_filters# Get/set model roles for a user
omni users get-model-roles <userId>
omni users assign-model-role <userId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
# Get/set model roles for a group
omni users user-groups-get-model-roles <groupId>
omni users user-groups-assign-model-role <groupId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'# Get permissions for a user (userId required)
omni documents get-permissions <documentId> --userid <userId>
# Set permissions
omni documents update-permission-settings <documentId> --body '{
"permissions": [
{ "type": "group", "id": "group-uuid", "access": "view" },
{ "type": "user", "id": "user-uuid", "access": "edit" }
]
}'# Get
omni folders get-permissions <folderId>
# Set
omni folders add-permissions <folderId> --body '{
"permissions": [{ "type": "group", "id": "group-uuid", "access": "view" }]
}'# List schedules
omni schedules list
# Create schedule
omni schedules create --body '{
"documentId": "dashboard-identifier",
"frequency": "weekly",
"dayOfWeek": "monday",
"hour": 9,
"timezone": "America/Los_Angeles",
"format": "pdf"
}'
# Manage recipients
omni schedules recipients-get <scheduleId>
omni schedules add-recipients <scheduleId> --body '{ "recipients": [{ "type": "email", "value": "team@company.com" }] }'# After creating or updating a user, verify they exist with correct state
omni scim users-list --filter 'userName eq "newuser@company.com"'activedisplayName# After creating a group or modifying members, verify membership
omni scim groups-listdisplayNamemembers# After setting document permissions, verify for the target user
omni documents get-permissions <documentId> --userid <userId>
# After setting folder permissions, verify
omni folders get-permissions <folderId>accessviewedit# Verify the attribute value was set
omni user-attributes listaccess_filtersomni query run --body '{ "query": { ... }, "userId": "<target-user-uuid>" }'# Verify schedule was created with correct settings
omni schedules list
# Verify recipients were added
omni schedules recipients-get <scheduleId>frequencydayOfWeekhourtimezoneformat| Operation | Verify With | What to Check |
|---|---|---|
| Create/update user | | User exists, |
| Create/update group | | Group exists, members list correct |
| Set document permissions | | Access level and target correct |
| Set folder permissions | | Access level and target correct |
| Set user attribute | | Attribute value set |
| User attribute + access filter | | Row-level filtering works |
| Create schedule | | Schedule settings correct |
| Add recipients | | All recipients listed |
# Reset cache policy
omni models cache-reset <modelId> <policyName> --body '{ "resetAt": "2025-01-30T22:30:52.872Z" }'
# Content validator (find broken field references across all dashboards and tiles)
# Useful for blast-radius analysis: remove a field on a branch, then run the
# validator against that branch to see what content would break.
# See the Field Impact Analysis section in omni-model-explorer for the full workflow.
omni models content-validator-get <modelId>
# Run against a specific branch (e.g., after removing a field)
omni models content-validator-get <modelId> --branch-id <branchId>
# Git configuration
omni models git-get <modelId>