Feature Spotlight: How connectors let you swap tools without changing pipelines
Farna Control Team
Connectors bridge Farna Control pipelines and your tools. Each wraps an external API in a sandboxed interface agents call during a run. Connect GitHub and an agent can create pull requests, comment on issues, and trigger Actions workflows through a typed interface that validates every call. The agent never sees your API token, and the pipeline never hardcodes the tool.
In short
- Connectors give agents sandboxed, credential-secured access to external tools: GitHub, GitLab, Notion, filesystems, and REST APIs.
- Use them when a pipeline reads from or writes to an external system: creating PRs, updating tickets, reading files, calling APIs.
- Skip them for pure computation agents (classification, summarization, analysis) that never touch external systems.
- Credentials are decrypted once at run-start and never enter agent state, logs, or checkpoints.
The problem it solves
A pipeline that drafts pull request descriptions has the agent read a GitHub diff, write a description, and post it as a PR comment. Without connectors you either hardcode a token into the prompt, violating every credential policy, or copy-paste by hand. Tokens rotate quarterly and break silently; copy-paste defeats automation. Agents need tool access, credentials must not leak into agent state, logs, or checkpoints, and a connector decrypts the credential once at run-start, passes it in a transient context object, and keeps it out of anything persistent.
How it works
Supported connectors
Farna Control ships connectors for common developer tools:
- GitHub - repositories, issues, pull requests, Actions workflows, labels, milestones
- GitLab - projects, merge requests, CI pipelines
- Notion - databases and pages
- Filesystem - reads and writes files within a restricted base path (chrooted)
- Custom HTTP - any REST API can be wrapped as a connector
Credential security
Farna Control encrypts connector credentials at rest with Fernet symmetric encryption. They are decrypted once at run-start into a run-scoped context object and never written to LangGraph state, checkpoints, logs, or OpenTelemetry spans. The agent gets the credential in-process only, uses it for the API call, and does not serialize it, so a leaked credential cannot survive in a checkpoint.
The HTTP adapter
Any REST API can be wrapped as a connector with the HTTP adapter. Configure the base URL, authentication headers, and allowed paths; the agent calls only the endpoints you permit.
{
"type": "http",
"config": {
"base_url": "https://api.example.com",
"headers": {
"Authorization": "Bearer ..."
},
"allowed_paths": ["/v1/items", "/v1/search"]
}
}
Swapping connectors
Every connector implements the same interface, so you can swap tools without changing the pipeline. Switch from GitHub to GitLab by changing the connector binding; the agent code stays identical - typed seams applied to tool access.
Journey example: before and after
Before
Priya's platform team maintains 12 pipelines, each with a hardcoded GitHub token updated by hand every quarter. One uses a different token format and breaks silently, running two weeks before anyone notices the PR comments stopped.
After
One GitHub connector that every pipeline binds to puts rotation in one place. A stale token breaks the connector immediately, and the health check notifies the team before any run fails, turning the quarterly fire drill into a one-click update.
When to use it vs. when not to
Use connectors for any step that reads from or writes to an external system: they give you credential security, access control through allowed paths, and tool swaps without changing agent code. A classifier that returns a label needs none. Wrap an internal API only when it carries sensitive credentials; otherwise a direct HTTP call is simpler.
Where it fits in a pipeline
Connectors sit at the tool-access layer: an agent receives a prompt, calls the connector to read or write data, and produces output, while the connector handles authentication, access control, and credential lifecycle. For the governance layer that validates output, see Feature Spotlight: How HITL gates stop bad agent output before it ships, and for the broader context, the principles of Farna Control.
Go deeper
Read the Connectors docs for connector configuration, or the related docs on pipelines and secrets. Take the product tour to see connectors in action, or use the contact page to talk about connecting your tools.