langflow-ai/langflow · error · ValueError
provider_data.display_name is required for new agent creatio
Error message
provider_data.display_name is required for new agent creation.
What it means
Model validator on WatsonxApiDeploymentCreatePayload: when creating a NEW wxO agent (no existing_agent_id), provider_data.display_name is mandatory. Its absence raises ValueError 'provider_data.display_name is required for new agent creation.' and FastAPI returns 422.
Source
Thrown at src/backend/base/langflow/api/v1/mappers/deployments/watsonx_orchestrate/payloads.py:383
),
)
@model_validator(mode="after")
def validate_create_operation_requirements(self) -> WatsonxApiDeploymentCreatePayload:
if "existing_agent_id" in self.model_fields_set:
if self.existing_agent_id is None:
msg = "provider_data.existing_agent_id cannot be set to null."
raise ValueError(msg)
if len(self.model_fields_set) > 1:
msg = (
"existing_agent_id is only for tracking existing wxO agents in Langflow and cannot include "
"fields that update the wxO agent. Update the deployment after it is tracked."
)
raise ValueError(msg)
return self
if self.display_name is None:
msg = "provider_data.display_name is required for new agent creation."
raise ValueError(msg)
if self.llm is None:
msg = "provider_data.llm is required for new agent creation."
raise ValueError(msg)
# TODO: Allow wxO agent creation without initial flows/tools once the adapter create path supports it.
if not (self.add_flows or self.upsert_tools):
msg = "provider_data must include at least one add_flows or upsert_tools item for new agent creation."
raise ValueError(msg)
_validate_api_unique_connection_app_ids(connections=self.connections)
raw_app_ids = {raw.app_id for raw in self.connections}
referenced_app_ids = _collect_api_referenced_app_ids(self.add_flows, attr_name="app_ids")
referenced_app_ids.update(_collect_api_referenced_app_ids(self.upsert_tools, attr_name="add_app_ids"))
_validate_api_unused_raw_app_ids(raw_app_ids=raw_app_ids, referenced_app_ids=referenced_app_ids)
return self
def validate_with_outer_fields(self, outer_payload: DeploymentCreateRequest) -> None:
if self.existing_agent_id is None or "description" not in outer_payload.model_fields_set:
return
msg = "When existing_agent_id is provided, Langflow uses the description already set for the agent in wxO."View on GitHub (pinned to 976ec789d2)
Solutions
- Include provider_data.display_name (non-empty string) in the create request.
- Default it from the outer request's name field if your client has only one name input.
- Check your UI form wiring when this appears in browser flows.
Example fix
// before
{"name": "Support bot", "provider_data": {"llm": "mistral-large", "add_flows": [...]}}
// after
{"name": "Support bot", "provider_data": {"display_name": "Support bot", "llm": "mistral-large", "add_flows": [...]}} Defensive patterns
Strategy: validation
Validate before calling
if provider_data.get("existing_agent_id") is None:
assert provider_data.get("display_name", "").strip(), "display_name required for new agent creation" Type guard
const hasCreateDisplayName = (pd: Record<string, unknown>): boolean => pd.existing_agent_id !== undefined || (typeof pd.display_name === "string" && pd.display_name.trim().length > 0);
Prevention
- Default provider_data.display_name from the outer deployment name in your client.
- Require the display name field in create-agent forms.
- Distinguish outer name from provider display_name deliberately, not accidentally.
When it happens
Trigger: POST /deployments with provider_data lacking display_name (and not using existing_agent_id).
Common situations: Assuming the outer deployment name propagates into provider_data; minimal test payloads; UI bug dropping the field when the agent-display-name input is blank.
Related errors
- provider_data.llm is required for new agent creation.
- provider_data must include at least one add_flows or upsert_
- String must not be empty.
- credentials contains duplicate key values: {sorted(duplicate
- {label} must not reference connections app_ids: {invalid_raw
AI-assisted analysis of langflow-ai/langflow@976ec789d2 (2026-08-14).
Data as JSON: /api/errors/316cb527ef4df414.
Report an issue: GitHub.