Authentication Providers

When your users connect data sources through third-party applications like Composio, Airweave can reuse those existing connections instead of requiring separate authentication. Connect Airweave to your auth provider, and it automatically pulls credentials from your users’ already-authenticated sources, eliminating the need for users to sign in twice.

1. Connect to your Auth Provider

To connect an auth provider, visit the Auth Providers page and select the service you want to integrate with Airweave. Once you provide your auth provider’s API key, Airweave establishes a secure connection that allows it to access your users’ existing data source credentials. Successfully connected auth providers display a green checkmark, confirming that Airweave can now leverage those connections for your users. We currently support Composio with Klavis and Pipedream coming soon.

2. Locate the necessary configuration

When creating source connections through an auth provider, Airweave needs specific identifiers to retrieve the correct credentials from the third-party service. Each auth provider has its own way of organizing connections, for instance, Composio uses a combination of auth_config_id and account_id since multiple accounts can connect to one integration and vice versa.

You can find these identifiers in your auth provider’s dashboard. For Composio, visit your Auth Configs page and select an integration to view its connected accounts and their IDs. Different auth providers require different configuration fields, refer to our configuration definitions to see what’s needed for each provider.

3. Create source connections using your auth provider

Once your auth provider is connected and you located the necessary configuration, you can create source connections (without authenticating) that automatically retrieve credentials from the auth provider. Simply specify the readable ID of the connection to your auth provider created in step one (click on a connected auth provider in Auth Providers page to find this) and configuration located in step 2 when creating a source connection.

Here’s an example API request creating an Asana connection through Composio:

1from airweave import AirweaveSDK
2
3client = AirweaveSDK(api_key="YOUR_API_KEY")
4
5source_connection = airweave.source_connections.create_source_connection(
6 name="My Asana connection",
7 short_name="asana",
8 auth_provider="my-composio-connection-abc123",
9 auth_provider_config={
10 "auth_config_id": AUTH_CONFIG_ID,
11 "account_id": ACCOUNT_ID
12 },
13)
14
15print(f"Status: {source_connection.status}")