AACFlow

GitHub Connector

Sync files from a GitHub repository into your knowledge base

The GitHub connector synchronizes files from a GitHub repository branch into your knowledge base. It uses the Git tree API for efficient change detection without downloading file contents during listing.

Authentication

API Key — Personal access token (classic or fine-grained). Requires:

  • Repository Contents: Read permission

Configuration

FieldTypeRequiredDescription
RepositoryInputYesOwner/repo (e.g., facebook/react)
BranchInputNoBranch name (default: main)
Path FilterInputNoOnly sync files in this path (e.g., docs/)
File ExtensionsInputNoComma-separated extensions (e.g., .md,.txt,.mdx)
Max FilesInputNoLimit the number of synced files

How It Works

  1. Tree Fetch — Fetches the full recursive Git tree for the branch in one API call
  2. Filtering — Filters by path prefix and file extensions
  3. Stub Creation — Creates lightweight stubs using Git blob SHA as content hash
  4. Content Deferred — File contents are fetched only for new/changed files via getDocument
  5. Pagination — Offset-based batching (30 files per page) over the filtered tree

Content Hash Strategy

Uses Git blob SHA prefixed with git-sha: — this enables change detection without downloading file contents, which is critical for large repositories.

For repositories with 50K+ files, the entire filtered tree is cached in syncContext to avoid repeated API calls.

Metadata Tags

TagTypeDescription
File PathTextFull repository path
RepositoryTextOwner/repo name
BranchTextGit branch
File SizeNumberFile size in bytes
Last ModifiedDateLast commit date from HTTP header

Limitations

  • Files larger than GitHub's content API limit are skipped
  • Binary files are not supported
  • Rate limiting: 5000 requests/hour for authenticated users

On this page

Start building today
Trusted by over 100,000 builders.
The SaaS platform to build AI agents and run your agentic workforce.
Get started