Connector Architecture
Connectors are organized underserver/connectors/ with this structure:
Types of Connectors
1. Cloud Provider Connectors
Provide infrastructure access for incident investigation. Examples:gcp_connector- Google Cloud Platformaws_connector- Amazon Web Servicesazure_connector- Microsoft Azureovh_connector- OVH Cloudscaleway_connector- Scaleway
2. Observability Connectors
Receive alerts and provide monitoring data. Examples:datadog_connector- Datadoggrafana_connector- Grafanadynatrace_connector- Dynatracesplunk_connector- Splunk
3. Collaboration Connectors
Integrate with communication and documentation tools. Examples:slack_connector- Slackpagerduty_connector- PagerDutyconfluence_connector- Confluence
4. Code Repository Connectors
Access code and create automated fixes. Examples:github_connector- GitHubbitbucket_connector- Bitbucket
Building a Cloud Provider Connector
Let’s build a connector for a fictional cloud provider “CloudX”.1
Create the connector module
2
Implement authentication
Create
server/connectors/cloudx_connector/auth.py:3
Create the API client
Create
server/connectors/cloudx_connector/client.py:4
Add Flask routes (optional)
Create
server/connectors/cloudx_connector/routes.py for OAuth or webhook endpoints:5
Register the connector
Add to
server/main_compute.py:6
Create LangGraph tools
Make CloudX accessible to the RCA agent. Create Register tools in
server/chat/backend/agent/tools/cloudx_tools.py:server/chat/backend/agent/tools/__init__.py:Building an Observability Connector
Let’s build a connector for a fictional monitoring tool “MetricsX”.1
Create the webhook endpoint
Create
server/connectors/metricsx_connector/routes.py:2
Create database table
Add a migration for the MetricsX alerts table:
3
Register the blueprint
In
server/main_compute.py:Credential Storage with Vault
All connectors should use Vault for secrets:Testing Your Connector
1
Unit tests
Create
server/tests/connectors/test_cloudx_connector.py:2
Integration tests
Test the full flow:
3
Test with RCA agent
Create a test incident and verify the LangGraph agent can use your tools:
- Create an incident manually or via webhook
- Watch Celery worker logs for tool invocations
- Verify tool output appears in citations
Best Practices
Error handling
Error handling
Always handle API errors gracefully:
Rate limiting
Rate limiting
Respect API rate limits:
Caching
Caching
Use Redis to cache expensive API calls:
Logging
Logging
Use structured logging for debugging:
Example Connectors
Study these existing connectors for reference:- GCP Connector:
server/connectors/gcp_connector/- OAuth2 flow, API client patterns - Slack Connector:
server/connectors/slack_connector/- OAuth, webhook handling - Datadog Connector: Event ingestion, alert correlation
- Confluence Connector:
server/connectors/confluence_connector/- Search service, API client
Next Steps
First Investigation
Test your connector with a real incident
Backup & Restore
Ensure your connector data is backed up