FlowiseAI/Flowise · error · Error
App name is required. Please select an app.
Error message
App name is required. Please select an app.
What it means
Thrown in Composio_Tools.init when appName is falsy. The tool calls toolset.client.apps.get({ appKey: appName.toLowerCase() }) right after, so appName is both the selection and the lookup key — without it the Composio client cannot resolve which integration to load tools for.
Source
Thrown at packages/components/nodes/tools/Composio/Composio.ts:257
}
throw new Error('API Key Required')
}
const _actions = nodeData.inputs?.actions
let actions = []
if (_actions) {
try {
actions = typeof _actions === 'string' ? JSON.parse(_actions) : _actions
} catch (error) {
console.error('Error parsing actions:', error)
}
}
const toolset = new LangchainToolSet({ apiKey: composioApiKey })
const appName = nodeData.inputs?.appName as string
if (!appName) {
throw new Error('App name is required. Please select an app.')
}
const appInfo = await toolset.client.apps.get({ appKey: appName.toLowerCase() })
const requiresAuth = (appInfo as any)?.no_auth !== true
if (!requiresAuth) {
const tools = await toolset.getTools({ actions })
return tools
}
const selectedConnectionId = nodeData.inputs?.connectedAccountId as string
if (!selectedConnectionId) {
throw new Error(`Please select a connected account for ${appName}`)
}
const activeConnection = await toolset.client.connectedAccounts.get({ connectedAccountId: selectedConnectionId })
View on GitHub (pinned to abe4a8601a)
Solutions
- Ensure a valid Composio API key is configured first so the app dropdown populates.
- Select an explicit app (e.g. 'github', 'slack') from the dropdown.
- If setting appName programmatically, pass the lower-cased appKey exactly as Composio expects.
Example fix
// before
const appName = nodeData.inputs?.appName as string
if (!appName) {
throw new Error('App name is required. Please select an app.')
}
// after
const appName = (nodeData.inputs?.appName as string)?.trim()
if (!appName) {
throw new Error('App name is required. Please select an app from the dropdown (it populates after a valid Composio API key is set).')
} Defensive patterns
Strategy: validation
Validate before calling
function assertComposioApp(appName: string | undefined): asserts appName is string {
if (!appName || !appName.trim()) {
throw new Error('App name is required. Select an app from the dropdown (it populates after a valid Composio API key is set).')
}
} Type guard
function isComposioAppKey(v: unknown): v is string {
return typeof v === 'string' && /^[a-z0-9-_]+$/i.test(v) && v.length > 0
} Prevention
- Configure the Composio API key first so the app dropdown populates.
- Select the app explicitly rather than relying on a default.
- Pass the lower-cased appKey exactly as Composio expects when setting programmatically.
When it happens
Trigger: The user did not pick an app from the dropdown (which only populates after a valid API key is supplied, see error 358); appName was cleared when the API key was missing (the init resets appName to undefined); flow JSON edited to remove appName.
Common situations: Adding a Composio node without first configuring the API key, so the app dropdown never loaded; switching workspaces where the previously selected app is unavailable.
Related errors
- Valid DynamoDB Table selection is required
- Model is required
- Invalid Flow State
- Tool not selected
- Firecrawl: Query is required for search mode
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/4853107325008fd5.
Report an issue: GitHub.