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

  • Public channel messages (the bot must be added to the channel)
  • Thread replies
  • Channel metadata (name, topic)
  • Message permalinks

What’s NOT ingested

  • DMs (Repo deliberately excludes the im:history scope)
  • Private channels the bot isn’t a member of
  • File contents (only the metadata + caption is captured)
  • System events (joins, leaves, channel renames) — filtered out at ingest

OAuth scopes requested

  • channels:read — list public channels
  • channels:history — read channel messages
  • users:read — resolve user IDs to display names
  • groups:read + groups:history — private channels the bot is invited to
  • links:read — generate permalinks

Connecting

  1. In the Repo console, Sources tab → click Connect on Slack
  2. Slack OAuth screen → pick the workspace → approve
  3. After redirect, the connector is pending and the first sync queues automatically

Channel allowlist

By default, Slack ingests every channel the bot is a member of. To limit ingestion to specific channels:
  1. Open the connector card in the Sources tab
  2. Click the channel picker
  3. Toggle the channels you want — only the toggled-on ones are ingested
You can also set the allowlist programmatically — see Sources API.

Sync cadence

Auto-sync runs every 15 minutes by default. The Slack connector uses a cursor-based sync — only new messages since the last cursor are fetched. A fullResync discards the cursor and re-ingests everything (use sparingly, large workspaces may hit Slack’s rate limit).

Limitations

  • The bot must be manually added to each channel you want ingested (Slack’s design — no global “read all channels” scope exists for public-distribution apps).
  • Channel rename events don’t auto-update the cached channel name until the next full resync.
  • Message deletion is not yet propagated — deleted messages stay in Repo’s memory until a manual resync.

Where this gets cited

[1] Q3 OKRs — #leadership (Sam Rivera, 2 days ago)
    https://acme.slack.com/archives/C0123/p1716422400000123
Citations include the channel name, author, and Slack permalink so users can verify the source in one click.