Background
I run an n8n instance via Docker in a closed network enclave with a small team of developers.
We have no access to the outside internet whatsoever but find the base node blocks and workflow system extremely useful for our day to day internal network wrangling activities. My team makes heavy use of the Execute Command/Workflow, Function, Request, and other general helper nodes, and we have developed a few of our own nodes to com with our internal/private API’s.
Problem
Currently, we are drowning in all the extra API nodes. The available options are overwhelming, and we stick to the filter most of the time.
I setup the config.json file to exclude some of the extra nodes we don’t use, but this is incredibly tedious to update every time I want to merge in the latest n8n changes.
I want to keep our version up to date, get all of the latest and greatest code, but every few months more and more changes are just extra nodes.
Proposed Solution
As a user/site admin, I would like to curate a list of the 20 or so helpful nodes we actually use.
This could be achieved with an ‘include’ (whitelist) option for nodes in the config.json file.
My current config.json looks like this:
// Configuration | Docs
// n8n/index.ts at master · n8n-io/n8n · GitHub{
“nodes”: {
“exclude”: “[“n8n-nodes-base.activeCampaign”,“n8n-nodes-base.activeCampaignTrigger”,“n8n-nodes-base.affinityTrigger”,“n8n-nodes-base.agileCrm”,“n8n-nodes-base.airtable”,“n8n-nodes-base.acuityScheduling”,“n8n-nodes-base.acuitySchedulingTrigger”,“n8n-nodes-base.amqp”,“n8n-nodes-base.amqpTrigger”,“n8n-nodes-base.asana”,“n8n-nodes-base.asanaTrigger”,“n8n-nodes-base.affinity”,“n8n-nodes-base.automizy”,“n8n-nodes-base.aws”,“n8n-nodes-base.awsLambda”,“n8n-nodes-base.awsRekognition”,“n8n-nodes-base.awsS3”,“n8n-nodes-base.awsSes”,“n8n-nodes-base.awsSns”,“n8n-nodes-base.awsSnsTrigger”,“n8n-nodes-base.bannerbear”,“n8n-nodes-base.bitbucket”,“n8n-nodes-base.bitbucketTrigger”,“n8n-nodes-base.bitly”,“n8n-nodes-base.box”,“n8n-nodes-base.boxTrigger”,“n8n-nodes-base.calendly”,“n8n-nodes-base.calendlyTrigger”,“n8n-nodes-base.chargebee”,“n8n-nodes-base.chargebeeTrigger”,“n8n-nodes-base.circleCi”,“n8n-nodes-base.clearbit”,“n8n-nodes-base.clickUp”,“n8n-nodes-base.clickUpTrigger”,“n8n-nodes-base.clockify”,“n8n-nodes-base.clockifyTrigger”,“n8n-nodes-base.cockpit”,“n8n-nodes-base.coda”,“n8n-nodes-base.coinGecko”,“n8n-nodes-base.contentful”,“n8n-nodes-base.convertKit”,“n8n-nodes-base.convertKitTrigger”,“n8n-nodes-base.copper”,“n8n-nodes-base.copperTrigger”,“n8n-nodes-base.crateDb”,“n8n-nodes-base.crypto”,“n8n-nodes-base.customerIo”,“n8n-nodes-base.customerIoTrigger”,“n8n-nodes-base.discord”,“n8n-nodes-base.disqus”,“n8n-nodes-base.drift”,“n8n-nodes-base.dropbox”,“n8n-nodes-base.editImage”,“n8n-nodes-base.emailReadImap”,“n8n-nodes-base.emailSend”,“n8n-nodes-base.errorTrigger”,“n8n-nodes-base.eventbrite”,“n8n-nodes-base.eventbriteTrigger”,“n8n-nodes-base.facebook”,“n8n-nodes-base.facebookGraphApi”,“n8n-nodes-base.filemaker”,“n8n-nodes-base.freshdesk”,“n8n-nodes-base.flow”,“n8n-nodes-base.flowTrigger”,“n8n-nodes-base.getResponse”,“n8n-nodes-base.github”,“n8n-nodes-base.githubTrigger”,“n8n-nodes-base.gitlab”,“n8n-nodes-base.gitlabTrigger”,“n8n-nodes-base.gmail”,“n8n-nodes-base.google”,“n8n-nodes-base.googleBooks”,“n8n-nodes-base.googleCalendar”,“n8n-nodes-base.googleCloudNaturalLanguage”,“n8n-nodes-base.googleContacts”,“n8n-nodes-base.googleDrive”,“n8n-nodes-base.googleFirebaseCloudFirestore”,“n8n-nodes-base.googleFirebaseRealtimeDatabase”,“n8n-nodes-base.googleSheets”,“n8n-nodes-base.googleTasks”,“n8n-nodes-base.googleTranslate”,“n8n-nodes-base.gotify”,“n8n-nodes-base.graphql”,“n8n-nodes-base.gSuiteAdmin”,“n8n-nodes-base.gumroad”,“n8n-nodes-base.gumroadTrigger”,“n8n-nodes-base.hackerNews”,“n8n-nodes-base.harvest”,“n8n-nodes-base.helpScout”,“n8n-nodes-base.helpScoutTrigger”,“n8n-nodes-base.htmlExtract”,“n8n-nodes-base.hubspot”,“n8n-nodes-base.hubspotTrigger”,“n8n-nodes-base.humanticAi”,“n8n-nodes-base.hunter”,“n8n-nodes-base.intercom”,“n8n-nodes-base.invoiceNinja”,“n8n-nodes-base.invoiceNinjaTrigger”,“n8n-nodes-base.jira”,“n8n-nodes-base.jiraTrigger”,“n8n-nodes-base.jotForm”,“n8n-nodes-base.jotFormTrigger”,“n8n-nodes-base.kafka”,“n8n-nodes-base.keap”,“n8n-nodes-base.keapTrigger”,“n8n-nodes-base.line”,“n8n-nodes-base.lingvaNex”,“n8n-nodes-base.linkedIn”,“n8n-nodes-base.linkFish”,“n8n-nodes-base.mailchimp”,“n8n-nodes-base.mailchimpTrigger”,“n8n-nodes-base.mailerLite”,“n8n-nodes-base.mailgun”,“n8n-nodes-base.mailjet”,“n8n-nodes-base.mailjetTrigger”,“n8n-nodes-base.mandrill”,“n8n-nodes-base.matrix”,“n8n-nodes-base.mattermost”,“n8n-nodes-base.mautic”,“n8n-nodes-base.mauticTrigger”,“n8n-nodes-base.medium”,“n8n-nodes-base.messageBird”,“n8n-nodes-base.microsoft”,“n8n-nodes-base.microsoftExcel”,“n8n-nodes-base.microsoftOneDrive”,“n8n-nodes-base.microsoftSql”,“n8n-nodes-base.microsoftTeams”,“n8n-nodes-base.mindee”,“n8n-nodes-base.mocean”,“n8n-nodes-base.mondayCom”,“n8n-nodes-base.mongoDb”,“n8n-nodes-base.mQTT”,“n8n-nodes-base.mqttTrigger”,“n8n-nodes-base.msg91”,“n8n-nodes-base.mySql”,“n8n-nodes-base.nextCloud”,“n8n-nodes-base.openThesaurus”,“n8n-nodes-base.openWeatherMap”,“n8n-nodes-base.orbit”,“n8n-nodes-base.paddle”,“n8n-nodes-base.pagerDuty”,“n8n-nodes-base.payPal”,“n8n-nodes-base.payPalTrigger”,“n8n-nodes-base.pipedrive”,“n8n-nodes-base.pipedriveTrigger”,“n8n-nodes-base.postgres”,“n8n-nodes-base.postmark”,“n8n-nodes-base.postmarkTrigger”,“n8n-nodes-base.profitWell”,“n8n-nodes-base.pushBullet”,“n8n-nodes-base.pushover”,“n8n-nodes-base.philipsHue”,“n8n-nodes-base.questDb”,“n8n-nodes-base.quickbase”,“n8n-nodes-base.redis”,“n8n-nodes-base.rocketchat”,“n8n-nodes-base.rssFeedRead”,“n8n-nodes-base.rundeck”,“n8n-nodes-base.s3”,“n8n-nodes-base.salesforce”,“n8n-nodes-base.sendy”,“n8n-nodes-base.sentryIo”,“n8n-nodes-base.shopify”,“n8n-nodes-base.shopifyTrigger”,“n8n-nodes-base.signl4”,“n8n-nodes-base.slack”,“n8n-nodes-base.sms77”,“n8n-nodes-base.spontit”,“n8n-nodes-base.spotify”,“n8n-nodes-base.sseTrigger”,“n8n-nodes-base.storyblok”,“n8n-nodes-base.strapi”,“n8n-nodes-base.strava”,“n8n-nodes-base.stravaTrigger”,“n8n-nodes-base.stripe”,“n8n-nodes-base.stripeTrigger”,“n8n-nodes-base.switch”,“n8n-nodes-base.salesmate”,“n8n-nodes-base.segment”,“n8n-nodes-base.surveyMonkey”,“n8n-nodes-base.surveyMonkeyTrigger”,“n8n-nodes-base.taiga”,“n8n-nodes-base.taigaTrigger”,“n8n-nodes-base.telegram”,“n8n-nodes-base.telegramTrigger”,“n8n-nodes-base.todoist”,“n8n-nodes-base.toggl”,“n8n-nodes-base.togglTrigger”,“n8n-nodes-base.travisCi”,“n8n-nodes-base.trello”,“n8n-nodes-base.trelloTrigger”,“n8n-nodes-base.twilio”,“n8n-nodes-base.twitter”,“n8n-nodes-base.typeform”,“n8n-nodes-base.typeformTrigger”,“n8n-nodes-base.twake”,“n8n-nodes-base.unleashedSoftware”,“n8n-nodes-base.uplead”,“n8n-nodes-base.vero”,“n8n-nodes-base.vonage”,“n8n-nodes-base.webflow”,“n8n-nodes-base.wekan”,“n8n-nodes-base.webflowTrigger”,“n8n-nodes-base.wordpress”,“n8n-nodes-base.wooCommerce”,“n8n-nodes-base.wooCommerceTrigger”,“n8n-nodes-base.wufoo”,“n8n-nodes-base.wufooTrigger”,“n8n-nodes-base.xero”,“n8n-nodes-base.youTube”,“n8n-nodes-base.zendesk”,“n8n-nodes-base.zendeskTrigger”,“n8n-nodes-base.zoho”,“n8n-nodes-base.zohoCrm”,“n8n-nodes-base.zoom”,“n8n-nodes-base.zulip”]”
}
}