Skip to content

GitHub Connector

πŸ”‘ Key Concepts

The GitHub Connector block enables seamless integration with GitHub repositories, allowing workflows to access, retrieve, and process repository data at scale.

Designed to be robust and scalable, this connector supports large repositories and offers flexible filtering mechanisms to control what content is accessed. This allows you to build intelligent, context-aware workflows powered by live code or documentation from your repositories.

πŸ“˜ Key Definitions

Term Definition
GitHub Token A personal access token with permissions to access repositories and organizations.
GitHub Owner The GitHub account (user or organization) that owns the repository.
GitHub Repository The specific repository to connect and retrieve data from.
Workflow Node A defined step in the data flow for extracting, ranking, or synthesizing repository content.
File Extension Filter A setting that excludes files by extension from being retrieved.
Description A label for helping the router engine or documentation purposes understand the page's purpose.

βš™οΈ Setup Guide: Configuring the GitHub Connector

To set up the GitHub Connector in INTELLITHING, fill out the following fields:

1. GitHub Token

  • Enter your personal access token.
  • Required permissions: repo, read:org

2. GitHub Owner

  • Provide the username or organization name that owns the repository.

3. GitHub Repository

  • Enter the name of the repository you want to integrate.
    Example: my-project-repo

4. GitHub Branch Name

  • Specify the target branch to access within the repository.
    Example: main, develop

5. GitHub Folder Name

  • Optional: Specify one or more folders to limit the scope of integration.
  • Click Add to Include GitHub Directories to confirm.

6. GitHub File Extension (Exclusion Filter)

  • Enter file extensions to exclude from the crawl.
    Example: .py, .json, .md
  • Click Add to GitHub Filter File Extensions to apply the filter.

7. Description

  • Provide a brief description for routing and documentation purposes.
    Example: β€œCodebase for the internal analytics dashboard. Used to power automated code insights.”

  • This is optional in custom workflows but helpful for future management.

8. Save

  • Click Save to confirm your settings and return to the main workflow editor.

πŸ”€ Workflow Nodes

The GitHub Connector block includes the following workflow nodes, which define how data is retrieved and processed:

ingest_github_configuration

  • Initializes the GitHub connection with provided configuration values (token, repository, branch, filters).
  • Validates access and prepares for data operations.

github_retrieve_nodes

  • Retrieves content from the specified repository.
  • Supports filters for folders and file types to optimize data access.

github_rerank_nodes

  • Reranks retrieved files or data based on relevance to the workflow's goals or query.
  • Ensures priority is given to the most useful content.

github_synthesize

  • Synthesizes the selected GitHub data into structured outputs such as summaries, insights, or reports.
  • Useful for generating context-aware results from source code or documentation.

βœ… Best Practices for GitHub Integration

  • Use proper permissions: Make sure your token has access to the required repositories and branches.
  • Limit scope with filters: Use folder and file extension filters to avoid unnecessary data retrieval.
  • Document clearly: Provide meaningful descriptions to distinguish between multiple GitHub connections.
  • Secure your token: Never share or expose your GitHub token in public workflows or logs.

πŸ“Œ Example Use Case

To build a documentation assistant for your engineering team:

  1. Configure the GitHub Connector with:
  2. Repository: internal-docs
  3. Branch: main
  4. Folder: guides/
  5. File extension filter: .json, .csv
  6. Use github_retrieve_nodes to fetch relevant markdown files.
  7. Rerank the content based on search queries using github_rerank_nodes.
  8. Generate helpful summaries with github_synthesize to surface key information to users.