Skip to main content
Aurora’s connector architecture allows you to integrate with any observability platform or cloud provider. This guide shows you how to build custom connectors.

Connector Architecture

Connectors are organized under server/connectors/ with this structure:

Types of Connectors

1. Cloud Provider Connectors

Provide infrastructure access for incident investigation. Examples:
  • gcp_connector - Google Cloud Platform
  • aws_connector - Amazon Web Services
  • azure_connector - Microsoft Azure
  • ovh_connector - OVH Cloud
  • scaleway_connector - Scaleway

2. Observability Connectors

Receive alerts and provide monitoring data. Examples:
  • datadog_connector - Datadog
  • grafana_connector - Grafana
  • dynatrace_connector - Dynatrace
  • splunk_connector - Splunk

3. Collaboration Connectors

Integrate with communication and documentation tools. Examples:
  • slack_connector - Slack
  • pagerduty_connector - PagerDuty
  • confluence_connector - Confluence

4. Code Repository Connectors

Access code and create automated fixes. Examples:
  • github_connector - GitHub
  • bitbucket_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 server/chat/backend/agent/tools/cloudx_tools.py:
Register tools in 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:
Vault paths follow this pattern:

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:
  1. Create an incident manually or via webhook
  2. Watch Celery worker logs for tool invocations
  3. Verify tool output appears in citations

Best Practices

Always handle API errors gracefully:
Respect API rate limits:
Use Redis to cache expensive API calls:
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