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
| 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
| 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.
| 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
| 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
| 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
| 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
| 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
| 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
| 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
| Type | Display name | Capabilities | Key config / credentials |
|---|---|---|---|
npm |
npm | package_management, read | token |
pypi |
PyPI | package_management, read | token |
Automation
| Type | Display name | Capabilities | Key config / credentials |
|---|---|---|---|
n8n |
n8n | automation, read, write | token |
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.
Related
- Secrets: credential encryption and the never-logged policy
- Configuration: environment variables and backend setup
- Pipelines: the directed-graph execution model
- GitHub use case: governing GitHub-based agent workflows
- GitLab use case: governing GitLab-based agent workflows
- Existing agent runtimes: integrating with Claude Code, Cursor, and Codex