Skip to main content

Connectors

Connectors are the bridge between Modulo pipelines and your tools. Each connector wraps an external API in a sandboxed interface that agents can call during a pipeline run.

Supported connectors

GitHub

Connects to GitHub repositories, issues, pull requests, and Actions.

Pipeline config
{
  "type": "github",
  "config": {
    "token": "ghp_...",
    "owner": "my-org",
    "repo": "my-repo",
    "base_branch": "main"
  }
}

Capabilities: Read issues, pull requests, and files; update issue status and post structured comments. (Read-only access to Actions workflows and labels/milestones.)

GitLab

Connects to GitLab projects, merge requests, and CI pipelines.

Pipeline config
{
  "type": "gitlab",
  "config": {
    "token": "glpat-...",
    "project_id": 12345,
    "base_branch": "main"
  }
}

Notion

Reads Notion databases and pages. (Reference and enrichment only; Notion is a read-only document store.)

Pipeline config
{
  "type": "notion",
  "config": {
    "integration_token": "ntn_...",
    "database_id": "..."
  }
}

Filesystem

Reads and writes files on the server’s filesystem within a restricted base path.

Pipeline config
{
  "type": "filesystem",
  "config": {
    "base_path": "/data/repos"
  }
}

The filesystem connector is chrooted to base_path. Agents cannot access files outside this directory.

Custom HTTP

Any REST API can be wrapped as a connector using the HTTP adapter.

Pipeline config
{
  "type": "http",
  "config": {
    "base_url": "https://api.example.com",
    "headers": {
      "Authorization": "Bearer ..."
    },
    "allowed_paths": ["/v1/items", "/v1/search"]
  }
}

Credential security

Modulo encrypts connector credentials at rest with Fernet symmetric encryption. Credentials are decrypted once at run-start into a run-scoped context object and never written to LangGraph state, checkpoint blobs, logs, or OpenTelemetry spans.