Official Third-Party Integrations
Relevant source files
The following files were used as context for generating this wiki page:
Official Third-Party Integrations in the Omi ecosystem allow users to connect their wearable AI device with external productivity, communication, and e-commerce platforms. These integrations leverage Omi's real-time transcription and AI processing capabilities to perform actions—such as sending messages, creating tasks, or querying data—using natural language voice commands.
The architecture typically involves a FastAPI-based plugin system that manages OAuth2 authentication, exposes a set of AI-driven tools through a manifest, and processes webhooks from the Omi device to trigger specific platform actions.
Sources: plugins/omi-slack-app/README.md, plugins/omi-github-app/README.md, plugins/omi-ms365-app/README.md
Integration Architecture
The integration system follows a standard pattern where external services are treated as "plugins." Each plugin acts as a bridge between the Omi backend and the third-party API.
Common Components
- OAuth2 Flow: Handles secure authentication and token storage (often using Redis or file-based persistence).
- Chat Tools Manifest: A
.well-known/omi-tools.jsonfile that describes available AI tools to the Omi platform. - Webhook Processor: Receives real-time transcripts from the Omi device to detect trigger phrases and execute logic.
- AI Processing Layer: Uses LLMs (e.g., GPT-4o) for fuzzy matching channel names, extracting intent, and formatting content.
Sources: plugins/omi-notion-app/main.py:118-245, plugins/omi-slack-app/README.md:144-165, plugins/omi-github-app/README.md:195-215
Data Flow Overview
The following diagram illustrates how a voice command is processed through an integration like Slack or GitHub.
The integration processes transcripts in segments (typically up to 5 or 10) to ensure a complete thought is captured before the AI generates an API request.
Sources: plugins/omi-slack-app/README.md:180-210, plugins/omi-github-app/README.md:218-240
Supported Platforms
Productivity & Task Management
Integrations like Notion, Linear, and Microsoft 365 allow for deep workspace management.
| Integration | Key Features | Primary Tools |
|---|---|---|
| Notion | Page search, database querying, content appending | search_notion, create_page, append_content |
| Linear | Issue tracking, status updates, commenting | create_issue, list_my_issues, update_issue_status |
| MS 365 | Outlook Mail/Calendar, Teams, OneDrive/SharePoint | send_mail, find_free_slots, list_recent_files |
Sources: plugins/omi-notion-app/main.py:121-240, plugins/omi-linear-app/README.md:104-125, plugins/omi-ms365-app/README.md:105-130
Communication
Communication integrations focus on real-time messaging and notifications.
- Slack Voice Messenger: Allows users to specify a channel in the command (e.g., "Send message to general") or use a default channel. It utilizes fuzzy matching to align spoken channel names with actual workspace channels.
- GitHub Issues: Specifically designed for feedback and bug reporting. It creates issues with a "voice-feedback" label and uses AI to generate professional titles from conversational speech.
Sources: plugins/omi-slack-app/README.md:213-245, plugins/omi-github-app/README.md:243-270
E-Commerce & Analytics
The Shopify integration enables store owners to manage their business hands-free, providing tools for sales analytics and customer management.
Sources: plugins/omi-shopify-app/README.md:108-125
Technical Implementation
Tool Manifest Specification
Every official integration must serve a manifest at /.well-known/omi-tools.json. This JSON object tells Omi which tools are available and what parameters they require.
{
"tools": [
{
"name": "create_notion_page",
"description": "Create a new page in Notion",
"endpoint": "/tools/create_page",
"method": "POST",
"parameters": {
"properties": {
"title": { "type": "string", "description": "Page title" },
"content": { "type": "string", "description": "Page content" }
},
"required": ["title"]
},
"auth_required": true
}
]
}
Sources: plugins/omi-notion-app/main.py:118-245
Authentication Handling
Integrations primarily use OAuth 2.0. The state parameter is used for CSRF protection, and tokens are associated with a unique Omi User ID (uid).
Configuration & Deployment
Environment Variables
Standard configurations required across integrations:
| Variable | Description |
|---|---|
[SERVICE]_CLIENT_ID | The OAuth Client ID from the provider (e.g., GITHUB_CLIENT_ID) |
[SERVICE]_CLIENT_SECRET | The OAuth Client Secret from the provider |
[SERVICE]_REDIRECT_URI | The callback URL (e.g., https://app.railway.app/auth/callback) |
OPENAI_API_KEY | Used for intent extraction and formatting |
REDIS_URL | Optional persistent storage for tokens and user settings |
Sources: plugins/omi-notion-app/README.md:108-125, plugins/omi-slack-app/README.md:118-135
Deployment via Railway
Most official integrations are optimized for deployment on Railway, using railway.toml for configuration and requirements.txt for dependency management. They often include a health check endpoint at /health to monitor service status.
Sources: plugins/omi-notion-app/README.md:45-65, plugins/omi-linear-app/README.md:175-200
Official Third-Party Integrations provide the bridge between Omi's voice interface and the professional tools users rely on daily, creating a hands-free "second brain" environment.