Connectors

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

Farna Control ships 43 connector types covering source control, continuous integration and delivery (CI/CD), ticket tracking, messaging, monitoring, incident management, security scanning, knowledge bases, secrets management, package registries, and generic HTTP integrations.

Creating a connector

A connector instance is one configured connection to a tool. Create it at Connector Hub (/connectors) or through POST /api/v1/connectors, then bind pipeline nodes to it. A create request carries:

Creating a connector
Field Description
name Unique name for this connection
connector_type_id The connector type, such as github or notion
credentials The secret (usually a token). Multi-field connectors take a JSON object encoded as a string. Encrypted at rest and never returned
config_json Non-secret settings such as base_url or base_path
allowed_operations Optional allowlist of operations the connector may perform
Pipeline config
{
  "name": "github-main",
  "connector_type_id": "github",
  "credentials": "ghp_...",
  "config_json": { "base_url": "https://api.github.com" },
  "allowed_operations": ["read", "write", "create_pr"]
}

The base_url above is optional; omit it for github.com and set it for a GitHub Enterprise Server instance.

Common connectors

GitHub

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

Credentials: a personal access token. Config: optional base_url for GitHub Enterprise Server.

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

GitLab

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

Credentials: a personal access token. Config: optional base_url; defaults to https://gitlab.com/api/v4.

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.

Credentials: an integration token. Config: none required at the instance level; choose the database or page per operation.

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

Filesystem

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

Config: base_path (required). The filesystem connector is chrooted to base_path, so agents cannot access files outside this directory.

Generic REST

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

Config: base_url (required) and optional allowed_hosts. The authentication settings live in the credentials object:

Pipeline config
{
  "auth_mode": "bearer",
  "token": "..."
}

For API-key auth, supply api_key, an optional header_name, and in set to header or query. For basic auth, supply username and password.

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 expose the CI-runner operations (start a run, read its status, read its logs, list runs), and a pipeline dispatch node can drive them end to end. The node’s connector binding uses operation: "dispatch" with a dispatch_action of trigger_run, get_run_status, get_run_logs, or list_runs, and the binding must target a CI-runner connector. With await_completion: true on a trigger_run, the node polls get_run_status until the substrate reports a terminal status, bounded by wait_timeout (default 300 seconds, maximum 3600). When that window expires the run fails with the terminal dispatch.wait_timeout error; the job is never fired twice.

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

Farna Control 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.