{"record":{"id":"51c9503dfd848a2f","repo":"FlowiseAI/Flowise","slug":"invalid-flow-id-must-be-a-valid-uuid","errorCode":null,"errorMessage":"Invalid flow ID: must be a valid UUID","messagePattern":"Invalid flow ID: must be a valid UUID","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/components/nodes/sequentialagents/ExecuteFlow/ExecuteFlow.ts","lineNumber":175,"sourceCode":"        const appDataSource = options.appDataSource as DataSource\n        const databaseEntities = options.databaseEntities as IDatabaseEntity\n        const sequentialNodes = nodeData.inputs?.sequentialNode as ISeqAgentNode[]\n        const seqExecuteFlowInput = nodeData.inputs?.seqExecuteFlowInput as string\n        const overrideConfig =\n            typeof nodeData.inputs?.overrideConfig === 'string' &&\n            nodeData.inputs.overrideConfig.startsWith('{') &&\n            nodeData.inputs.overrideConfig.endsWith('}')\n                ? JSON.parse(nodeData.inputs.overrideConfig)\n                : nodeData.inputs?.overrideConfig\n\n        if (!sequentialNodes || !sequentialNodes.length) throw new Error('Execute Flow must have a predecessor!')\n\n        const baseURL = (nodeData.inputs?.baseURL as string) || (options.baseURL as string)\n        const returnValueAs = nodeData.inputs?.returnValueAs as string\n\n        // Validate selectedFlowId is a valid UUID\n        if (!selectedFlowId || !isValidUUID(selectedFlowId)) {\n            throw new Error('Invalid flow ID: must be a valid UUID')\n        }\n\n        // Validate baseURL is a valid URL\n        if (!baseURL || !isValidURL(baseURL)) {\n            throw new Error('Invalid base URL: must be a valid URL')\n        }\n\n        const credentialData = await getCredentialData(nodeData.credential ?? '', options)\n        const chatflowApiKey = getCredentialParam('chatflowApiKey', credentialData, nodeData)\n\n        if (selectedFlowId === options.chatflowid) throw new Error('Cannot call the same agentflow!')\n\n        let headers = {}\n        if (chatflowApiKey) headers = { Authorization: `Bearer ${chatflowApiKey}` }\n\n        const chatflowId = options.chatflowid\n        const sessionId = options.sessionId\n        const chatId = options.chatId","sourceCodeStart":157,"sourceCodeEnd":193,"githubUrl":"https://github.com/FlowiseAI/Flowise/blob/abe4a8601a058047b350c260676826e21dd14101/packages/components/nodes/sequentialagents/ExecuteFlow/ExecuteFlow.ts#L157-L193","documentation":"The selected target chatflow id must pass isValidUUID, which matches UUID v4 specifically (requires version digit '4' at position 14 and variant [89ab] at position 19). A missing value, a human-readable chatflow name, or a non-v4 UUID all fail. Validated at init before any HTTP call is made.","triggerScenarios":"selectedFlowId is undefined, empty, a display name string instead of an id, or a UUID that is not v4 (v1 or a malformed string).","commonSituations":"Selecting a flow by name in a custom integration instead of by id; the target chatflow has not been saved yet so it has no id; referencing an older flow whose id predates v4 generation; typo when pasting an id.","solutions":["Pick the target chatflow from the Execute Flow dropdown so its v4 id is set automatically.","Save the target chatflow first so it is assigned a v4 id.","When integrating programmatically, pass the exact v4 chatflow id from the Flowise API."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"import { isValidUUID } from '../../../src/validator'\nconst id = nodeData.inputs?.selectedFlow\nif (!id || !isValidUUID(id)) throw new Error('selectedFlow must be a UUID v4 chatflow id')","typeGuard":"const isV4 = (s: string): boolean => /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(s)","tryCatchPattern":null,"preventionTips":["Always select the target via the dropdown so its v4 id is set; never type a name.","Save the target chatflow first so it has an id."],"tags":["execute-flow","uuid","validation","init"],"backgroundTag":null,"analyzedSha":"abe4a8601a058047b350c260676826e21dd14101","analyzedAt":"2026-08-12T16:04:40.823Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}