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.

Modulo ships 43 connector types covering source control, CI/CD, ticket tracking, messaging, monitoring, incident management, security scanning, knowledge bases, secrets management, package registries, and generic HTTP integrations.

Common connectors

GitHub

Connects to GitHub repositories, issues, pull requests (PRs), and Actions.

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

Capabilities: Read and write issues, pull requests, and files; create PRs; post code reviews.

GitLab

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

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

Capabilities: Read and write issues and merge requests; create merge requests; trigger CI runs; search tickets.

Notion

Reads and writes Notion databases, pages, and blocks.

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

Capabilities: Read and write pages, databases, and blocks.

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.

Generic REST

Any REST (Representational State Transfer) API can be wrapped as a connector using the rest type. Supports bearer, API key (header or query), and basic auth, with SSRF (Server-Side Request Forgery) allowlist guarding, response-size capping, and idempotent retry.

Pipeline config
{
  "type": "rest",
  "config": {
    "base_url": "https://api.example.com",
    "method": "GET",
    "allowed_hosts": ["api.example.com"],
    "auth_mode": "bearer",
    "token": "..."
  }
}

The REST connector also supports URL templating, custom headers, params, body templates, pagination, and rate limiting.

Complete connector reference

The table below lists all 43 shipped connector types. Capabilities are derived from the ConnectorType enum in the codebase.

Source control

Source control
Type Display name Capabilities Key config / credentials
github GitHub read, write, git_push, create_pr, code_review, ticket_read, ticket_write token
gitlab GitLab read, write, git_push, create_pr, ticket_read, ticket_write, ticket_search, trigger_run token
bitbucket Bitbucket read, write, git_push, create_pr token
gitea Gitea read, write, git_push, create_pr token
azure_repos Azure Repos read, write, git_push, create_pr token, organization

Ticket tracking & project management

Ticket tracking & project management
Type Display name Capabilities Key config / credentials
jira Jira ticket_read, ticket_write, ticket_search email, api_token, instance or base_url
linear Linear ticket_read, ticket_write token
trello Trello read, write, ticket_read, ticket_write, ticket_search api_key, token
asana Asana read, write, ticket_read, ticket_write, ticket_search personal_access_token
shortcut Shortcut read, write token
youtrack YouTrack read, write token, base_url (required)
monday Monday read, write api_key
ticket-tracker Ticket Tracker ticket_read, ticket_write, ticket_search provider config ("github" or "trello")

CI/CD

These connectors provide the CI-runner operations (start a run, read its status, read its logs, list runs), and wiring a pipeline node to dispatch to a CI runner is in development.

CI/CD
Type Display name Capabilities Key config / credentials
ci-runner CI Runner trigger_run, get_run_status, get_run_logs, list_runs github_token (GitHub Actions), token (GitLab CI)
circleci CircleCI trigger_run, get_run_status, get_run_logs, list_runs token
buildkite Buildkite trigger_run, get_run_status, get_run_logs, list_runs token
jenkins Jenkins trigger_run, get_run_status, get_run_logs, list_runs username, token
teamcity TeamCity trigger_run, get_run_status, get_run_logs, list_runs token
azure_pipelines Azure Pipelines trigger_run, get_run_status, get_run_logs, list_runs token, organization

Messaging & notifications

Messaging & notifications
Type Display name Capabilities Key config / credentials
slack Slack messaging, read, write bot_token
microsoft_teams Microsoft Teams collaboration, messaging, notification, read, write token
discord Discord collaboration, messaging, notification token

Observability & monitoring

Observability & monitoring
Type Display name Capabilities Key config / credentials
datadog Datadog monitoring, observability, read, write api_key, application_key
sentry Sentry monitoring, incident_management, read, write token
grafana Grafana monitoring, observability, read, write token

Incident management

Incident management
Type Display name Capabilities Key config / credentials
pagerduty PagerDuty incident_management, monitoring, read, write token
opsgenie OpsGenie incident_management, monitoring, notification api_key

Security scanning

Security scanning
Type Display name Capabilities Key config / credentials
sonarqube SonarQube read, write, monitoring, observability token
codeclimate Code Climate monitoring, observability token
snyk Snyk read, vulnerability_scanning, monitoring token

Documents & knowledge

Documents & knowledge
Type Display name Capabilities Key config / credentials
notion Notion read, write token
confluence Confluence read, write username, api_token, instance (required)
sharepoint SharePoint read, write token
dropbox_paper Dropbox Paper read, write token

Secrets management

Secrets management
Type Display name Capabilities Key config / credentials
azure_key_vault Azure Key Vault secrets_management, read, write token, vault_url (required)
onepassword 1Password secrets_management, read, write token

Package registries

Package registries
Type Display name Capabilities Key config / credentials
npm npm package_management, read token
pypi PyPI package_management, read token

Automation

Automation
Type Display name Capabilities Key config / credentials
n8n n8n automation, read, write token

Generic / infrastructure

Generic / infrastructure
Type Display name Capabilities Key config / credentials
filesystem Filesystem read, write base_path (required)
shell Shell read, write allowed_commands, environment_profile_id
custom Custom varies by plugin varies
rest Generic REST read, write auth_mode, token / api_key / username + password, base_url, allowed_hosts

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. See Secrets for the full credential-handling details.