FlowiseAI/Flowise · error · Error
Pipedream Client ID and Client Secret are required in creden
Error message
Pipedream Client ID and Client Secret are required in credentials
What it means
Thrown when either clientId or clientSecret is missing from the Pipedream credential. These are the client-credentials pair used by fetchAccessToken to obtain a bearer token for the MCP server; without both, the OAuth exchange cannot be attempted.
Source
Thrown at packages/components/nodes/tools/MCP/Pipedream/PipedreamMCP.ts:307
const SAFE_USER_ID = /^[a-zA-Z0-9._@+-]{1,250}$/
if (!SAFE_USER_ID.test(externalUserId.trim())) {
throw new Error('User ID contains invalid characters. Allowed: letters, digits, . _ @ + -')
}
const credentialData = await getCredentialData(nodeData.credential ?? '', options)
const projectId = getCredentialParam('projectId', credentialData, nodeData)
const oauthScopes = getCredentialParam('oauthScopes', credentialData, nodeData) as string | 'connect:*'
if (!projectId) {
throw new Error('Pipedream Project ID is required in credentials')
}
const clientId = getCredentialParam('clientId', credentialData, nodeData)
const clientSecret = getCredentialParam('clientSecret', credentialData, nodeData)
if (!clientId || !clientSecret) {
throw new Error('Pipedream Client ID and Client Secret are required in credentials')
}
const accessToken = await this.fetchAccessToken(clientId, clientSecret, oauthScopes)
const environment = (nodeData.inputs?.environment as string) || 'development'
const toolMode = (nodeData.inputs?.toolMode as string) || 'tools-only'
const serverParams = {
url: 'https://remote.mcp.pipedream.net',
headers: {
Authorization: `Bearer ${accessToken}`,
'x-pd-project-id': projectId,
'x-pd-environment': environment,
'x-pd-external-user-id': externalUserId,
'x-pd-app-slug': appSlug,
'x-pd-tool-mode': toolMode
}
}
View on GitHub (pinned to abe4a8601a)
Solutions
- Open the Pipedream credential and ensure BOTH Client ID and Client Secret are filled.
- Re-copy both values from the Pipedream app's API credentials section.
- Check for trailing whitespace/hidden characters; re-paste cleanly.
- Save and retry.
Defensive patterns
Strategy: validation
Validate before calling
const clientId = getCredentialParam('clientId', credentialData, nodeData)
const clientSecret = getCredentialParam('clientSecret', credentialData, nodeData)
if (!clientId || !clientSecret) {
throw new Error('Pipedream Client ID and Client Secret are required')
} Type guard
function hasClientCreds(cred: unknown): cred is { clientId: string; clientSecret: string } {
return typeof cred === 'object' && cred !== null
&& typeof (cred as any).clientId === 'string' && (cred as any).clientId.length > 0
&& typeof (cred as any).clientSecret === 'string' && (cred as any).clientSecret.length > 0
} Try / catch
try { await pipedream.getTools(nodeData, options) }
catch (e) { if (e instanceof Error && e.message === 'Pipedream Client ID and Client Secret are required in credentials') { /* fill both */ } } Prevention
- Require both fields in the credential UI.
- Trim secrets on save; warn on pasted values with embedded whitespace.
When it happens
Trigger: Pipedream credential has projectId but one of clientId/clientSecret is blank; only one of the two was entered; secret field left empty.
Common situations: User entered only the Client ID; pasted Client Secret into the wrong field; secret cleared on re-edit; app credentials regenerated in Pipedream but not updated here.
Related errors
- Pipedream Project ID is required in credentials
- Cloudflare API Token is missing in credential.
- CometAPI API Key is missing or empty. Please provide a valid
- Pipedream app slug is required
- Pipedream user ID is required
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/70fe4c5540e37038.
Report an issue: GitHub.