FlowiseAI/Flowise · error · Error
Pipedream app slug is required
Error message
Pipedream app slug is required
What it means
Thrown by PipedreamMCP.getTools when nodeData.inputs.appSlug is empty. The Pipedream MCP server selects tools by app slug, so a missing slug makes the request meaningless and is rejected before any network call.
Source
Thrown at packages/components/nodes/tools/MCP/Pipedream/PipedreamMCP.ts:261
const workspaceId = options?.searchOptions?.workspaceId?._value || options?.workspaceId
if (!workspaceId) return value
const appDataSource = options.appDataSource as DataSource
const databaseEntities = options.databaseEntities as IDatabaseEntity
const optionsWithWorkspaceId = options.workspaceId ? options : { ...options, workspaceId }
const variables = await getVars(appDataSource, databaseEntities, nodeData, optionsWithWorkspaceId)
const vars = prepareSandboxVars(variables) as Record<string, string>
return value.replace(VAR_PLACEHOLDER_RE, (match, varName) => {
return vars[varName] != null ? String(vars[varName]) : match
})
}
async getTools(nodeData: INodeData, options: ICommonObject, isLoadMethod = false): Promise<Tool[]> {
const appSlug = nodeData.inputs?.appSlug as string
if (!appSlug) {
throw new Error('Pipedream app slug is required')
}
const SLUG_PATTERN = /^[a-z0-9](?:[a-z0-9_-]{0,98}[a-z0-9])?(?:,\s*[a-z0-9](?:[a-z0-9_-]{0,98}[a-z0-9])?)*$/
if (!SLUG_PATTERN.test(appSlug)) {
throw new Error('Invalid app slug format. Must be lowercase letters, digits, hyphens and underscores only.')
}
let externalUserId = nodeData.inputs?.externalUserId as string
externalUserId = await this.resolveVarsInString(externalUserId, nodeData, options)
if (externalUserId.includes('{{')) {
if (!isLoadMethod) {
throw new Error(
'Variables in User ID are not resolved. ' +
'{{$vars.*}} requires a matching workspace variable. ' +
'{{$flow.*}} variables (e.g. sessionId) are only available at runtime, not when refreshing actions.'
)
}View on GitHub (pinned to abe4a8601a)
Solutions
- Open the Pipedream_MCP node and enter the app slug (e.g. 'slack', 'github', 'google_sheets') in the appSlug field.
- Confirm the slug matches the lowercase identifier shown on mcp.pipedream.com / Pipedream's app directory.
- If using a variable, ensure it resolves to a non-empty string before getTools runs.
Defensive patterns
Strategy: validation
Validate before calling
const appSlug = nodeData.inputs?.appSlug as string
if (!appSlug || !appSlug.trim()) {
throw new Error('Pipedream app slug is required') // block before getTools body
} Type guard
function hasAppSlug(inputs: unknown): inputs is { appSlug: string } {
return typeof inputs === 'object' && inputs !== null
&& typeof (inputs as any).appSlug === 'string'
&& (inputs as any).appSlug.trim().length > 0
} Try / catch
try {
await pipedream.getTools(nodeData, options)
} catch (e) {
if (e instanceof Error && e.message === 'Pipedream app slug is required') {
// prompt for the appSlug input
}
} Prevention
- Mark appSlug as a required input in the node schema.
- Provide an autocomplete of known slugs from Pipedream's directory.
When it happens
Trigger: The Pipedream_MCP node has no 'appSlug' input set (blank field, or the field was never filled). Triggered during tool-load (refresh actions) or at runtime when getTools is called.
Common situations: User adds the node but leaves appSlug empty; a flow/template was duplicated without copying the appSlug; the UI field was cleared; variable substitution produced an empty value.
Related errors
- No tools available for the Pipedream app slug "${appSlug}".
- Pipedream user ID is required
- Pipedream Project ID is required in credentials
- Pipedream Client ID and Client Secret are required in creden
- Invalid server configuration
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/a8c351d23f41c00f.
Report an issue: GitHub.