n8n Twitter Dynamic Auth
raw JSON → 0.1.0 verified Sat Apr 25 auth: no javascript
Custom n8n node that adds dynamic Twitter authentication credentials, allowing requests on behalf of multiple users. Version 0.1.0, initial release. Unlike the built-in Twitter node which uses a single static account, this node exposes Consumer Key, Consumer Secret, Access Token, and Access Secret fields that can be dynamically set per workflow execution. Useful for multi-tenant Twitter integrations where each user provides their own tokens.
Common errors
error Cannot find module 'n8n-nodes-twitter-dynamic-auth' ↓
cause Package not installed or not linked correctly
fix
Run 'npm install n8n-nodes-twitter-dynamic-auth' or 'npm link' in n8n custom nodes directory
error Error: Twitter API returned 401 Unauthorized ↓
cause Invalid or expired token/secret combination
fix
Verify consumer key, consumer secret, access token, and access secret are correct and not expired
Warnings
gotcha Requires n8n version that supports custom nodes (>=0.100.0) ↓
fix Use n8n version 0.100.0 or later
gotcha Credential fields are exposed in plaintext in workflow definitions – avoid hardcoding secrets ↓
fix Use environment variables or n8n credential store
Install
npm install n8n-nodes-twitter-dynamic-auth yarn add n8n-nodes-twitter-dynamic-auth pnpm add n8n-nodes-twitter-dynamic-auth Imports
- TwitterDynamicAuth wrong
import TwitterDynamicAuth from 'n8n-nodes-twitter-dynamic-auth'correctimport { TwitterDynamicAuth } from 'n8n-nodes-twitter-dynamic-auth' - TwitterDynamicAuthNode wrong
const { TwitterDynamicAuthNode } = require('n8n-nodes-twitter-dynamic-auth')correctimport { TwitterDynamicAuthNode } from 'n8n-nodes-twitter-dynamic-auth' - credentialType
import { credentialType } from 'n8n-nodes-twitter-dynamic-auth'
Quickstart
import { TwitterDynamicAuth, TwitterDynamicAuthNode } from 'n8n-nodes-twitter-dynamic-auth';
// Register in n8n custom nodes folder
// The node provides 4 credential fields
const credentials = {
consumerKey: process.env.TWITTER_CONSUMER_KEY || '',
consumerSecret: process.env.TWITTER_CONSUMER_SECRET || '',
accessToken: process.env.TWITTER_ACCESS_TOKEN || '',
accessSecret: process.env.TWITTER_ACCESS_SECRET || '',
};
// Use with n8n workflow
const node = new TwitterDynamicAuthNode();
node.execute({ credentials });