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

  1. Open the Pipedream credential and ensure BOTH Client ID and Client Secret are filled.
  2. Re-copy both values from the Pipedream app's API credentials section.
  3. Check for trailing whitespace/hidden characters; re-paste cleanly.
  4. 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

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


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/70fe4c5540e37038. Report an issue: GitHub.