Network Management Manual
A practical guide to the agent that runs your network: how it reaches your equipment through its own tunnel, how to talk to it from the dashboard or WhatsApp, what it changes only with your authorisation, what it never does, and how to leave it scheduled reviews that run without you.
1What Network Management is
Network Management is not a dashboard that watches your network from the outside. It is an AI agent with a terminal inside: it opens SSH sessions against your routers, OLTs and servers, runs commands there and answers you with what it read. The agent is called NetAdmin out of the box and you can rename it.
Write to it in plain language, as you would write to a technician: "which customers are connected on the South Node router?", "customer Pérez has no browsing, check what is going on", "give me the signal of the ONUs on the downtown OLT". The agent decides which commands to run, runs them and answers with its conclusion.
| Action on your network | What the agent does |
|---|---|
Read (print, show, export, ping, monitor) | Freely. It asks no permission: it connects, queries whatever it needs and reports back. Waiting for approval on every read would be useless for both sides. |
| Change (adding a queue, creating a PPPoE secret, editing a rule) | Only with your explicit authorisation in that same conversation, command by command and device by device. See §5.2. |
| Restart, factory-reset, update firmware | Never, not even if you ask. If a restart is needed it tells you and you do it. |
| Touch the VPN tunnel or the WAN | Never. It is the only path by which it reaches your network; cutting it requires someone to go on site. |
| Its own workspace (notes, scripts, reports, its topology database) | Freely. It writes there without asking permission; none of that touches your equipment. |
The first time you open the module you must read and accept the risk notice. In short, it says the same as this manual: the agent runs commands on production equipment serving your customers, it acts with the credentials you give it, and what you ask of it is your decision. PlenoAgent delivers the tool, not a guarantee that a command is safe on your equipment.
Give it a read-only MikroTik user. Any command filter we put on the agent side can be evaded by writing a script; a user without write permission is rejected by the equipment itself. With read-only it still monitors, diagnoses and reports. Widen permissions the day you want it to apply changes.
2How the agent reaches your network
The agent does not run inside your ISP. It runs in a Debian container dedicated to your company, in the PlenoAgent cloud, and reaches your equipment through an OpenVPN tunnel that leaves from your edge router towards us. You open no ports and expose nothing to the internet: the connection is initiated by your router.
Inside the container the agent has python3 with paramiko and netmiko, ssh, ping, nmap, snmpwalk and curl. With that it reaches any equipment reachable from your edge router, not just MikroTik.
On your edge router, the OVPN interface, its routes and its rules carry a comment identifying them as PlenoAgent access. If you delete or renumber them, the agent and the platform are left with no path to your network and restoring it requires someone on site. The agent is instructed not to touch them and to warn you if a change you asked for would affect them.
3Getting started
The module Status tab brings a Setup guide that reads your real state: each step checks itself off, and if one goes back to pending, that is where the connection broke. Three steps to the first answer.
3.1Step 1 — the VPN and the container
All of this lives in Settings → VPN.
Press Configure VPN. The private environment and the credentials your router will connect to are prepared. It takes about a minute and consumes no credits.
If the agent shows as Inactive, press Configure Workspace: the tunnel may exist while the agent still has nowhere to run. It stays offline until it says Running.
Pick your RouterOS version (7.x or 6.x — you see it in Winbox, under System → Packages) and press Copy script. The script already carries your credentials; there is nothing to fill in.
Open your edge router terminal (Winbox → New Terminal) and paste the script.
Press Test VPN. The tunnel should say Connected and the router answer within seconds.
Reprovision VPN generates new credentials and IPs: the router stays disconnected until you paste the new script. It is not a "retry" button.
3.2Step 2 — the AI model
In Status, choose the model the agent thinks with. Without an assigned model the agent refuses to run, because there would be no way to bill that usage.
Next to each model you see its context window and its price in credits per million tokens. If you pick an expensive one, an amber notice appears with what a question would cost: a typical question in this module moves about 33,000 input tokens, because almost everything coming in is the output of the equipment the agent just read. That number, not the per-million price, is what decides how long your balance lasts.
The most economical models solve simple queries, but lose accuracy in diagnostics and configuration, and tend to retry — sometimes spending more credits than a capable one. On a live network, a misread is not a bad answer: it is a bad change.
Optionally choose a Transcription Model. It is only needed if you are going to send it voice notes over WhatsApp; without it, audio is ignored.
3.3Step 3 — the first question
Open the Chat tab and write to it. No phone needed: the dashboard chat is the agent. Start with something you can verify yourself — "which RouterOS version does the edge router have?", "list the interfaces of router X and tell me which are down" — and go from there.
4The two doors: dashboard and WhatsApp
The same agent is written to from two sides, and both are normal ways of working. It is the same container, the same tunnel, the same credentials, the same skills and the same memory: the only thing that changes is where you write and how files reach you.
| Dashboard chat | ||
|---|---|---|
| Where | Chat tab of the module, in the browser. | The phone, from wherever you are. |
| Requirements | None besides the configured module. | A dedicated WhatsApp line and your number on the allowlist. |
| Files | Arrive as a download link: any format works, including csv or json. | Arrive as an attachment inside the chat: PDFs and images open without leaving the conversation. |
| While it works | You see the name of each tool it uses and can stop it with a button. | You see the progress messages it keeps sending. |
| Conversation | Each door has its own history. What you told it on the phone is not in the dashboard chat, unless the agent wrote it down in its memory. | |
The agent knows which of the two it is answering on, so it will not tell you "open the attachment" while you are looking at the browser, nor "click the link" while you are on the phone. On both it answers in plain text: neither renders Markdown, which is why you will never see formatted tables or bold.
4.1The dashboard chat
There is one conversation per company, not one per user: Network Management is the console of whoever operates the network, and splitting it in two the day you sign in with another account would only give the agent two parallel memories of the same network. Whoever has the Use the agent chat permission sees and continues that conversation.
The stop button aborts the running task; the clear button wipes that chat history and starts from zero. A long task keeps running even if you close the tab: when you return you find it underway, with the writing box locked until it finishes.
4.2WhatsApp, whenever you want it
It is optional and added when it suits you. In Status, press Connect WhatsApp and scan the QR with the phone that will host the agent.
Do not connect your personal number. That phone stays paired with the platform and its WhatsApp becomes the agent channel.
The Allowlist decides who can talk to it: only those numbers get answers, the rest are ignored. Add them with country code and no symbols (for example 593987654321). If the list is empty, nobody can use the agent over WhatsApp.
Voice notes also work inside the chat, as long as you have chosen a transcription model.
5How to ask it for things
5.1Questions it solves well
Talk as you would talk to a technician who just arrived and does not know the network yet. The more specific the request, the fewer turns it takes — and the fewer credits it spends.
- "Which customers are connected right now on the South Node router (10.0.0.5)?"
- "Customer Pérez has no browsing. Check their PPPoE session and queue, and tell me what you found."
- "Give me the signal of the ONUs on OLT 10.0.0.20 and list only those below −26 dBm."
- "Compare CPU and memory usage of the three node routers and tell me which is worst."
- "Generate the network map and send it to me."
- "What changed in the edge router log in the last two hours?"
When something fails it, the agent interrogates the equipment itself (?, help, print) and consults the manufacturer documentation if you pass the URL. What it does not do is invent syntax: if it cannot solve it, it tells you the model, the version and what it could not determine.
5.2How it asks authorisation for a change
On your equipment, the agent default state is read-only. Any command that changes something — however small, routine or obviously correct it seems — needs your authorisation in that conversation.
In practice you will see a short line: "I'm going to add the 20M queue for customer X on the South Node RB — shall I apply it?". Four details worth knowing:
- Authorisation is specific and of the moment. A "fix whatever is needed" authorises nothing in particular. It holds for that command, on that device, in that conversation: it does not carry over to a second change or to the next day.
- It saves the previous value. Before modifying, it prints how things were, and includes it in the report. If it cannot show you how things were, it changes nothing.
- Blast radius. It touches only the customer, interface or rule you named. Things shared by many subscribers — parent queues, global firewall chains, the WAN, DNS, DHCP, routing protocols — stay out unless you name them explicitly.
- It verifies afterwards. It re-reads what it touched, confirms the effect and tells you how to revert it.
Restart, power off, factory-reset, upgrade or downgrade firmware, or wipe an entire configuration section. If a restart is really what is needed, it tells you and you run it.
Nor does it sell you the change: its job is to diagnose and explain. If it reports a problem and you do not answer the question, that is an answer too.
6Chat commands
They are typed the same on both doors. They answer instantly, spend no credits and work even while the agent is running a task.
| Command | What it does |
|---|---|
/new | Wipes that chat history and starts a clean session. Use it when the agent gets lost or the context grew too long. |
/stop | Aborts the running task. It is the only way to interrupt a long job without waiting for it to finish. |
/usage | Context used, history length, credit balance and module spend. Check it if a chat starts getting expensive. |
/help | Lists these commands in the chat. |
Typing a new message while the agent works also cancels the previous task: the new run continues from what it already managed to do, not from zero.
7Automations
An automation is an instruction that runs by itself on the schedule you set. It is executed by a fresh agent instance, with no history: it does not remember the conversation in which you created it.
With no history, the text has to stand alone: IPs, node names, thresholds and what counts as reportable. "Check the node" does not work; "Check the OSPF state of Red-Node-01 (10.0.0.5) and report only if a neighbour is down" does.
7.1Creating them
You can ask the agent in chat ("tell me every Monday at 8 if the main router CPU passes 80%") or build it by hand in the Automations tab with New Automation. In the form you choose:
| Field | What it defines |
|---|---|
| Schedule Type | Interval repeats every so often; Cron runs at clock times (daily, weekly, monthly or a custom expression); One Time runs once and pauses itself. |
| Timezone | For cron and one-time, the zone that time is read in — so that 8 o'clock is 8 o'clock where you are. |
| Report Destination | Dashboard chat, A WhatsApp chat (naming the chat) or No report. |
There is a minimum of 10 minutes between runs and a cap on automations depending on your plan. Each run spends credits like any question.
7.2Where you will read the report
The report arrives at the destination you chose. Choose it by where you will be when it runs, not by where you created it.
The Dashboard chat report appears live in the Chat tab: handy for reviews you watch during the day, but if nobody has that tab open at that moment, the report is not saved. For anything that must find you wherever you are — a link down at dawn, an ONU that went dark — send the report to WhatsApp.
7.3Unattended runs are read-only
When the automation fires there is nobody on the other side, so nobody can authorise anything: the agent changes nothing on that run, not even what seems obvious. If equipment does not answer or a command fails, it retries a couple of times and reports what it tried, what failed and what it suspects. That report is the result; it does not escalate to restarting anything.
That is why the recommendation for anything running alone is read-only: review, measure and notify, and you make the decision to touch anything.
8Topology
The Topology tab shows the network the agent knows: the sites, each site equipment and the links between them, as recorded in its own database, inside its container.
It fills up by talking to it: ask it in chat to add a site, equipment or a link, or to log what it just discovered by scanning. There is no manual entry on this screen — what you see mirrors what the agent wrote down.
| Element | What it means |
|---|---|
| Card | A site. Inside, one row per device; the main one heads the list. |
| Curve between cards | A link between sites, coloured by medium: fibre, wireless, ethernet or tunnel. |
| Cloud | Internet or the WAN. |
You can drag sites to arrange the diagram; the layout is saved. Reset layout returns to automatic arrangement and Reset zoom reframes. Clicking a site opens its equipment and internal links.
The diagram mirrors the recorded structure, not whether equipment is up right now. For that, ask it for a ping or an SSH check. And if the agent container is stopped, this tab cannot read its database: start it from Status.
9Audit: chats and actions
Everything the agent did is recorded in two different places, serving two different questions.
9.1Chats
Lists the agent conversations — WhatsApp ones and the dashboard one too. Opening one shows the conversation on the left and, selecting any turn or any tool, the detail on the right: the exact arguments it was called with and the raw output the equipment returned. That is where you verify which command ran and what the router answered.
9.2Action History
Records what the agent did inside PlenoAgent through the API: creating a customer, blocking a subscription, registering an OLT. Each row carries the action, the identifier, who fired it, the duration and whether it went well; clicking opens the detail with the error, if any. It answers "did the AI do this or did someone?" in one place.
10Agent configuration
10.1Behaviour
| Setting | What it controls |
|---|---|
| Message Delay | Groups consecutive messages before processing them, so three lines in a row are one run and not three. Lowering it below the minimum makes each message start its own run — and spend credits separately. |
| Message History | How many previous messages it remembers in each chat. At 0 it remembers nothing of the conversation. |
| Tool Call History | How many previous tool calls and their results it drags along. High values give more context and cost more credits, because that output travels again on every question. |
10.2Agent permissions
Defines what the agent can do through the PlenoAgent API: create customers, block subscriptions, register an OLT, create automations. Everything starts off and is switched on one by one; the change saves instantly. Reading data is always allowed and always limited to your company.
This is what the agent can do in PlenoAgent. What it can do on your equipment is decided by the user you gave it on the router — hence the read-only recommendation in §1.
10.3Instructions, memory and skills
The agent ships with its identity, its operating rules and a skill set per equipment family (MikroTik, V-SOL and Huawei OLTs, Ubiquiti, topology, automations). The platform keeps those pieces up to date; there is nothing to touch.
What is yours:
- Custom instructions — the editable box where you write what is particular to your network: naming conventions, which node is priority, how you want reports. It saves with the save button and enters every conversation.
- Memory — read-only from the dashboard: the agent writes it. There it notes credentials that worked, recurring failures, your instructions that must persist, and milestones. It is the only thing remembered between conversations, and it is what both doors share.
- Skills — the list of guides it can load when the task calls for it. The agent also improves them on its own when it learns something new from your equipment.
11Credits and quick diagnostics
11.1Where credits go
Each question to the agent spends credits, and most of what it pays for is not your text but the output of the equipment it read to answer. Four things move the bill:
- The chosen model, and not for its per-million price but for the cost of a full question.
- History length: previous messages and tool calls travel again on every turn.
- How specific the question is: a vague request translates into more reads.
- Automations: each run is a question, even if it reports nothing.
Type /usage in chat to see the balance, the module spend and how much context the current conversation is using. If it keeps growing, /new starts clean.
11.2Quick diagnostics
- The agent answers nothing
- Check the setup Guide in Status. Usual causes: the container is stopped, the tunnel is down, no model assigned, or the credit balance ran out.
- It says it cannot reach equipment
- Test the tunnel in Settings → VPN with Test VPN. If the edge answers and the equipment does not, the problem is between your router and that equipment, not in PlenoAgent.
- It does not answer over WhatsApp
- Your number must be on the allowlist, with country code and no symbols. Also verify the session says Connected: if the phone disconnected, the QR must be scanned again.
- It asks authorisation for even the simplest thing
- That is expected: any write on your equipment needs your explicit yes. Reads never ask for it.
- It got stuck working too long
/stop, or the stop button on the dashboard. What it already did is kept and the next question continues from there.- It does not remember what I told it last week
- Each chat history is capped on purpose. If something must persist, ask it to write it down in its memory; that does survive and both doors see it.
- The answer comes with asterisks and dashes
- The chat shows plain text. If the model writes Markdown, you will see the symbols as-is; ask it to answer without formatting.
- An automation report never arrived
- Open the automation and look at its destination. If it is the dashboard chat, the report is only seen live; to always be found, send it to WhatsApp.
- The Topology tab looks empty
- The agent has not logged anything yet, or its container is stopped. Ask it in chat to log the sites and equipment it already knows.