Omni is an AI Agent Platform for the Workplace.
Connect your company’s apps, create a unified context layer over workplace knowledge, and deploy agents that can search, reason, and act across your organization.
Omni is a self-hosted AI agent platform for the workplace.
It connects to tools like Google Drive, Gmail, Slack, Confluence, Jira, HubSpot, and internal file systems, indexes your company knowledge, and gives agents the context they need to answer questions, analyze information, and help employees get work done.
Instead of wiring every agent directly to every business system, Omni gives you a shared context and tool layer for workplace AI.
- Workplace AI Agents: Build agents that can search company knowledge, read documents, analyze data, and use tools to complete work.
- Unified Context Layer: Index Google Drive/Gmail, Slack, Confluence, Jira, HubSpot, local files, websites, and more into one searchable knowledge layer.
- Hybrid Search: Full-text BM25 search with ParadeDB and semantic search with pgvector, all inside Postgres.
- Tool Use & Code Execution: Agents can execute Python and bash in a sandboxed container to inspect files, analyze data, and generate outputs.
- Self-hosted by Design: Run Omni entirely on your own infrastructure. Your data stays within your cloud/on-prem environment.
- Permission Inheritance: Respects source system permissions. Users only see data they're already authorized to access.
- Bring Your Own LLM: Anthropic, OpenAI, Gemini, AWS Bedrock, Vertex AI, Azure AI Foundry, or any OpenAI-compatible endpoint (vLLM, Ollama, LM Studio, LiteLLM, etc.).
- Simple Deployment: Docker Compose for single-server setups, Terraform for production AWS/GCP deployments.
Omni uses Postgres (ParadeDB) as the core data layer for BM25 full-text search, pgvector semantic search, and application data.
No Elasticsearch. No dedicated vector database. One database to tune, backup, monitor, and operate.
Core services are written in Rust for search, indexing, and connector orchestration; Python for AI and LLM orchestration; and SvelteKit for the web frontend. Each connector runs as its own lightweight container, allowing integrations to use different languages and dependencies without affecting the rest of the system.
The agent runtime can execute code in a sandboxed container on an isolated Docker network, with no access to internal services or the internet. It uses Landlock filesystem restrictions, resource limits, and a read-only root filesystem.
See the full architecture documentation for more details.
Omni can be deployed entirely on your own infra. See our deployment guides:
| |
|
|
| Google Drive | Gmail | Google Chat |
| |
|
|
|
| SharePoint | OneDrive | Outlook & Calendar | Teams |
| |
|
|
|
|
|
| Confluence | Notion | Nextcloud | Paperless-ngx | Web | Local Files |
| |
|
|
| Slack | Fireflies | IMAP |
| |
|
|
|
| Jira | GitHub | ClickUp | Linear |
| |
|
|
| HubSpot | Google Ads | Darwinbox |
Use the Connector SDK to build your own integrations with Omni.
See CONTRIBUTING.md for development setup and guidelines.
If you use Claude Code, this repo includes a skill to help build connectors. Run /build-connector <service name> (e.g., /build-connector Asana).
Apache License 2.0. See LICENSE for details.