> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runalloy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Auth Config

> Learn how to create and use custom auth configs

Many integrations support customization of authentication configurations, specifically OAuth applications. This guide will walk you through creating and managing custom auth configs to use your own credentials and settings.

## Creating a Custom Auth Config

To create a custom auth config, navigate to your dashboard and click **Auth Configs** in the side bar then click on **+ New Auth Config**.

You'll need to customize the auth config when you want to use different values than the defaults - such as your Client ID, Client Secret, or other authentication parameters.

### Example: OAuth2 Applications

Integrations that support OAuth2 allow you to use your own developer app. This is the recommended approach for most production use cases.

<aside>
  💡 **Use your own developer app!**

  We recommend using your own developer app for the OAuth2 scheme as it is more suited for production usage with many users and provides more granular control over scopes.

  However, getting OAuth approvals takes time, so we provide a default developer app to get you started!
</aside>

## OAuth2 Auth Configs

### Step 1: Generate the OAuth Client ID and Client Secret

To set up a custom OAuth config, you'll need the OAuth Client ID and Client Secret from your provider.

You can generate these credentials from your provider's OAuth configuration page. Here are some common examples:

* **Google**: [Google Cloud Console](https://console.cloud.google.com/) → APIs & Services → Credentials
* **Slack**: [Slack API Console](https://api.slack.com/apps) → OAuth & Permissions
* **Notion**: [Notion API Console](https://www.notion.so/my-integrations) → OAuth & Permissions

### Step 2: Create the Auth Config

Once you have the OAuth credentials, you can add them to the auth config:

1. Select the app with *OAuth2* authentication that you want to configure
2. Select the scopes to request from users (All provided scopes provided are enabled by default)
3. Toggle the *"Use your own developer credentials"* switch to enable custom OAuth2 configuration
4. Add your OAuth client ID and client secret
5. Keep the Redirect URI as provided (you'll configure this in your OAuth app settings)
6. Click **Create Auth Config**

This auth config is now ready to be used when creating a credential!

## How Does This Work?

The custom OAuth config allows you to use your own brand in the OAuth consent screen instead of the default Alloy Automation brand. Here's how it works:

### Key Benefits

* **Custom Brand**: Users see your brand in OAuth consent screens, maintaining brand trust
* **Production Ready**: Your own OAuth app gives you full control over rate limits and quotas

## Using Auth Configs when Creating a Credential

Once you've created an auth config, you can reference use it when creating credentials using the Connectivity API.

### Step 1: Get the Auth Config ID

To get the auth config ID, navigate to **Auth Configs** dashboard click the Copy ID button next to the auth config's ID that you want to use.

### Step 2: Create the Credential through the Connectivity API

Pass the auth config ID to the Connectivity API when creating a credential. Refer to [Authentication](/connectivity-api/credentials#creating-oauth-2-0-credentials) for more information. You can also refer to the [Connectivity API Reference](/reference/connectivity-api/create-connector-credential) for more information.

```bash theme={null}
curl -X POST https://production.runalloy.com/connectors/slack/credentials \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "x-api-version: {API_VERSION}" \
  -H "Authorization: Bearer YOUR_API_KEY}" \
  -d '{
    "connectorId": "hubspot",
    "userId": "{USER_ID}",
    "authConfigId": "{AUTH_CONFIG_ID}",
    "authenticationType": "oauth2",
    "redirectUri": "https://your-app.com/oauth/callback"
  }'

```

## Managing Auth Configs

### Updating an Auth Config

You can update your auth config at any time from the dashboard:

1. Navigate to **Auth Configs** dashboard
2. Select the auth config you want to modify
3. Update the credentials, scopes, or other settings
4. Click **Update Auth Config**

<aside>
  ⚠️ **Warning**: Modifying an auth config may affect all integrations using it.
  Make sure no active connections depend on this auth config before modifying.
</aside>

### Deleting an Auth Config

To delete an auth config:

1. Navigate to **Auth Configs** dashboard
2. Click on the 3 dots next to the auth config you want to delete to display the action menu
3. Click on **Delete**
4. You will be prompted to confirm the deletion
5. Click **Delete Auth Config**

<aside>
  ⚠️ **Warning**: Deleting an auth config will affect all integrations using it.
  Make sure no active connections depend on this auth config before deleting.
</aside>

## Best Practices

* **Use separate auth configs for development and production** to avoid mixing test data with production data
* **Limit scopes to only what you need** to minimize security risks and improve user trust
* **Rotate credentials regularly** as part of your security practices
* **Monitor OAuth app quotas** to ensure you don't hit rate limits
* **Test the OAuth flow thoroughly** before rolling out to production users

## Troubleshooting

### Common Issues

**Redirect URI mismatch**

* Ensure the redirect URI in your OAuth app settings exactly matches the one in your auth config
* Check for trailing slashes or http vs https mismatches

**Invalid credentials**

* Verify your client ID and client secret are correct
* Ensure the OAuth app is enabled and not suspended

**Scope errors**

* Confirm the requested scopes are available for your OAuth app
* Some scopes may require additional verification or approval from the provider

## Need Help?

* [API Reference](/reference/connectivity-api/connectivity-api)
* [Support](mailto:support@runalloy.com)
