{"record":{"id":"4cb3b75f9449407e","repo":"n8n-io/n8n","slug":"workspace-id-is-required-for-the-germany-frankfur","errorCode":null,"errorMessage":"Workspace ID is required for the Germany (Frankfurt) region","messagePattern":"Workspace ID is required for the Germany \\(Frankfurt\\) region","errorType":"exception","errorClass":"NodeOperationError","httpStatus":null,"severity":"error","filePath":"packages/@n8n/nodes-langchain/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts","lineNumber":239,"sourceCode":"\t\t\tregion: string;\n\t\t\tworkspaceId?: string;\n\t\t}>('alibabaCloudApi');\n\n\t\tconst modelName = this.getNodeParameter('model', itemIndex) as string;\n\n\t\tconst options = this.getNodeParameter('options', itemIndex, {}) as {\n\t\t\tfrequencyPenalty?: number;\n\t\t\tmaxTokens?: number;\n\t\t\tmaxRetries: number;\n\t\t\ttimeout: number;\n\t\t\tpresencePenalty?: number;\n\t\t\ttemperature?: number;\n\t\t\ttopP?: number;\n\t\t\tresponseFormat?: 'text' | 'json_object';\n\t\t};\n\n\t\tif (credentials.region === 'eu-central-1' && !credentials.workspaceId) {\n\t\t\tthrow new NodeOperationError(\n\t\t\t\tthis.getNode(),\n\t\t\t\t'Workspace ID is required for the Germany (Frankfurt) region',\n\t\t\t);\n\t\t}\n\n\t\tconst baseURL = credentials.url + COMPATIBLE_MODE_SUFFIX;\n\t\tconst timeout = options.timeout;\n\t\tconst configuration: ClientOptions = {\n\t\t\tbaseURL,\n\t\t\tfetchOptions: {\n\t\t\t\tdispatcher: getProxyAgent(baseURL, {\n\t\t\t\t\theadersTimeout: timeout,\n\t\t\t\t\tbodyTimeout: timeout,\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\tconst model = new ChatOpenAI({","sourceCodeStart":221,"sourceCodeEnd":257,"githubUrl":"https://github.com/n8n-io/n8n/blob/5ac6606e81f67bb9534255570cd4e86fd8101eee/packages/@n8n/nodes-langchain/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts#L221-L257","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","solutions":["Edit the Alibaba Cloud credential and fill in the Workspace ID for the Frankfurt region.","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.","Verify the workspace id in the Alibaba Cloud Bailian/DashScope console and paste it exactly."],"exampleFix":"// before\ncredentials = { region: 'eu-central-1', workspaceId: '' }\n// after\ncredentials = { region: 'eu-central-1', workspaceId: 'xxxxx' }","handlingStrategy":"validation","validationCode":"if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {\n  throw new Error('Fill in the Workspace ID for the Germany (Frankfurt) region, or switch regions.');\n}","typeGuard":"const isFrankfurtRegion = (r: string): boolean => r === 'eu-central-1';","tryCatchPattern":"// Pre-validate at credential-save time.","preventionTips":["When choosing Frankfurt, gather the workspace id from the Alibaba console first.","Make workspaceId conditionally required in the credential UI based on region.","Add a credential lint pass on import to enforce region/workspace pairing."],"tags":["alibaba","llm","region","credentials","configuration"],"backgroundTag":null,"analyzedSha":"5ac6606e81f67bb9534255570cd4e86fd8101eee","analyzedAt":"2026-08-12T05:26:35.080Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}