Orcha
Guides

Connect a source and choose what gets indexed

Connect a provider, catalog what it holds, and index only the parts worth paying for.

Connecting a provider does not index everything it holds. Orcha catalogs the source first, then indexes only what you select. This guide walks the flow in the app; the model behind it is in Connected sources.

You need the workspace admin role.

1. Connect the provider

Open Connectors and pick a provider card. Most providers open an OAuth consent screen; GitHub installs a read-only GitHub App on the repositories you choose, and Granola takes an API key. A card that says setup is incomplete is waiting on credentials an operator has to configure for your environment.

You can connect more than one account per provider. Each account appears as its own tab under Manage.

2. Let the catalog build

The first sync walks the provider and records what exists: names, paths, sizes, and revisions, without downloading bodies. This is cheap and bounded by the provider's daily call budget, which the Manage view shows as calls used today.

3. Set indexing rules

Each resource (a repository, a drive, a Notion workspace, a Linear team) gets a policy, and paths inside it can override that policy:

PolicyUse it when
Index essentialsYou want the documentation and guidance files without the whole tree
Index all supported contentThe whole subtree is worth searching
Discover onlyYou want it findable and live-fetchable, but not stored
Don't includeThe subtree is noise, or off-limits

The deepest matching rule wins, so a repository can be essentials at the root, full under docs/, and excluded under vendor/. Picking a policy previews the effect: how many objects would be indexed, how many bytes, and roughly how many provider API calls that costs. Rules take effect when you save.

Providers start from different defaults. GitHub and Granola index essentials. Drive, OneDrive, Dropbox, Notion, Linear, Jira, and Zoom catalog first and index nothing until you say so. Gmail is off entirely until you add its OAuth scope and an explicit rule.

4. Check the result

Each cataloged object shows its state:

  • Indexed: the body is stored and searchable.
  • Queued: selected, waiting for the next sync to fetch it.
  • Catalog only: metadata only. Still reachable through balanced and fresh searches.
  • Skipped: a type Orcha cannot index, with the reason.

Run Sync now to apply changes immediately instead of waiting for the scheduled run. Free workspaces sync daily; paid plans sync more often and also accept provider webhooks.

5. Query it

Indexed source documents come back from search_context like any other content, cited to the exact upstream version. Catalog-only objects are reachable without indexing them:

{
  "query": "how the payments webhook retries",
  "mode": "balanced",
  "sourceIds": ["4f6c2d8a-1b7e-4a52-9c31-0d5f8e2a7b64"]
}

balanced fetches a few decisively matching catalog entries live; fresh also queries providers that answer live, such as issue trackers. To go straight at one provider, use query_source, and use fetch_source_document to pull a single document's full body. Source IDs come from get_workspace_overview.

When to index rather than catalog

Index content your agents read repeatedly: documentation, runbooks, specs, meeting summaries. Leave the long tail cataloged. Retained content is faster, costs no provider calls at query time, and stays searchable when a provider is down; cataloged content costs nothing to keep and is still reachable when a question happens to need it.

On this page