Overview

Implements Outline (getoutline.com) connector as requested in issue #3256.

Features

  • OutlineApiClient for RPC-style API communication with Bearer token authentication
  • OutlineConnector implementing LoadConnector and PollConnector interfaces
  • Support for Collections and Documents with proper metadata
  • Incremental updates with time-based filtering
  • Comprehensive error handling (401, 403, validation errors)
  • Rate limiting protection and HTML content parsing
  • Frontend integration with Wiki category display

Files Added

  • backend/onyx/connectors/outline/client.py - API client for Outline
  • backend/onyx/connectors/outline/connector.py - Main connector implementation
  • backend/tests/unit/onyx/connectors/outline/test_outline_connector.py - Comprehensive unit tests

Files Modified

  • backend/onyx/configs/constants.py - Added OUTLINE DocumentSource
  • backend/onyx/connectors/factory.py - Registered OutlineConnector
  • web/src/lib/sources.ts - Added Outline source metadata

Implementation Details

Architecture

  • Follows the same pattern as existing BookStack connector
  • Uses Outline’s RPC-style POST API endpoints
  • Converts Collections and Documents to Onyx Document format
  • Supports both full indexing and incremental updates

Error Handling

  • ConnectorMissingCredentialError for missing credentials
  • CredentialExpiredError for 401 authentication failures
  • InsufficientPermissionsError for 403 permission issues
  • ConnectorValidationError for other API errors

Testing

  • Comprehensive unit tests covering all functionality
  • Mock-based testing for API interactions
  • Error scenario coverage

Configuration

Users will need to provide:

  • outline_base_url - Base URL of their Outline instance
  • outline_api_token - API token from Outline Settings > API & Apps

Value Proposition

  • Expands Onyx’s ecosystem to include Outline’s 28k+ GitHub stars user base
  • Enables unified search across popular knowledge platform
  • Follows established patterns for easy maintenance

Closes #3256


/claim #3256


Summary by cubic

Added a new connector for Outline (getoutline.com) to support indexing collections and documents, with full and incremental sync, error handling, and frontend integration under the Wiki category.

  • New Features
    • OutlineApiClient for authenticated API access.
    • OutlineConnector with support for collections, documents, and incremental updates.
    • Error handling for authentication and permissions.
    • Frontend metadata for Outline in the Wiki category.

Claim

Total prize pool $500
Total paid $0
Status Pending
Submitted July 27, 2025
Last updated July 27, 2025

Contributors

VI

Vishwanath Martur

@vishwamartur

100%

Sponsors

ON

Onyx (YC W24)

@onyx-dot-app

$500