What is a Source?
A source is a connector type - it’s the blueprint for how Airweave communicates with a specific external platform. Think of it as the “driver” for a data source. For example:githubis a source that knows how to sync repositories, code files, and directoriesnotionis a source that knows how to sync workspaces, databases, and pagesslackis a source that knows how to search messages and channels
github source.
Source vs Source Connection
| Concept | Description | Example |
|---|---|---|
| Source | A connector type/template | github, notion, slack |
| Source Connection | An authenticated instance using a source | ”My Docs Repo” (GitHub connection) |
- The
githubsource can connect to multiple repositories - The
notionsource can connect to different workspaces - Each connection has its own credentials and configuration
Discovering Available Sources
List all available sources to see what connectors Airweave supports:Source Properties
Each source includes detailed metadata about its capabilities:Identity
- name: Human-readable name (e.g., “GitHub”, “Slack”)
- short_name: Technical identifier (e.g., “github”, “slack”)
- description: What data this source extracts
Authentication
- auth_methods: Supported authentication methods
direct: API keys or credentialsoauth_browser: Browser-based OAuth flowoauth_token: Pre-obtained OAuth tokenauth_provider: Third-party auth provider
- oauth_type: OAuth token type for OAuth sources
access_only: Access token without refreshwith_refresh: Access + refresh tokenwith_rotating_refresh: Refresh token rotates on useoauth1: OAuth 1.0a flow
- requires_byoc: Whether OAuth requires bringing your own client credentials
Configuration
- auth_config_class: Python class defining required auth fields (for direct auth)
- config_class: Python class defining source-specific config options
- auth_fields: Schema of authentication credentials required
- config_fields: Schema of configuration parameters available
Capabilities
- supports_continuous: Whether cursor-based incremental sync is supported
- federated_search: Whether source uses real-time search instead of syncing
- supports_temporal_relevance: Whether entities have timestamps for recency ranking
- supports_access_control: Whether document-level ACLs are extracted
- rate_limit_level: Rate limiting scope (
org,connection, ornull)
Discovery
- labels: Category tags (e.g., [“Code”], [“Knowledge Base”, “Productivity”])
- output_entity_definitions: Types of entities this source produces
Getting Source Details
Retrieve detailed configuration for a specific source:Example: GitHub Source
Here’s what the GitHub source looks like:Source Implementation
Each source is implemented as a Python class that extendsBaseSource and is decorated with @source:
@source decorator automatically registers the source with Airweave and makes it discoverable via the API.
Using Sources
Sources define what’s possible - source connections make it happen:Next Steps
Browse Connectors
Explore all 50+ available connectors
Create Connections
Learn how to connect sources to collections
Authentication
Understand authentication methods
API Reference
See the full API specification