Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.userepo.com/llms.txt

Use this file to discover all available pages before exploring further.

What’s ingested

  • Pages explicitly shared with the Repo integration
  • Headings (H1–H3), paragraphs, bulleted/numbered lists, to-dos, quotes, callouts, code blocks
  • Child pages up to 2 levels deep
  • Page metadata (title, URL, last edited time, parent)

What’s NOT ingested

  • Pages not shared with the integration (Notion enforces this — Repo can’t see what wasn’t granted)
  • Database row content (databases themselves yes, individual rows not yet)
  • Block-level user mentions or comments
  • File attachments

OAuth scopes

Notion uses OAuth-app-level scopes plus per-page sharing. When you connect:
  1. You authorize the Repo integration to access your Notion workspace
  2. Then you explicitly share specific pages with the integration (via the page’s “Add connections” menu)
  3. Only the shared pages — and their descendants — are visible to Repo
This is the most restrictive permission model of any Repo connector and is great for governance.

Connecting

  1. Sources tab → click Connect on Notion
  2. Notion OAuth screen → pick the workspace → approve
  3. Important: open Notion → for each page or top-level page you want indexed, click Add connectionsRepo
Without step 3, the integration has zero pages to read and sync runs return 0 documents.

Sync cadence

Auto-sync every 15 minutes. The Notion connector uses Notion’s /v1/search endpoint to find updated pages since the last cursor.

Rate limits

Notion’s API is rate-limited to ~3 requests/second. Repo enforces a 350ms minimum interval between requests and retries on 429 up to 3 times. Large workspaces (>500 shared pages) may take a few minutes for the first sync.

Multiple workspaces

You can connect multiple Notion workspaces to the same Repo organization — each appears as a separate connector card. Repo dedupes on the Notion workspace_id, so re-running OAuth against the same workspace updates the existing connector instead of creating a duplicate.

Troubleshooting

SymptomLikely cause
Sync returns discovered: 0 repeatedlyNo pages shared with the integration. Open Notion, share pages, retry.
Sync fails with Notion 401: ...Token was revoked (integration uninstalled). Click Reconnect.
Sync fails with Notion 429: ...Rate limit. Wait 60s and retry — Repo auto-retries up to 3 times.
Page content appears emptyPage is mostly databases/embeds, which aren’t ingested yet.