langflow-ai/langflow · error · HTTPException

The {provider_label} integration is not configured for this

Error message

The {provider_label} integration is not configured for this operation.

What it means

500 from BaseDeploymentMapper.parse_api_request_slot when the PayloadSlot for a user-supplied API payload is None. Although this method handles inbound user data, a missing slot is still a server misconfiguration — the provider integration did not register the slot this operation needs. The message ('not configured for this operation') is generic to the client; the specific slot_name is logged server-side only.

Source

Thrown at src/backend/base/langflow/api/v1/mappers/deployments/base.py:972

        self,
        *,
        slot: PayloadSlot[Any] | None,
        slot_name: str,
        raw: Any,
        outer_payload: Any | None = None,
    ) -> Any:
        """Parse a user-supplied API payload, raising 422 on failure.

        Use for data sent **by** the user in the API request (inbound).
        Failures are input errors — the user can fix them.
        ``slot_name`` is logged for debugging but not exposed to the user.
        See ``parse_adapter_slot`` for adapter-boundary payloads.
        """
        provider_label = self.get_provider_label()
        if slot is None:
            logger.error("Payload slot '%s' is not configured for %s", slot_name, provider_label)
            msg = f"The {provider_label} integration is not configured for this operation."
            raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail=msg)
        try:
            parsed = slot.parse(raw)
        except AdapterPayloadMissingError as exc:
            raise HTTPException(
                status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
                detail=f"Missing provider_data for {provider_label}.",
            ) from exc
        except AdapterPayloadValidationError as exc:
            detail = exc.format_first_error()
            raise HTTPException(
                status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
                detail=f"Invalid provider_data for {provider_label}: {detail}",
            ) from exc
        if outer_payload is None:
            return parsed
        try:
            self.validate_with_outer_request(parsed, outer_payload)
        except OuterRequestValidationError as exc:

View on GitHub (pinned to 976ec789d2)

Solutions

  1. Check server log 'Payload slot ... is not configured' for the exact slot/operation
  2. Confirm the provider actually supports this operation; if not, use the supported path
  3. Server-side: register the missing PayloadSlot in the provider integration
  4. Update the provider/mapper packages to matching versions
Defensive patterns

Strategy: validation

Validate before calling

# confirm the provider supports this operation before calling it
ops = await provider_supported_operations(client, provider)
if operation not in ops:
    raise ValueError(f"{provider} does not support {operation}")

Try / catch

try:
    await client.patch(f"/api/v1/deployments/{id}", json=payload)
except httpx.HTTPStatusError as e:
    if e.response.status_code == 500 and "not configured for this operation" in e.response.json()["detail"]:
        raise UnsupportedOperation(provider, operation)
    raise

Prevention

When it happens

Trigger: POST/PATCH a deployment with provider_data for an operation whose provider slot was never configured — e.g. a provider supporting create but not update, with the mapper invoked on the update path.

Common situations: Custom provider plugin implementing only part of the CRUD surface; calling an operation the deployment type does not support for that provider; version mismatch between mapper and provider package.

Related errors


AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14). Data as JSON: /api/errors/d15897b8820485e2. Report an issue: GitHub.