plugins/omi-notion-app/README.md
Manage your Notion workspace through Omi chat - search pages, create content, query databases, and more.
NOTION_CLIENT_ID=your_client_id
NOTION_CLIENT_SECRET=your_client_secret
NOTION_REDIRECT_URI=https://your-app.up.railway.app/auth/notion/callback
requirements.txtrailway.toml configPORT and REDIS_URL environment variablesAfter deployment, update your Notion integration with the actual Railway URL:
https://your-app.up.railway.app/auth/notion/callback
When creating/updating the Omi app, use these URLs:
| Field | Value |
|---|---|
| Setup URL | https://your-app.up.railway.app/?uid={{uid}} |
| Setup Completed URL | https://your-app.up.railway.app/setup/notion?uid={{uid}} |
| Chat Tools Manifest URL | https://your-app.up.railway.app/.well-known/omi-tools.json |
| Endpoint | Description |
|---|---|
/tools/search | Search pages and databases |
/tools/list_pages | List recent pages |
/tools/get_page | Get page details and content |
/tools/create_page | Create a new page |
/tools/update_page | Update page properties |
/tools/append_content | Add content to a page |
/tools/list_databases | List all databases |
/tools/query_database | Query database entries |
| Endpoint | Description |
|---|---|
/ | Home page / setup UI |
/auth/notion?uid=<uid> | Start OAuth flow |
/auth/notion/callback | OAuth callback |
/setup/notion?uid=<uid> | Check setup status |
/disconnect?uid=<uid> | Disconnect account |
/health | Health check |
/.well-known/omi-tools.json | Chat tools manifest |
.env.example to .env and fill in your credentialsNOTION_REDIRECT_URI=http://localhost:8080/auth/notion/callbackpip install -r requirements.txtpython main.py| Variable | Description | Required |
|---|---|---|
NOTION_CLIENT_ID | Notion OAuth Client ID | Yes |
NOTION_CLIENT_SECRET | Notion OAuth Client Secret | Yes |
NOTION_REDIRECT_URI | OAuth callback URL | Yes |
PORT | Server port (default: 8080) | No |
REDIS_URL | Redis connection URL | No (uses file storage if not set) |
When users connect their Notion workspace, they must grant access to specific pages. The integration can only access pages that users have explicitly shared with it during the OAuth flow.