your next employee already knows everything
i talk to one agent and it talks to all my self-hosted tools. then i built a full agentic ai workforce for a client on erpnext. the shift is not that ai writes code. it is that clear instructions build real systems now.
something changed in how i use my tools and i did not notice until i looked back at the last six months.
i run three self-hosted tools. firefly iii handles my personal finances, think budgets and recurring bills. vikunja handles my tasks and projects, like todoist but i own the data. erpnext runs business operations for a client: accounting, invoicing, inventory, sales. every one of these tools has its own login and its own logic.
i used to be the glue. i was the one connecting what the finance app said about cash flow to what the erp said about invoices.
that is not how it works anymore. now i talk to an agent and it talks to all of them.
then i built the same thing for a client. except it is not one agent. it is an entire workforce.
the real shift: from coding to instructing
everyone is focused on whether ai can write code. that is the wrong question.
the real shift is that anyone who can describe what they want clearly can now build their own tools. not toy demos. real tools that talk to real apis and run in production.
if you self-host your infrastructure, you already have the apis. your finance app has one. your erp has one. your server has ssh. you do not need to be a developer to wire these together anymore. you need to know what you want and write clear instructions.
we are all app developers now. we just do not know it yet.
firefly iii: self-hosted finance on autopilot
i used to do this manually. log into my finance tracker, review transactions, categorize the ones the rules missed, check if any recurring bill got skipped. pull a monthly summary, paste it somewhere i would look at it. most months i would not even finish.
now the agent does it. every morning it hits the firefly api, pulls yesterday's transactions, flags anything uncategorized or unusual. amount spikes, new payees, duplicate charges. it compares current spending to the monthly budget. if something is off, it tells me in plain language.
"you spent 340 on groceries this week. that is 60% of your monthly grocery budget and it is only the 12th."
end of month: it generates a full financial summary. categories, totals, comparisons to last month. i did not build a dashboard for this. i described what i wanted and the agent pulls from the api and formats it.
the honest part: it gets categorization wrong about 5% of the time. but so did i at 11pm. the difference is the agent does it every day without being asked.
vikunja: agentic ai as project manager
i keep all my tasks and projects in vikunja, a self-hosted tool. the old way: open it, scan through tasks, reprioritize, create subtasks when something got bigger than expected, review what is overdue. half the time i would close the tab and promise myself i would get to it later.
now i tell the agent what i am working on this week. it reads my boards via the api, checks what is overdue and what has been sitting with no due date for weeks. it builds a daily priority list based on what matters, not what i added most recently.
when i finish something and describe what came up while doing it, the agent creates follow-up tasks. correctly tagged, correctly assigned to the right project. i do not context-switch into the ui for task housekeeping. the agent does it.
the honest part: it creates duplicate tasks when my description is vague. the fix is not better ai. the fix is me being more specific. which brings up the bigger point.
erpnext: building a full agentic workforce for a client
everything above is personal. one person, a few tools, one agent connecting them. but the real test is whether this scales to a business.
i run erpnext in production for a client. erpnext is an open-source erp system covering accounting, invoicing, inventory, procurement, sales, and hr. the kind of system that normally needs a team just to keep the data clean and the reports flowing.
instead of hiring that team, we built an agentic one. not one chatbot pretending to be everything. a structured workforce where each agent has a role, scoped api access, and a department it owns.
this is what the org chart looks like:
yusuf (operator)
|
+-- sarah CEO PA, executive support, daily briefings
|
+-- daniel COO / chief of staff, coordinates all department agents
| |
| +-- marcus ERPNext development, custom apps, business logic
| +-- kevin finance, accounts, reconciliation, payment tracking
| +-- rachel sales, CRM, customer pipeline, quotations
| +-- jessica receiving, warehouse, quality control
| +-- victor fleet management, deliveries, logistics
| +-- arjun IT, DevOps, server infrastructure
|
+-- r00tkit infrastructure, security, server fleet, agent oversight
every one of these agents talks to erpnext through its api. each has its own erpnext user with permissions scoped to its department. kevin can see the general ledger but cannot touch inventory. jessica can receive stock but cannot approve purchase orders. the boundaries are real, not suggestions.
here is what this looks like in practice:
marcus builds custom erpnext apps and reports on demand. the client needs a report cross-referencing sales orders with delivery timelines? marcus writes it in minutes. custom doctypes, server scripts, print formats. work that used to require a dedicated erpnext developer on payroll.
kevin runs daily financial checks. pulls the trial balance, compares it to the previous period, flags discrepancies, generates aging reports. he found a duplicate journal entry that had been sitting for three weeks. a human would have caught it during reconciliation eventually. kevin caught it on a tuesday morning because that is his routine.
rachel manages the sales pipeline. tracks which quotations are about to expire and which customers have gone quiet. she generates weekly pipeline reports without being asked.
jessica handles receiving. when stock arrives, she verifies quantities against purchase orders and flags quality issues. warehouse data in erpnext stays clean because she checks it every time.
victor manages fleet and deliveries. routes, schedules, fuel tracking. logistics data that used to live in someone's head or a spreadsheet now lives in erpnext and gets checked daily.
daniel coordinates across departments. a new supplier needs onboarding? that touches procurement (rachel), receiving (jessica), and finance (kevin). daniel makes sure all three handle their part.
sarah briefs the ceo every morning. what happened yesterday, what needs a decision today. she pulls from every department and summarizes.
| request type | routed to |
|---|---|
| multi-department business task | daniel |
| ceo schedule, briefing, messages | sarah |
| erpnext coding, custom apps, reports | marcus |
| server, security, infrastructure | r00tkit |
| finance, payments, reconciliation | kevin |
| sales, crm, quotations, pipeline | rachel |
| receiving, warehouse, quality control | jessica |
| delivery, fleet, logistics | victor |
| it, devops, erpnext system issues | arjun |
the honest part: this did not work on day one. the first version had agents stepping on each other. kevin and rachel both tried to handle procurement. jessica and victor overlapped on delivery receiving. fixing it meant writing clearer boundaries in the instruction files. not retraining anything. just being more precise about who owns what. once the boundaries were clear, it ran.
if you want to see what the communication layer behind this looks like, i wrote about that in an ai ops team that lives in telegram. and for the erpnext-specific integration, meet erpnext copilot.
the api is the product now. agentic ai is the ui.
this is the part i want people to sit with for a minute.
every self-hosted tool you run has an api. every api is a capability your agent can use. you are not locked into whatever the app developer built into the ui. you have the raw data and the raw endpoints.
the finance tracker's ui does not have the exact report format i want. the api gives me the data and the agent formats it however i describe.
the task manager has no "intelligent triage" feature. the api gives me the task list and the agent applies whatever triage logic i describe.
erpnext's built-in reports do not cross-reference the specific things the client cares about. marcus reads multiple endpoints, connects the dots, or builds a custom report from scratch.
the ui used to be the whole product. buttons, menus, forms. if the feature did not exist, you filed a request and waited. or you switched tools.
that ceiling is gone. the api is the product. the agent is the ui.
instructing beats training: the agentic ai difference
this changes the "hire an employee vs use ai" conversation.
when you hire a new employee, you spend weeks training them. you explain how your systems work, show them where things are, correct mistakes, answer the same questions multiple times. you build their knowledge from zero. after months of this, if you are lucky, they are productive.
an agentic ai employee is different in one fundamental way. it already knows everything.
it already knows what erpnext is, how accounting works, what a trial balance should look like, how to read an api. marcus already knows how to write a custom doctype. kevin knows how to reconcile accounts. rachel knows what a sales pipeline should look like.
you do not need to teach them. you need to instruct them.
that is a different problem. teaching takes months. instructing takes hours. the instructions are reusable, versionable, and live in a file you iterate on like code.
a claude.md file is a job description that works. an employee handbook the employee reads every time, without skimming.
when kevin miscategorizes a transaction, i do not retrain him. i update his instruction file. "transactions from paypal with a description containing 'namecheap' should be categorized as 'infrastructure > domains', not 'software'." done. he never gets that wrong again.
try getting a human employee to have that retention rate.
the hard part: knowing what you want
the hard part is not the ai. the hard part is knowing what you want.
most people cannot clearly describe their own workflows. they do things by habit, by muscle memory. try writing down "i just know where to click" as a set of instructions for someone who has never seen your screen. it is difficult.
but that is the skill that matters now. the people who can describe what they want, step by step, with edge cases handled, get the most out of agentic ai. not coders. clear thinkers who write well.
that is the real democratization. not "anyone can code now." anyone who can write clear instructions can build tools that talk to real apis and handle real data.
the vibe coding post i wrote a few weeks ago was about the same shift from the engineering side. this post is the same shift from the operator side. the friction is collapsing everywhere.
where self-hosted agentic ai is going
the personal setup and the client deployment are converging. i am building toward a single system where the agent handles finances through firefly, tasks through vikunja, and business operations through erpnext. not separate bots. one system that understands the relationships between all of them.
picture this conversation:
"your erpnext invoice from client x is overdue by 14 days. i checked firefly and the payment has not arrived. i created a follow-up task in vikunja to send a reminder. do you want me to draft the email?"
that is not science fiction. every piece of it is a straightforward api call. the interesting part is the orchestration. and orchestration is just well-written instructions.
the client deployment proves this works at business scale. nine agents, each with clear responsibilities, talking to the same erp through scoped api access. no dashboards refreshed. just agents doing work.
if you self-host your stack and have not pointed an agent at your apis yet, you are leaving the best part of your infrastructure unused.
the tools are ready. the apis are ready. the bottleneck is whether you can describe what you want.
— d.