FlowiseAI/Flowise · error · Error
Invalid flow ID: must be a valid UUID
Error message
Invalid flow ID: must be a valid UUID
What it means
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.
Source
Thrown at packages/components/nodes/sequentialagents/ExecuteFlow/ExecuteFlow.ts:175
const appDataSource = options.appDataSource as DataSource
const databaseEntities = options.databaseEntities as IDatabaseEntity
const sequentialNodes = nodeData.inputs?.sequentialNode as ISeqAgentNode[]
const seqExecuteFlowInput = nodeData.inputs?.seqExecuteFlowInput as string
const overrideConfig =
typeof nodeData.inputs?.overrideConfig === 'string' &&
nodeData.inputs.overrideConfig.startsWith('{') &&
nodeData.inputs.overrideConfig.endsWith('}')
? JSON.parse(nodeData.inputs.overrideConfig)
: nodeData.inputs?.overrideConfig
if (!sequentialNodes || !sequentialNodes.length) throw new Error('Execute Flow must have a predecessor!')
const baseURL = (nodeData.inputs?.baseURL as string) || (options.baseURL as string)
const returnValueAs = nodeData.inputs?.returnValueAs as string
// Validate selectedFlowId is a valid UUID
if (!selectedFlowId || !isValidUUID(selectedFlowId)) {
throw new Error('Invalid flow ID: must be a valid UUID')
}
// Validate baseURL is a valid URL
if (!baseURL || !isValidURL(baseURL)) {
throw new Error('Invalid base URL: must be a valid URL')
}
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const chatflowApiKey = getCredentialParam('chatflowApiKey', credentialData, nodeData)
if (selectedFlowId === options.chatflowid) throw new Error('Cannot call the same agentflow!')
let headers = {}
if (chatflowApiKey) headers = { Authorization: `Bearer ${chatflowApiKey}` }
const chatflowId = options.chatflowid
const sessionId = options.sessionId
const chatId = options.chatIdView on GitHub (pinned to abe4a8601a)
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.
Defensive patterns
Strategy: validation
Validate before calling
import { isValidUUID } from '../../../src/validator'
const id = nodeData.inputs?.selectedFlow
if (!id || !isValidUUID(id)) throw new Error('selectedFlow must be a UUID v4 chatflow id') Type guard
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) Prevention
- 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.
When it happens
Trigger: selectedFlowId is undefined, empty, a display name string instead of an id, or a UUID that is not v4 (v1 or a malformed string).
Common situations: 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.
Related errors
- Invalid JSON in executeFlowOverrideConfig: ${parseError.mess
- Invalid base URL: must be a valid URL
- Cannot call the same agentflow!
- Execute Flow node name is required!
- Execute Flow must have a predecessor!
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/51c9503dfd848a2f.
Report an issue: GitHub.