Skip to main content

Overview

Each connector runs as an independent service (a Docker container in self-hosted deployments, or an ECS task on AWS) and syncs data independently. The connector-manager service orchestrates all connector operations, including scheduling syncs, tracking progress, and managing concurrent operations.
For instructions on adding a new connector, see the Connectors Overview.

Connector Manager

The connector-manager service is the central orchestrator for all connector operations. It provides:
CapabilityDescription
Sync OrchestrationTriggers syncs on-demand or on schedule
Progress TrackingReal-time sync progress via Server-Sent Events
Concurrency ControlLimits concurrent syncs (default: 10 global, 3 per type)
Stale Sync DetectionMarks hung syncs as failed after 10 minutes
SDK EndpointsAPI for custom connectors built with Python/TypeScript SDK

Configuration

Key connector-manager settings (via environment variables):
VariableDefaultDescription
MAX_CONCURRENT_SYNCS10Maximum concurrent syncs across all sources
MAX_CONCURRENT_SYNCS_PER_TYPE3Maximum concurrent syncs per connector type
SCHEDULER_INTERVAL_SECONDS30How often scheduler checks for due syncs
STALE_SYNC_TIMEOUT_MINUTES10Timeout to mark a sync as stale/failed
See Configuration Reference for all options.

Viewing Connector Status

Navigate to SettingsIntegrations to see all configured connectors.
Omni Integrations
For each connector, you can see:
  • Enabled/Disabled status
  • Last sync timestamp
  • Sync progress when a sync is running (including document count)

Enabling and Disabling Connectors

Each connector can be enabled or disabled independently. A disabled connector:
  • Stops syncing new content
  • Retains previously indexed documents
  • Can be re-enabled at any time
To toggle a connector’s status, click Configure and change the enabled setting.

Sync Operations

Automatic Sync

Connectors automatically sync on a schedule. After the initial full sync, incremental syncs run periodically to capture new and updated content.

Manual Sync

To trigger a manual sync:
  1. Navigate to SettingsIntegrations
  2. Select the connector
  3. Click Sync Now
You can only trigger a manual sync if no sync is currently running. If a sync is in progress, the button will be disabled.

Removing a Connector

To disconnect a data source:
  1. Navigate to SettingsIntegrations
  2. Select the connector
  3. Click Remove
  4. Confirm the removal
When you remove a connector:
  • The connector service is stopped
  • All indexed documents from that source are deleted
  • Users will no longer see results from that source

Troubleshooting

Connector shows “Error” status

Check the connector logs. For Docker Compose deployments:
# Check specific connector logs
docker logs omni-<connector-name>-connector

# Check connector-manager logs for orchestration issues
docker logs omni-connector-manager
For AWS deployments, check CloudWatch Logs for the connector’s ECS task. Common issues:
  • Expired or revoked credentials
  • API rate limiting
  • Network connectivity problems
  • Connector-manager unable to reach connector service

Sync seems stuck

If a sync has been running for an unusually long time:
  1. Check the connector-manager logs for heartbeat failures:
    docker logs omni-connector-manager | grep -i "stale\|timeout"
    
  2. Check the connector logs for errors
  3. Syncs are marked as failed after 10 minutes of inactivity (configurable via STALE_SYNC_TIMEOUT_MINUTES)
  4. Restart the connector service if needed

Connector not receiving sync requests

Verify connector-manager can reach the connector:
  1. Check connector URL configuration:
    # Ensure CONNECTOR_<TYPE>_URL is set correctly
    echo $CONNECTOR_GOOGLE_URL
    
  2. Test connectivity from connector-manager:
    docker exec omni-connector-manager curl http://<connector>:<port>/health
    
  3. Check connector-manager logs for connection errors

Too many concurrent syncs

If syncs are queuing or timing out:
  1. Check current sync count in connector-manager logs
  2. Adjust concurrency limits:
    • MAX_CONCURRENT_SYNCS (default: 10)
    • MAX_CONCURRENT_SYNCS_PER_TYPE (default: 3)
  3. Consider staggering sync schedules for different sources