Significant-Gravitas/AutoGPT · error · HTTPException

Integration with provider '{provider_name.value}' is not con

Error message

Integration with provider '{provider_name.value}' is not configured.

What it means

After the provider has an OAuth handler, the router resolves client_id and client_secret from settings (secrets like {PROVIDER}_client_id / {PROVIDER}_client_secret, or custom env vars for SDK providers). If either is empty, HTTP 501 is returned with a detail object: message "Integration with provider '{name}' is not configured." plus a hint to set the client ID and secret in the deployment environment. The server error log also records 'Attempt to use unconfigured ... OAuth integration'.

Source

Thrown at autogpt_platform/backend/backend/api/features/integrations/router.py:1340

            else None
        )
        client_secret = (
            os.getenv(oauth_credentials.client_secret_env_var)
            if oauth_credentials.client_secret_env_var
            else None
        )
    else:
        # Original provider using settings.secrets
        client_id = getattr(settings.secrets, f"{provider_name.value}_client_id", None)
        client_secret = getattr(
            settings.secrets, f"{provider_name.value}_client_secret", None
        )

    if not (client_id and client_secret):
        logger.error(
            f"Attempt to use unconfigured {provider_name.value} OAuth integration"
        )
        raise HTTPException(
            status_code=status.HTTP_501_NOT_IMPLEMENTED,
            detail={
                "message": f"Integration with provider '{provider_name.value}' is not configured.",
                "hint": "Set client ID and secret in the application's deployment environment",
            },
        )

    handler_class = HANDLERS_BY_NAME[provider_key]
    frontend_base_url = settings.config.frontend_base_url

    if not frontend_base_url:
        raise HTTPException(
            status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
            detail="Frontend base URL is not configured",
        )

    return handler_class(
        client_id=client_id,

View on GitHub (pinned to 9c8bb5550f)

Solutions

  1. Set {PROVIDER}_client_id and {PROVIDER}_client_secret (uppercased provider name) in the backend deployment environment (.env for local, platform secrets in hosted setups) and restart the backend.
  2. For SDK providers with custom env vars, set the variable names declared in that provider's CREDENTIALS_BY_PROVIDER entry instead of the standard ones.
  3. Verify the running process actually sees the variables (they must reach the backend container, not just the shell).
  4. Check the response detail.hint — it explicitly points to missing client ID/secret.

Example fix

# before: .env
# GITHUB_client_id=   (empty)

# after: backend .env
GITHUB_client_id=Iv1.abc123
GITHUB_client_secret=****
Defensive patterns

Strategy: validation

Validate before calling

# Deployment smoke test: OAuth secrets present per provider
for provider in oauth_providers:
    cid = os.environ.get(f"{provider.upper()}_client_id")
    csec = os.environ.get(f"{provider.upper()}_client_secret")
    assert cid and csec, f"{provider} OAuth not configured — login will 501"

Prevention

When it happens

Trigger: GET /integrations/{provider}/login where the provider's OAuth app credentials were never set in .env / deployment secrets; env vars named incorrectly (case, prefix) or only set on the frontend; secrets set in one deployment environment but not the one being hit.

Common situations: Fresh self-hosted setup where only some provider secrets were filled in; CI/local runs without the full secret set; renaming the provider so the expected env var name no longer matches; forgetting to configure a newly added OAuth provider.

Related errors


AI-assisted analysis of Significant-Gravitas/AutoGPT@9c8bb5550f (2026-08-14). Data as JSON: /api/errors/cb00517757f5f110. Report an issue: GitHub.