{"id":27978,"library":"n8n-nodes-routeros-middleware","title":"n8n RouterOS Middleware Node","description":"n8n community node for automating MikroTik RouterOS operations via a middleware service. Version 1.1.6 provides five key operations: Change PPP Profile, Enable/Disable Users, Force Reconnect, Get Active Sessions, and Test Connection. Designed for ISP billing automation workflows (e.g., isolating overdue customers, restoring service on payment). Requires the separate MikroTik Billing Automation Middleware service (Go-based) and an API key. Ships TypeScript definitions. Maintained on GitHub, MIT licensed.","status":"active","version":"1.1.6","language":"javascript","source_language":"en","source_url":"https://github.com/robioki/golang-routeros-middleware","tags":["javascript","n8n","n8n-node","n8n-community-node-package","mikrotik","routeros","isp","billing","automation","typescript"],"install":[{"cmd":"npm install n8n-nodes-routeros-middleware","lang":"bash","label":"npm"},{"cmd":"yarn add n8n-nodes-routeros-middleware","lang":"bash","label":"yarn"},{"cmd":"pnpm add n8n-nodes-routeros-middleware","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"n8n core required for node registration and execution","package":"n8n-workflow","optional":false}],"imports":[{"note":"ESM import; the package exports a single named class for use in n8n custom node environments","symbol":"RouterOsMiddleware","correct":"import { RouterOsMiddleware } from 'n8n-nodes-routeros-middleware'"}],"quickstart":{"code":"import { RouterOsMiddleware } from 'n8n-nodes-routeros-middleware';\n\n// The node is used within n8n workflows via UI or code.\n// Below is a programmatic example for testing (not typical usage).\nconst node = new RouterOsMiddleware();\n\nconst result = await node.execute({\n  operation: 'changeProfile',\n  routerName: 'main-router',\n  username: 'customer123',\n  newProfile: 'HOME-20MB',\n  forceReconnect: true,\n  credentials: {\n    baseUrl: process.env.MIDDLEWARE_URL ?? 'http://localhost:3000',\n    apiKey: process.env.API_KEY ?? ''\n  }\n});\n\nconsole.log(result);","lang":"typescript","description":"Demonstrates programmatic usage of the RouterOsMiddleware node with credential config and a change profile operation."},"warnings":[{"fix":"Deploy and configure the middleware service per its documentation before using this node.","message":"The node requires a separate middleware service (golang-routeros-middleware) to be running. It does not communicate directly with RouterOS.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Recreate credentials in n8n after upgrading. The new schema requires 'baseUrl' and 'apiKey'.","message":"Node v1.0.0 had a breaking credential schema; credentials from v0.x will not work.","severity":"deprecated","affected_versions":"=1.0.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run 'npm install n8n-nodes-routeros-middleware' from the n8n user directory (~/.n8n) and restart n8n.","cause":"npm install failed or node_modules not available in n8n's custom node path.","error":"Error: Cannot find module 'n8n-nodes-routeros-middleware'"},{"fix":"In n8n, ensure the node's credentials have both 'baseUrl' and 'apiKey' fields filled.","cause":"Credentials are missing or incorrectly configured.","error":"TypeError: Cannot read properties of undefined (reading 'baseUrl')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}