n8n-io/n8n · error · NodeOperationError

Workspace ID is required for the Germany (Frankfurt) region

Error message

Workspace ID is required for the Germany (Frankfurt) region

What it means

Thrown by the Alibaba Cloud (Qwen / DashScope compatible mode) Chat node when credentials.region is 'eu-central-1' (Germany/Frankfurt) but credentials.workspaceId is missing. Alibaba's Frankfurt region enforces workspace-scoped endpoints, so without a workspace id the base URL cannot be assembled correctly.

Solutions

  1. Edit the Alibaba Cloud credential and fill in the Workspace ID for the Frankfurt region.
  2. If you don't have a workspace, switch the region to one that doesn't require it (international/cn-beijing) or create a workspace in the Alibaba console first.
  3. Verify the workspace id in the Alibaba Cloud Bailian/DashScope console and paste it exactly.

Example fix

// before
credentials = { region: 'eu-central-1', workspaceId: '' }
// after
credentials = { region: 'eu-central-1', workspaceId: 'xxxxx' }
Defensive patterns

Strategy: validation

Validate before calling

if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {
  throw new Error('Fill in the Workspace ID for the Germany (Frankfurt) region, or switch regions.');
}

Type guard

const isFrankfurtRegion = (r: string): boolean => r === 'eu-central-1';

Try / catch

// Pre-validate at credential-save time.

Prevention

When it happens

Trigger: User selects the eu-central-1 region in the Alibaba Cloud credential but leaves workspaceId blank. The node pre-flight check fails before the client is constructed.

Common situations: Creating a new credential and choosing Frankfurt; switching from cn-beijing/international to eu-central-1 without re-entering workspace; credential imported from a template that omitted workspaceId.

Related errors


AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12). Data as JSON: /api/errors/4cb3b75f9449407e. Report an issue: GitHub.

Appendix: source

Thrown at packages/@n8n/nodes-langchain/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts:239

			region: string;
			workspaceId?: string;
		}>('alibabaCloudApi');

		const modelName = this.getNodeParameter('model', itemIndex) as string;

		const options = this.getNodeParameter('options', itemIndex, {}) as {
			frequencyPenalty?: number;
			maxTokens?: number;
			maxRetries: number;
			timeout: number;
			presencePenalty?: number;
			temperature?: number;
			topP?: number;
			responseFormat?: 'text' | 'json_object';
		};

		if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {
			throw new NodeOperationError(
				this.getNode(),
				'Workspace ID is required for the Germany (Frankfurt) region',
			);
		}

		const baseURL = credentials.url + COMPATIBLE_MODE_SUFFIX;
		const timeout = options.timeout;
		const configuration: ClientOptions = {
			baseURL,
			fetchOptions: {
				dispatcher: getProxyAgent(baseURL, {
					headersTimeout: timeout,
					bodyTimeout: timeout,
				}),
			},
		};

		const model = new ChatOpenAI({

View on GitHub (pinned to 5ac6606e81)